Jak mogę uzyskać pomoc dotyczącą poleceń terminalu?

33

Często widzę takie rzeczy

czytaj Aby uzyskać więcej informacji, przeczytaj stronę podręcznika użytkownika xyz . widziećman xyz

info xyz

więc zastanawiam się:

  • Jak mogę ogólnie uzyskać pomoc dotyczącą poleceń terminalu?
  • Czym dokładnie są te strony podręcznika i strony informacyjne ?
  • Jak mogę je znaleźć i wyświetlić?
deser
źródło
1
Czat na pytanie
deser
Chciałbym również wspomnieć o tldr.sh , który jest próbą uproszczenia i lepszego przedstawienia stron podręcznika .
Nie, nie pokazałem mojego prawdziwego imienia
@ Nodon'tshownmyrealname Czy napiszesz odpowiedź tldr? Możesz także wspomnieć cheati może cheat.sh .
deser

Odpowiedzi:

44

Co to jest strona man ?

Strona podręcznika (skrót od strony podręcznika) jest tradycyjną formą dokumentacji oprogramowania w systemie operacyjnym uniksopodobnym, takim jak Ubuntu. Dla zdecydowanej większości poleceń i programów istnieje strona podręcznika man, która zawiera listę jej opcji i wyjaśnia użycie.

Jak mogę znaleźć i wyświetlić strony podręcznika?

Offline w terminalu

Strony podręcznika są automatycznie instalowane w systemie wraz z opisywanymi poleceniami. Aby przeglądać i przeszukiwać strony man, istnieje polecenie man:

man mv

wyświetla stronę manuala mvwhile

man -k mv

wyszukuje ciągi znaków i krótkie opisy wszystkich zainstalowanych stron podręcznika mv. Rozszerzone wyrażenia regularne POSIX są dozwolone i jest to wyszukiwanie , więc znajdzie to także np. git-mvI semver, jeśli chcesz wyszukiwać, mvużyj dokładnie ^mv$tego.

Zobacz Jaka jest różnica między `man` i` man (#) `? czytać o sekcjach strony podręcznika. Aby uzyskać więcej informacji, przeczytaj manstronę podręcznika man. ;)

Jak mogę wpłynąć na sposób wyświetlania strony podręcznika?

Domyślnym programem do wyświetlania stron podręcznika jest less. Ten tak zwany pager zapewnia przydatną funkcję wyszukiwania, wystarczy wpisać, /a następnie wyszukiwane hasło, np

/--version

i naciśnij Enter. Spowoduje to zaznaczenie każdego znaleziska i przewinięcie do pierwszego. Naciśnij, Naby przejść do następnego znalezienia i ⇧ Shift+, Naby przejść do poprzedniego (patrz Jak wyszukiwać na stronie podręcznika? ). Aby uzyskać listę poleceń nacisnąć H, aby wyjść z lessprasy Q.

Obok lessistnieją inne pagery dostępne: pg, mosti w3mtylko trzy listy. Polecam most: Zawiera bardzo przydatną kolorystykę słów kluczowych, dzięki czemu strona podręcznika jest znacznie łatwiejsza do czytania i nawigacji, przekonaj się sam:

większość zrzutów ekranowych wyświetla stronę mv

Aby wyświetlić stronę podręcznika inną niż domyślny pager, użyj -Popcji, np .:

man -P most mv

Jeśli chcesz zmienić domyślne strony pagera, wyświetlane są strony z dwiema opcjami:

  • zmień domyślny pager wyłącznie na man

    export MANPAGER=most
    

    Aby zmiana była trwała, dodaj to polecenie do ~/.bashrcpliku.

  • zmień domyślny pager całego systemu

    sudo update-alternatives --config pager
    

Fani mogą nawet (ab) używać vimjako MANPAGER, patrz ten artykuł napisany przez muru .

Strony podręcznika są wyświetlane czcionką określoną w ustawieniach emulatora terminala. Jeśli regularnie pracujesz z terminalem, możesz chcieć zmienić tę czcionkę; Mogę tylko polecić Hack - krój pisma przeznaczony dla kodu źródłowego , zobacz jego zrzut ekranu powyżej dla jego piękna.

Offline przez GUI

Dobrym i łatwym sposobem wyświetlania stron podręcznika użytkownika za pomocą prostego GUI jest preinstalowany yelpprogram. Aby rozpocząć stronę yelppodręcznika man z execute yelp man:PROGRAMlub gnome-help man:PROGRAMnp .:

yelp man:mv

Możesz także przeglądać strony podręcznika w preferowanej przeglądarce. Zobacz Jak sprawić, by strony podręcznika były otwarte w przeglądarce? , np. man mvw firefox:

man -Hfirefox mv

Na koniec możesz konwertować strony podręcznika do formatu PDF i przeglądać je za pomocą preferowanej przeglądarki plików PDF. Zobacz: Czy istnieje sposób drukowania stron informacyjnych / podręcznika do formatu PDF?

online

http://manpages.ubuntu.com

Możesz przeglądać strony podręcznika programów dostępne za pośrednictwem repozytoriów każdej obecnie obsługiwanej wersji Ubuntu ze skróconym adresem URL manpg.es/PROGRAM, np . Http://manpg.es/mv . Spowoduje to otwarcie mvstrony podręcznika dla najnowszej wersji Ubuntu. Możesz wybrać inną wersję na górnym pasku. Do wyszukiwania stron podręcznika możesz użyć np . Http://manpages.ubuntu.com/cgi-bin/search.py?q=mv .

Jak wyjaśniono powyżej, manmożna wyświetlać tylko strony podręcznika użytkownika oprogramowania zainstalowanego w systemie. Aby wyświetlić strony podręcznika ze strony http://manpages.ubuntu.com za pomocą pagera terminala, pakiet jest dmandostępny bikeshed.

Innych źródeł

Kiedy czytasz dokumentację z innych źródeł online, dobrze jest mieć oko na wersję programu. Większość programów ma --versionopcję, która wyświetla wersję danego programu, np

$ mv --version
mv (GNU coreutils) 8.25

Istnieje wiele stron internetowych, które poświęcają się ułatwieniu dostępu do stron podręcznika użytkownika. Przedstawię tylko te, które najbardziej lubię:

  • man7.org zawiera przydatne podświetlanie składni, ale zawiera tylko ostatnią wydaną wersję programu
  • manpag.es obsługuje strony podręcznika systemu Ubuntu, które już dawno zniknęły

Źródło nie jest jeszcze powiązane: https://wiki.ubuntuusers.de/man/

deser
źródło
Kolejną przydatną sztuczką (przynajmniej jeśli jesteś programistą) jest napisanie małego skryptu, aby zrzucić dane wyjściowe człowieka do wybranego edytora tekstu. Np. (\ N to nowy wiersz) #! / Bin / tcsh \ n ustaw nazwę = $ argv [$ # argv] \ n ustaw plik = /tmp/man.$name.out\n / usr / bin / man $ * | col -bx> $ plik \ n (ścieżka do edytora) $ plik \ n rm $ plik \ n Podobne, ale specyficzne dla edytora makro pozwoli ci na wywołanie man z poziomu edytora, co jest dość pomocne.
jamesqf
@jamesqf Ciekawe, dlaczego to robisz i kiedy tego używasz? Ponieważ redaktorzy zazwyczaj potrafią czytać ze standardowego wejścia, możesz uprościć to np . man $*|col -bx|nano -Lub man $*|col -bx|kate -i.
deser
@jamesqf, jeśli eksportujesz stronę podręcznika do pliku tekstowego w celu łatwego wyszukiwania lub nawigacji, naprawdę powinieneś rozważyć przejrzenie strony „PODSUMOWANIE MNIEJSZYCH POLECEŃ ”. Można ją otworzyć, wpisując „h” w less( manużyj lesspolecenia do paginacji więc to też działa man)
Ludovic Ronsin
@Ludovic Ronsin: Robię to w moim edytorze, a nie mniej z dwóch powodów. Po pierwsze, ponieważ znam polecenia mojego edytora (które są znacznie potężniejsze niż mniej poleceń) i nie muszę zawracać sobie głowy uczeniem się kolejnego zestawu poleceń, które nieuchronnie pomyliłbym w różnych kontekstach. Po drugie, ponieważ mogę podpiąć wersję edytora do naciśnięcia klawisza (Alt-m, jak to się zdarza) i uzyskać w ten sposób pomoc przy każdym wywołaniu funkcji, która ma stronę man. Jeśli chodzi o to, dlaczego robię to tak, jak robię, napisałem to ponad 20 lat temu i zadziałało wystarczająco dobrze.
jamesqf
@jamesqf po prostu ustawi PAGER = "vim -" zrobić?
d33tah
13

Podstawy zostały już omówione, ale jedna strona internetowa, jak sądzę, jest bardzo pomocna w mówieniu o tym, co robi polecenie, to https://explainshell.com , który dzieli polecenie na jego sekcje i pokazuje, co robi każdy bit.

wprowadź opis zdjęcia tutaj

Qwertie
źródło
1
+1 Absolutnie nie o to mi chodziło, kiedy pisałem te pytania, ale to świetny zasób, o którym nie wiedziałem - dziękuję bardzo! Ponieważ inne odpowiedzi celowo obejmują jeden główny temat, być może rozszerzysz swoją odpowiedź na ogólne narzędzia internetowe? przychodzi na myśl shellcheck.net
deser
12

Co to jest strona informacyjna ?

Wzdłuż

man program-name

często też

info program-name

Czasami są takie same (duplikaty), ale czasami jedna z tych stron zawiera więcej informacji. Na przykład

info ddrescue

zawiera więcej informacji niż

man ddrescue

i

info date

zawiera więcej informacji niż

man date

Równowaga pomiędzy mani infozależy od polityki osób, które utrzymują dany program [pakiet].

Zobacz ten link, aby uzyskać więcej informacji,

unix.stackexchange.com/questions/19451/difference-between-help-info-and-man-command

sudodus
źródło
11

Jakie jest helppolecenie?

helpwyświetla pomocne informacje o bashwbudowanych poleceniach. Zapewnia pomoc tylko dla poleceń powłoki bash. Możesz użyć, typeaby ustalić, czy polecenie jest tak wbudowane, np . type echoVs.type rm

Jest wywoływany z wzorcem jako argumentem:

help if

wyświetla stronę pomocy dla ifpolecenia. Jeśli interesuje Cię tylko składnia polecenia, skorzystaj z -sopcji, jeśli chcesz helpgenerować dane wyjściowe w manformacie strony -m. Aby wygodnie przeglądać długie teksty pomocy, możesz przesłać dane wyjściowe do preferowanego pagera (zobacz sekcję „Jak wpływać” na tę odpowiedź ):

help -m if | less

Porównanie z maniinfo

Możesz uruchomić i porównać następujące polecenia:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Podobnie jak w tym przykładzie, istnieją programy, które są dostępne zarówno jako program wbudowany, jak i zwykły (zobacz Dlaczego jest / bin / echo i dlaczego chciałbym go używać? ), W tym przypadku strona podręcznika zwykle zawiera Uwaga wskazująca na to.

Zobacz ten link, aby uzyskać więcej informacji: Różnica między pomocą, informacjami i poleceniem man · U&L

opcja programu -hi / lub--help

Zwykle nie jest wbudowana pomoc w programach są dostępni przez co najmniej jedną z opcji -h, --helpczy -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

W przypadku obu opcji -hi --helpistnieją, często są one równoważne, ale czasami można dostać „więcej pomocy” z --help, -H, --longhelp, --help-alllub podobnych poleceń. To zachowanie jest udokumentowane na stronie programu man/ info.

Zwykle jest więcej informacji za pośrednictwem mani info, ale czasami są informacje wyłączne za pośrednictwem -h. Uruchom i porównaj dane wyjściowe

man lsblk

i

lsblk -h

Niektóre programy podoba df, tari rsyncużyć opcji -hna coś innego. Jest to opisane na stronie man/ infokażdego programu.

Ponownie możesz przesłać dane wyjściowe do preferowanego pagera, np .:

lsblk -h | less
sudodus
źródło
Dzięki za wspomnienie --help, często jest to jedyna rzecz, której potrzebuję w przypadku większości poleceń i zawsze pierwsza rzecz, której próbuję.
JPhi1618
6

Co to jest samouczek i jak mogę go znaleźć

Jeśli masz trochę doświadczenia z Linuksem, strony podręcznika , strony informacyjne i opcje pomocy są bardzo przydatne. Ale na początku mogą być trudne do zrozumienia; potrzebujesz bardziej szczegółowej pomocy, aby rozpocząć.

Szczegółową pomoc znajdziesz w samouczkach ,

  • szczegółowe wyjaśnienie, jak używać polecenia
  • przykłady

Zazwyczaj samouczki znajdziesz w Internecie, czasem na stronie podręcznika lub strony informacyjnej znajduje się przydatny samouczek.

  • Wypróbuj kilka ciągów wyszukiwania, na przykład podczas korzystania z wyszukiwarki przeglądarki internetowej

    • Poszukuję określonych narzędzi

      • samouczek nano
      • samouczek sed
      • samouczek imagemagick
      • samouczek rsync
    • Szukanie zadań (i znajdowanie samouczków dla różnych narzędzi)

      • samouczek edytora trybu tekstowego linux
      • samouczek edytora obrazów w trybie linux

Rzuć okiem na kilka znalezionych linków i zacznij pracę z samouczkiem, który pasuje do tego, czego potrzebujesz .

  • man rsync jest wystarczająco szczegółowy, aby użyć go jako samouczka, ale możesz chcieć więcej szczegółów (i poszukaj samouczka przez Internet).
  • info ddrescue ma dobry wbudowany samouczek.
sudodus
źródło
Idealnie, dziękuję za twój stały wkład - czuję, że to pytanie stanie się bardzo przydatnym źródłem, na które wskażemy początkujący. Dodam indeks treści do pytania i połączę odpowiedzi z zapasowymi przeglądającymi przewijanie.
deser
1
@dessert, To jest dobra inicjatywa od ciebie i cieszę się, że mogłem się przyczynić :-)
sudodus
2

Moim ulubionym jest commandlinefu.com , mam funkcję w swoim .bashrclub .zshrcpodobną

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Spróbujmy cmd mount cd, nazwałem moją funkcję cmd, możesz ją nazwać, jak chcesz

wprowadź opis zdjęcia tutaj

Funkcja powyżej przeszukuje witrynę Commandlinefu, jest to strona internetowa kierowana przez społeczność, podobnie jak tutaj, użytkownicy mogą głosować polecenia i tak dalej. Następnie pokazuje najlepsze wyniki jak na zdjęciu.

lub istnieje nowy sposób, aby to zrobić za pomocą tego .

http://samirahmed.github.io/fu/

Oto samouczek .

Zróbmy fu cron

wprowadź opis zdjęcia tutaj

Lynob
źródło
1

Dowiedz się, jak otworzyć okno terminala i wydać polecenie man man. Wpisz spację, aby przejść do następnego ekranu, gdy na dole pojawi się napis „Więcej”. Czytasz stronę podręcznika dla programu ręcznego czytania man!

Masz bardzo mały problem z kurczakiem i jajkiem. manKomenda pozwala zapoznać się z instrukcją na temat każdego polecenia w systemie. Ale dane manwyjściowe używają innego polecenia o nazwie more. Możesz także przeczytać, man moreaby nauczyć się dodatkowych poleceń nawigacyjnych dla more.

I to wszystko! Nauczyłem się wszystkiego, co wiem o Uniksie, czytając strony podręcznika użytkownika dla setek poleceń.

Douglas Held
źródło
3
W systemie Ubuntu manużywa lessdomyślnie, a nie more.
muru
0

Wielu manjuż wspomniało . Trochę fajna funkcja dla manniewielu jest tego świadoma

man -t $ (manpage) > manpage.ps

który tworzy plik PostScript dla strony podręcznika. PostScript można łatwo przekonwertować na format PDF. Powoduje to znacznie ładniejsze formatowanie niż domyślna wersja terminalu wiersza poleceń man.

Na przykład:

man -t man> man.ps

pstopdf man.ps

Właśnie przetestowałem to na Ubuntu (i powinno działać na innych Linuces) i Mac OS.

Oleg Łobaczow
źródło