Jak korzystać ze stron podręcznika man, aby dowiedzieć się, jak używać poleceń?

92

Podczas badania innego problemu natrafiłem na polecenie ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

o którym chciałem dowiedzieć się więcej. Uruchomiłem więc man xargsi otrzymałem następujące dane wyjściowe:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

Staram się lepiej korzystać z dokumentacji, aby dowiedzieć się o programach Linux, ale ta sekcja „Streszczenie” jest zastraszająca dla nowych użytkowników. To dosłownie wygląda jak bełkot w porównaniu do man locatelub man free.

Jak dotąd rozumiem, że nawiasy kwadratowe oznaczają opcjonalne, a nawiasy zagnieżdżone oznaczają opcje opcjonalne. Ale jak mam za pomocą tego wydać prawidłowe polecenie?

Nie proszę o pomoc w Xargs tutaj. Szukam pomocy w interpretacji strony podręcznika, aby zrozumieć skomplikowane polecenia. Chcę przestać tworzyć indeksowane przez Google blogi internetowe i osobistą pomoc innych osób jako moje pierwsze podejście do nauki poleceń systemu Linux.

użytkownik1717828
źródło
17
Kontynuuj czytanie strony podręcznika. Sekcja „OPCJE” wyjaśnia wszystkie opcje dostępne w sekcji „SKŁADNIA”.
Jan
7
zacznij odman man
mikeserv
14
Najczęściej idź bezpośrednio na dół i poszukaj sekcji przykładów.
teppic
9
I nie tylko skanuj stronę podręcznika w poszukiwaniu słów kluczowych. Naprawdę to przeczytaj! Przypuszczalne dziwne zachowania są często dobrze wyjaśnione.
FloHimself
6
po man manprzeczytaniu man intro.
mikeserv

Odpowiedzi:

102

Cóż, to mój bardzo osobisty sposób na czytanie stron podręcznika:

Manpager

Po otwarciu manpage pomocą manpolecenia zostaną wyświetlone dane wyjściowe / wydanego przez lesslub morepoleceń, lub jakiejkolwiek innej komendy, która zostanie ustawiony jako pager (MANPAGER).

Jeśli używasz Linuksa, zapewne masz zapewnioną infrastrukturę man już skonfigurowaną do używania /usr/bin/less -is(chyba że zainstalowałeś jakieś minimalne dystrybucje) jako man(1), wyjaśnij to w sekcji Opcje:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

W FreeBSD i OpenBSD jest to tylko kwestia edycji MANPAGERzmiennej środowiskowej, ponieważ będą one najczęściej używane more, a niektóre funkcje, takie jak wyszukiwanie i podświetlanie tekstu, mogą być niedostępne.

Jest to dobra odpowiedź na pytanie, jakie różnice more, lessa mostnie tutaj (nie używany most). Możliwość przewijania do tyłu i przewijania do przodu strona po stronie Spacelub w obie strony linia za pomocą lub (także przy użyciu vipowiązań ji k) jest niezbędna podczas przeglądania stron podręcznika. Naciśnij hpodczas używania, lessaby wyświetlić podsumowanie dostępnych poleceń.

I dlatego sugeruję, abyś używał go lessjako swojego pagera. lessmieć kilka podstawowych funkcji, które będą używane podczas tej odpowiedzi.

Jak sformatowane jest polecenie?

Konwencje narzędziowe : specyfikacja grupy bazowej Open Group Issue 7 - IEEE Std 1003.1, 2013 Edition. Powinieneś odwiedzić ten link, zanim spróbujesz zrozumieć stronę podręcznika. To internetowe odniesienie opisuje składnię argumentów standardowych narzędzi i wprowadza terminologię używaną w POSIX.1-2017 do opisywania argumentów przetwarzanych przez narzędzia. Spowoduje to również pośrednie poinformowanie Cię o prawdziwym znaczeniu słów takich jak parametry, argumenty, opcja argumentów ...

Po zrozumieniu zapisów konwencji narzędziowych głowa dowolnej strony będzie wyglądać mniej tajemniczo:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

Pamiętaj o tym, co chcesz zrobić.

Kiedy robiłeś swoje badania na swój temat xargs, zrobiłeś to celowo, prawda? Miałeś specyficzną potrzebę czytania standardowego wyjścia i wykonywania poleceń na podstawie tego wyjścia.

Ale kiedy nie wiem, które polecenie chcę?

Użyj man -klub apropos(są równoważne). Jeśli nie wiem jak znaleźć plik: man -k file | grep search. Przeczytaj opisy i znajdź taki, który będzie lepiej pasował do twoich potrzeb. Przykład:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos domyślnie działa z wyrażeniami regularnymi ( man aproposprzeczytaj opis i dowiedz się, co -rdziała), aw tym przykładzie szukam każdej strony podręcznej, w której opis zaczyna się od „raport”.

Aby wyszukać informacje związane z odczytywaniem standardowego przetwarzania danych wejściowych / wyjściowych i osiąganiem xargsjako możliwej opcji:

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

Zawsze czytaj DESCRIPTIONprzed rozpoczęciem

Nie spiesz się i przeczytaj opis. Po przeczytaniu opisu xargspolecenia dowiemy się, że:

  • xargsczyta ze STDIN i wykonuje potrzebne polecenie. Oznacza to również, że będziesz musiał mieć trochę wiedzy na temat działania standardowego wejścia i manipulowania nim za pomocą potoków w celu łączenia poleceń
  • Domyślnym zachowaniem jest takie zachowanie /bin/echo. Daje to małą wskazówkę, że jeśli chcesz połączyć więcej niż jedną xargs, nie musisz używać echa do drukowania.
  • Dowiedzieliśmy się również, że nazwy plików unix mogą zawierać puste i nowe wiersze, że może to stanowić problem, a argument -0jest sposobem zapobiegania eksplozji za pomocą separatorów znaków o wartości zerowej. Opis ostrzega, że ​​polecenie użyte jako dane wejściowe również musi obsługiwać tę funkcję i że GNU findją obsługuje. Wspaniały. Używamy dużo find z xargs.
  • xargs zatrzyma się po osiągnięciu stanu wyjścia 255.

Niektóre opisy są bardzo krótkie i to na ogół dlatego, że oprogramowanie działa w bardzo prosty sposób. Nawet nie myśl o pominięciu tej części strony ;)

Inne rzeczy, na które należy zwrócić uwagę ...

Wiesz, że możesz wyszukiwać pliki za pomocą find. Istnieje mnóstwo opcji i jeśli tylko spojrzysz na SYNOPSIS, zostaniesz nimi przytłoczony. To tylko wierzchołek góry lodowej. Z wyłączeniem NAME, SYNOPSISi DESCRIPTION, będziesz mieć następujące sekcje:

  • AUTHORS: ludzie, którzy utworzyli polecenie lub pomogli w jego utworzeniu.

  • BUGS: wyświetla wszelkie znane wady. Mogą to być jedynie ograniczenia implementacyjne.

  • ENVIRONMENT: Aspekty powłoki, na które może mieć wpływ polecenie, lub zmienne, które zostaną użyte.

  • EXAMPLESlub NOTES: Wyjaśniający.

  • REPORTING BUGS: Z kim będziesz musiał się skontaktować, jeśli znajdziesz błędy w tym narzędziu lub w jego dokumentacji.

  • COPYRIGHT: Osoba, która utworzyła i zrzeka się o oprogramowaniu. Wszystko związane z licencją samego oprogramowania.

  • SEE ALSO: Inne polecenia, narzędzia lub aspekty robocze związane z tym poleceniem i nie mieszczące się w żadnej z pozostałych sekcji.

Najprawdopodobniej znajdziesz interesujące informacje na temat aspektów narzędzia w sekcji przykładów / notatek.

Przykład

W poniższych krokach wezmę findjako przykład, ponieważ jego pojęcia są „prostsze” niż xargswyjaśnienie (jedno polecenie znajduje pliki, a drugie dotyczy standardowego i potokowego wykonywania innych danych wyjściowych polecenia). Udawajmy, że nie wiemy nic (lub bardzo mało) o tym poleceniu.

Mam konkretny problem: muszę szukać każdego pliku z .jpgrozszerzeniem i 500KiB (KiB = 1024 bajty, potocznie zwany kibibajtem) lub więcej w folderze serwera ftp.

Najpierw otwórz instrukcję: man find. SYNOPSISJest szczupły. Poszukajmy rzeczy w podręczniku: Wpisz /plus żądane słowo ( size). Zindeksuje wiele wpisów -size, które policzą określone rozmiary. Utknąć. Nie wiem, jak wyszukiwać za pomocą „więcej niż” lub „mniej niż” danego rozmiaru, a mężczyzna mi tego nie pokazuje.

Spróbujmy i poszukaj następnego wpisu znalezionego przez uderzenie n. DOBRZE. Znalazłem coś wartego uwagi: find \( -size +100M -fprintf /root/big.txt %-10s %p\n \). Być może ten przykład pokazuje nam, że dzięki -size +100Mniemu znajdziesz pliki o rozmiarze 100 MB lub większym. Jak mogę potwierdzić? Podchodzenie do głowy strony i szukanie innych słów.

Ponownie spróbujmy tego słowa greater. Naciśnięcie gzaprowadzi nas do głowy strony. /greater, a pierwszy wpis to:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

Brzmi wspaniale. Wygląda na to, że ten blok instrukcji potwierdził nasze podejrzenia. Dotyczy to jednak nie tylko rozmiarów plików. Odnosi się to do wszystkich, nktóre można znaleźć na tej stronie (jak powiedziano: „Argumenty liczbowe można określić jako”).

Dobry. Pozwól nam znaleźć sposób, aby filtrować według nazwy: g /insensitive. Dlaczego? Niewrażliwy? Wtf? Mamy hipotetyczny serwer FTP, gdzie ludzie „że inne OS” może dać nazwę pliku z rozszerzeniem jak .jpg, .JPG, .JpG. Doprowadzi nas to do:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

Jednak po wyszukaniu lnamezobaczysz, że będzie to tylko wyszukiwanie dowiązań symbolicznych. Chcemy prawdziwych plików. Następny wpis:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the shell will expand any wildcard characters in them.

Wspaniały. Nie muszę nawet czytać, -nameżeby zobaczyć, że -inamejest to wersja tego argumentu bez rozróżniania wielkości liter. Złóżmy polecenie:

Komenda: find /ftp/dir/ -size +500k -iname "*.jpg"

Co jest tutaj dorozumiane: Wiedza, że ​​symbol wieloznaczny ?reprezentuje „dowolny znak w jednej pozycji” i *reprezentuje „zero lub więcej dowolnych znaków”. Ten -nameparametr daje podsumowanie tej wiedzy.

Wskazówki dotyczące wszystkich poleceń

Niektóre opcje, mnemoniki i „styl składni” poruszają się po wszystkich poleceniach, przez co kupujesz trochę czasu, nie otwierając wcale strony podręcznika. Poznaje się je poprzez praktykę, a najczęściej są to:

  • Zasadniczo -voznacza pełny. -vvvjest odmianą „bardzo bardzo gadatliwą” w niektórych programach.
  • Zgodnie ze standardem POSIX można na ogół zestawiać jeden argument myślnika. Przykład: tar -xzvf, cp -Rv.
  • Ogólnie -Ri / lub -roznacza rekurencyjne.
  • Prawie wszystkie polecenia mają krótką pomoc dotyczącą tej --helpopcji.
  • --version pokazuje wersję oprogramowania.
  • -p, narzędzia do kopiowania lub przenoszenia oznaczają „zachowaj uprawnienia”.
  • -y oznacza TAK lub w większości przypadków „kontynuuj bez potwierdzenia”.

Pamiętaj, że powyższe nie zawsze są prawdziwe. Na przykład -rprzełącznik może oznaczać bardzo różne rzeczy dla różnych programów. Zawsze dobrze jest sprawdzić i upewnić się, kiedy polecenie może być niebezpieczne, ale są to typowe wartości domyślne.

Domyślne wartości poleceń.

Na stronie tej odpowiedzi zobaczyliśmy, że less -isjest to pager man. Domyślne zachowanie poleceń nie zawsze jest wyświetlane w oddzielnej sekcji na stronach podręcznika lub w sekcji, która jest najwyżej umieszczona.

Będziesz musiał przeczytać opcje, aby dowiedzieć się o ustawieniach domyślnych, lub jeśli masz szczęście, pisanie /pagerdoprowadzi cię do tych informacji. Wymaga to również znajomości koncepcji pagera (oprogramowania przewijającego stronę podręcznika), a to jest rzecz, którą uzyskasz dopiero po przeczytaniu wielu stron podręcznika.

Dlaczego to takie ważne? Otworzy to twoją percepcję, jeśli zauważysz różnice w przewijaniu i zachowaniu kolorów podczas czytania man(1)na przykład w systemie Linux ( less -ispager) lub FreeBSD man(1).

A co ze SYNOPSISskładnią?

Po uzyskaniu wszystkich informacji potrzebnych do wykonania polecenia możesz połączyć opcje, argumenty opcji i operandy, aby wykonać zadanie. Przegląd pojęć:

  • Opcje to przełączniki, które określają zachowanie polecenia. „ Rób to ”, „ nie rób tego ” lub „ postępuj w ten sposób ”. Często nazywane przełącznikami.
  • Argumenty opcji są używane w większości przypadków, gdy opcja nie jest binarna (włączona / wyłączona), np. Podczas -tmontowania, która określa typ systemu plików ( -t iso9660, -t ext2). „ Zrób to z zamkniętymi oczami ” lub „ nakarm zwierzęta, ale tylko lwy ”. Zwane także argumentami.
  • Operandy to rzeczy, od których chcesz, aby to polecenie działało. Jeśli używasz cat file.txt, operand jest plikiem w twoim bieżącym katalogu, a jego zawartość zostanie pokazana na STDOUT. lsto polecenie, w którym operand jest opcjonalny. Trzy kropki po operandzie domyślnie informują, że catmożesz działać na wielu operandach (plikach) jednocześnie. Możesz zauważyć, że niektóre polecenia ustawiły typ operandu, który będzie używany. Przykład:cat [OPTION] [FILE]...

Powiązane rzeczy z streszczenia:

Kiedy ta metoda nie zadziała?

  • Strony, które nie mają przykładów
  • Strony, na których opcje mają krótkie wyjaśnienie
  • Podczas korzystania z ogólnych słów kluczowych takich jak and, to, forwewnątrz manpages
  • Strony, które nie są zainstalowane. Wydaje się to oczywiste, ale jeśli nie masz lftp(i stron podręcznika) zainstalowanych, nie możesz wiedzieć, że jest to odpowiednia opcja dla bardziej wyrafinowanego klienta ftp poprzez uruchomienieman -k ftp

W niektórych przypadkach przykłady będą dość proste i będziesz musiał wykonać kilka poleceń, aby przetestować lub, w najgorszym przypadku, Google go.

Inne: Języki programowania i jego moduły:

Jeśli programujesz lub tworzysz skrypty, pamiętaj, że niektóre języki mają własne systemy stron, takie jak perl( perldocs), python ( pydocs) itp., Przechowujące określone informacje o metodach / funkcjach, zmiennych, zachowaniu i inne ważne informacje o module próbujesz używać i uczyć się. Przydało mi się to, gdy tworzyłem skrypt do pobierania nieprzeczytanych wiadomości e-mail IMAP za pomocą perl Mail::IMAPClientmodułu.

Będziesz musiał dowiedzieć się o tych konkretnych stronach, korzystając z man -kwyszukiwarki online. Przykłady:

[root@host ~]# man -k doc | grep perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... mnóstwo innych rzeczy tutaj, z sekcjami jak zwykła strona podręcznika ...

Z pythonem:

[root@host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

Lub funkcja help()wewnątrz powłoki Pythona, jeśli chcesz przeczytać więcej szczegółów na temat jakiegoś obiektu:

nwildner@host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Bonus:wtf komenda może pomóc w akronimów i działa jak whatisgdyby nie skrótem na jego bazie znajduje się, ale to, co szukasz jest częścią bazy danych człowieka. W Debianie to polecenie jest częścią bsdgamespakietu. Przykłady:

nwildner@host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@host:~$ wtf afaik
AFAIK: as far as I know
nwildner@host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager

źródło
Możesz też zrobić man find | grep .... Lubięman command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv
6
Tak. Możesz. Po prostu zakładałem, że operator jest „noob” i próbuję zacząć od
3
Ta odpowiedź musi być najlepszym wynikiem dla „Jak skutecznie korzystać man?” Dziękuję i dobrze zrobione.
user1717828,
8
@ nwildner, zasługujesz na słodycze po tak wielkiej i dobrze sformułowanej odpowiedzi. Dobra robota!
Willian Paixao
6
Myślę, że należy to dodać do Linuksa. manOczywiście jako strona.
myaut
38

Jest to całkiem ładnie wyjaśnione w man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

Jeśli chodzi o to, jak masz napisać prawidłowe polecenie, cóż, nie jesteś. Streszczenie jest przydatne, gdy wiesz, jak działa polecenie. Pomoże Ci odświeżyć pamięć. Aby zrozumieć, jak działa polecenie, powinieneś przeczytać stronę podręcznika. Szczególnie opisy opcji i sekcja przykładów.

Czasami streszczenie wystarczy. Na przykład w man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

Innym razem jest to bezużyteczne, chyba że wiesz już, jak korzystać z danego polecenia. Na przykład man dd:

   dd [OPERAND]...
   dd OPTION

Podsumowując, nie martw się, jeśli nie otrzymasz streszczenia. To normalne. Przeczytaj stronę podręcznika.

terdon
źródło
Dziękuję za radę, zwłaszcza akapit „Co do tego, jak ...”.
user1717828,
21

Kilka podstaw zrozumienia streszczenia

  • każdy [foo]reprezentuje opcjonalny argument lub parametr.
  • kiedy [foo [ bar ] ]używana jest składnia, możesz użyć foo i możesz dodać pasek.
  • parametr opcji obowiązkowej jest używany w ten sposób [ -S size ], co oznacza, że ​​argument -S czeka na wymagany rozmiar.

Na przykład : foo [-S size ] filename ...

znaczy

  • polecenie jest foo
  • opcjonalny parametr -Smoże być użyty, musisz powiedzieć size(nazwa daje podpowiedź)
  • obowiązkowym argumentem jest filename(daje to podpowiedź, patrz man mkdir)
  • elipsis ...mówi, że możesz użyć wielu plików.

Nadal musisz zagłębić się w stronę podręcznika, aby zrozumieć opcję (w moim przykładzie powyżej, o czym -S sizejest)

Archemar
źródło
14

manstrony są zwykle wyświetlane w lessdzisiejszych czasach. Dzięki temu można je przeszukiwać. Nie zawracałbym sobie głowy streszczeniem, szczególnie nie dlatego, że masz określoną linię poleceń, którą chcesz zrozumieć.

Naciśnij /i zacznij pisać, -Ia następnie Enter. Pierwsze trafienie będzie w streszczeniu, drugie (użyj ndo następnego) zawiera szczegółowe wyjaśnienie -I.

Anthon
źródło
11

Jedną kluczową rzeczą do zapamiętania jest to, że nie można spojrzeć na instrukcję tylko dla jednego polecenia, w przypadku poleceń wykonujących inne polecenia.

Dla twojego przykładowego polecenia

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

Potrzebujesz informacji nie tylko, xargsale także bashi [(może to być na stronie testpodręcznika). Możesz także potrzebować informacji o powłoce (prawdopodobnie również bash) do reguł cytowania, ponieważ twoje polecenie zawiera złożony ciąg cytowany. Mogę już powiedzieć, że cytowany argument jest nieprawidłowy (i błędny w sposób, który pojawi się tylko wtedy, gdy napotkasz plik ze spacjami w nazwie); "{}"prawdopodobnie powinno być wewnętrzne '{}'.

Najpierw powinieneś odnieść się do strony xargs i przekonać się, [-I replace-str]co to -I {}znaczy, a [command [initial-arguments]]po co bashi wszystko po nim. Następnie odnieś się do strony bashpodręcznika dla tego -c, co robi itp.

Losowo 832
źródło
6

Dodając do wspaniałych odpowiedzi, które już zostały podane:

1) Jeśli interesuje Cię narzędzie GNU, szczególnie takie jak, seda grepczasem użycie infopolecenia spowoduje wyświetlenie znacznie rozszerzonej wersji informacji o poleceniu. sed, na przykład zawiera szczegółową sekcję dotyczącą pisania wyrażeń regularnych oraz inną sekcję z kilkoma bardzo złożonymi przykładami użycia.

2) To „instrukcja”. Podręcznik ma przede wszystkim pomóc ci zapamiętać szczegóły czegoś, co już rozumiesz. Jest zaprojektowany tak, abyś mógł szybko uzyskać potrzebne informacje i wyjść. (I zbyt wiele nie ma przykładów użycia lub tylko trywialne.)

Kiedy muszę nauczyć się czegoś nowego, nawet niewielki cechę komendy, która nie jest dla mnie jasne, idę do sieci i szukać przy użyciu najlepszych słów kluczowych mogę myśleć (np Linux xargs) i dodać słowo howto, exampleslub tutorial. Jest to bardzo często dość produktywne.

Zwykle używam duckduckgo, ponieważ zachowuje moją prywatność, ale jeśli potrzebuję większej kontroli nad moimi wyszukiwaniami, korzystam z Google, ponieważ mogę mu powiedzieć, aby przeszukiwał tylko jedną stronę internetową lub wyświetlał tylko wyniki z ostatniego roku. (Ma wiele innych opcji wyszukiwania zaawansowanego. Możesz je Google.;))

Kolejna wskazówka:

W przypadku poleceń, do których często się odwołuję, zapisuję stronę podręcznika w pliku tekstowym

man bash > bashman.txt

i załaduj ten plik do innego okna w moim edytorze tekstów, aby móc przewijać w przód iw tył, kopiować i wklejać itp. Zazwyczaj plik robię tylko do odczytu, więc nie kończę go przypadkowo, ale ponieważ jest to mój kopię osobistą, mógłbym ją edytować w dowolny sposób, dodając tagi, aby łatwiej znaleźć sekcję, a nawet dodając własne notatki lub przykłady.

Jedyną wadą jest to, że oryginalna strona podręcznika może zostać zaktualizowana, a moja kopia jest statyczna.

Joe
źródło
4

Aby uzyskać szybką pomoc dotyczącą określonego polecenia, możesz użyć wyjaśnienia powłoki . Np. Twoje polecenie . Po uzyskaniu pierwszego wysokiego poziomu zrozumienia, jak to działa, powinieneś przejść do stron podręcznika zgodnie z zaleceniami innych odpowiedzi.

AvImd
źródło
2

Dostępne są przydatne narzędzia, aby dowiedzieć się więcej o komendach systemu Linux:

  1. cheatwyświetli często używaną opcję wiersza poleceń. Możesz także dodać własne, command + optionktóre będą wyświetlane cheatdla określonego polecenia.
  2. bropagesnarzędzie udostępnia przykład wiersza poleceń, możliwe jest dodanie własnego przykładu lub głosowanie w górę / w dół danego przykładu po przejściu kodu weryfikacyjnego bro thanks. Polecenie „Głosuj” pojawi się na górze brostrony.
GAD3R
źródło
1

Proponuję tldrkompleksowe narzędzie podobne do człowieka. Uproszczone i oparte na społeczności strony man. W Ubuntu możesz zainstalować go za pomocą przystawki, ale ma również wersje dla innych dystrybucji. Zapewnia również kilka typowych zastosowań. Zalecane w 100%.

José Castillo Lema
źródło
0

> Szukam pomocy w interpretacji strony podręcznika, aby zrozumieć skomplikowane polecenia.

Myślę, że to nieporozumienie tutaj. Linux / UNIX jest tak potężny, że można konstruować bardzo długie i skuteczne polecenia, np. Przekierowując stdout jednego polecenia (tutaj, tutaj locate) na stdin innego polecenia (tutaj, xargs) za pomocą potoku ( |). Dlatego, jak słusznie powiedział Random832, nie znajdziesz ani jednej strony podręcznika wyjaśniającej, co robi twoje przykładowe polecenie.

Zalecam przeczytanie przewodnika po skryptach powłoki Linuksa; zaawansowane Bash-Scripting Guide to doskonały dokument. Nie daj się zastraszyć; opanowanie Linuksa wymaga lat i jest niekończącym się procesem, ale możesz nauczyć się podstaw w rozsądnym czasie.

Następnie zapoznaj się ze stronami podręcznymi, gdy potrzebujesz poznać szczegóły konkretnego polecenia.

Kiedy już to zrozumiesz, Commandlinefu i Bash One-Liners są również warte przeczytania, aby uzyskać dobre przykłady.

dr01
źródło
-1

Aby wyszukać coś konkretnego w poleceniach na stronie podręcznika, możesz użyć:

man echo | grep output.

Ale aby wyszukać przełączniki (na przykład -n), musisz użyć tego w następujący sposób:

man echo | grep -- -n
subtleseeker
źródło