Sztuczki i porady dotyczące znajdowania informacji na stronach podręcznika [zamknięte]


80

Czy ktoś ma jakieś wskazówki i porady dotyczące wyszukiwania informacji na stronach podręcznika?


1
man --help/ man -ha jego pełniejsze rodzeństwo man manma wskazówki dotyczące wyszukiwania i nawigacji.
Anton Tarasenko

Odpowiedzi:


51

Zwróć uwagę na numer sekcji: Załóżmy, że potrzebujesz pomocy printf. są co najmniej dwa z nich: w powłoce i w C. Wersja bash printf znajduje się w sekcji 1, wersja C w sekcji 3 lub 3C. Jeśli nie wiesz, który chcesz, wpisz man -a printfi zostaną wyświetlone wszystkie strony podręcznika.

Jeśli to, czego szukasz, to format printf ze wszystkimi kodami% i nie pojawia się on na stronie podręcznika printf, możesz przejść do powiązanych stron podręcznika wymienionych w akapicie ZOBACZ TAKŻE. Możesz znaleźć coś takiego formats(5), co sugeruje, aby wpisać man 5 formats.

Jeśli jesteś zirytowany, że man printfdaje ci printf (1) i wszystko, czego potrzebujesz, to printf (3), musisz zmienić kolejność skanowanych katalogów w MANPATHzmiennej środowiskowej i umieścić te dla języka C przed tymi dla poleceń powłoki. Może się to zdarzyć również wtedy, gdy strony podręcznika Fortran lub TCL / Tk są wymienione przed stronami C.

Jeśli nie wiesz od czego zacząć, wpisz man introlub man -s <section> intro. To daje podsumowanie poleceń żądanej sekcji.

Sekcje są dobrze zdefiniowane:

  • 1 dotyczy poleceń powłoki,
  • 2 dotyczy wywołań systemowych,
  • 3 służy do programowania interfejsów (czasami 3C dla C, 3F dla Fortran ...)
  • 5 dotyczy formatów plików i innych reguł, takich jak formaty printf lub regex.

Last but not least: informacje dostarczane na stronach podręcznika nie są zbędne, więc przeczytaj uważnie od początku do końca, aby zwiększyć swoje szanse na znalezienie tego, czego potrzebujesz.


11
W większości systemów możesz sprawdzić, man manaby zobaczyć pełny opis różnych sekcji.
Steven D,

1
Byłoby fajnie, gdyby istniał program do wyszukiwania stron za pomocą «słów kluczowych». Tj. Ostatnio nie mogłem zapamiętać nazwy funkcji c, aby znaleźć podłańcuch ( strstr()) , i nie miałem wokół siebie internetu.
Cześć Anioł

3
@ Hi-Angel man -k substringlub apropos substringpomógłby ci.
Kusalananda

58

Wpisz ukośnik, /a następnie ciąg, który chcesz wyszukać. Następnie naciskaj przycisk, naby przejść do następnego elementu


37

man -k szukaj

Spowoduje to wyświetlenie listy wszystkich stron podręcznika związanych z „wyszukiwaniem”.


2
Aby wymienić wszystkie strony man -k search -s 3
podręcznika

Wiem, że takie komentarze na ten temat są niezadowolone, ale dziękuję, dziękuję, dziękuję! Dosłownie szukałem takiego polecenia dłużej niż chciałbym przyznać ... lata !!
MikeyE,

19

Jak mówi @Steven D., nie zapomnij o infostronach.

Ponadto nie zastraszaj się na infostronach. Znam wiele osób, które nie korzystają ze stron informacyjnych z powodu wbudowanego systemu nawigacji. Moim ulubionym rozwiązaniem jest poprowadzenie stron informacyjnych przez less:

info gpg |less

W ten sposób mogę nawigować po infostronach za pomocą mojego ulubionego pagera. Te infostrony będą teraz zachowują się tak samo jak manstron.


1
hej, to świetna wskazówka na temat nawigacji
glenn jackman

18

aproposNarzędzie jest poważnie przydatny dla znalezienia odpowiedniego manpage.


1
man -k== apropos, prawda?
phunehehe,

1
aproposto jest to, czego używam cały czas, kiedy szukam czegoś, co nie ma strony man dla siebie.
polemon

1
„man man” mówi, że „man -k” jest równoważne z „apropos -r”. Myślę, że apropos ma trochę większą moc. Ogólnie używam „man -k”, ponieważ jest on nieco krótszy.
Kristof Provost

16

Domyślny pager do czytania strony podręcznika to less. Dokumentacja znajduje się less tutaj .

W szczególności:

  • Przewiń w górę / w dół o jedną stronę: b/ space
  • Przewiń w górę / w dół o pół strony: u/ d
  • Wyszukiwanie do przodu / do tyłu: // ?, a następnie wpisz wyrażenie regularne,
    • następnie naciśnij, n aby przejść do następnego meczu lub
    • shift+, Naby przejść do poprzedniego meczu.
    • Jeśli strona jest pokryta nieciekawymi dopasowaniami, naciśnij, spaceaby przejść do następnej strony.
  • Dodaj @przed wyrażeniem regularnym, aby wyszukiwać od początku.

TO jest najlepsza odpowiedź. Dodatkowe punkty za używanie symboli KBD. ;)
Chiramisu

Przewiń w górę / w dół o jedną stronę można również zrobić za pomocą ctrl+space/ f, co może być pomocne w zależności od tego, których palców preferujesz do nawigacji.
joelostblom

8

Zawsze sprawdź, co jest w sekcji ZOBACZ TAKŻE. Polecenia przedstawione w tej sekcji na infostronie można wybierać, umieszczając kursor na żądanym poleceniu, a następnie naciskając klawisz Enter. Często znajduję w ten sposób inne przydatne polecenia lub funkcje.


7

Jeśli bardziej ci odpowiada edytor niż domyślny pager, możesz ustawić MANPAGERw swoim środowisku. Na przykład mam tę linię w moim ~/.bashrc:

export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"

4

Przypuszczam, że używanie większości pagerów jest dobrym pomysłem. Ten pager jest bardzo wydajny, ale dla mnie główną cechą - wyświetlanie kolorowych stron podręcznika. Ta funkcja poprawia odbiór zwykłego tekstu i ułatwia wyszukiwanie potrzebnych informacji.

Spójrz na załączony zrzut ekranu, tekst wygląda bardzo ładnie, prawda?

najbardziej pager


2
Pominąłeś najważniejszą informację: jak korzystać mostz przeglądania stron podręcznika .
user1968963

2
@ACK_stoverflow - prawdopodobnie nie jest to dobry pomysł, aby polecić tego faceta, > ~/.bashrcponieważ zastąpi to, co już tam jest. >>Moim zdaniem lepiej jest dodać ( ) lub ręcznie dodać wapno.
vatsug

@vatsug Wow dobry wezwanie, o to co mój komentarz powinien powiedzieć: Zainstaluj go i wypróbować: aptitude install most; export MANPAGER="most"; man man. Aby echo 'export MANPAGER="most"' >> ~/.bashrc
ustawić

4

W Linuksie manmożesz zrobić man -K string(zwróć uwagę na wielką literę K), aby przeprowadzić wyszukiwanie siłowe danego terminu

   -K, --global-apropos
          Search for text in all manual  pages.   This  is  a  brute-force
          search,  and is likely to take some time; if you can, you should
          specify a section to reduce the number of pages that need to  be
          searched.   Search terms may be simple strings (the default), or
          regular expressions if the --regex option is used.

bardzo przydatne, gdy nie wiesz, gdzie szukać.


3

Nie ignoruj infostron. Wiele narzędzi GNU ma znacznie obszerniejsze strony informacyjne niż strony podręcznika man. Często sekcja ZOBACZ TAKŻE powie: „Pełna dokumentacja dla foo jest utrzymywana jako podręcznik Texinfo”. Dotyczy to szczególnie wszystkiego w pakiecie GNU coreutils.

Ponadto, jeśli jesteś użytkownikiem emacsa, nie zapomnij, że możesz przeczytać informacje i strony podręcznika bez opuszczania edytora: M-x infoi M-x woman.


3

Dla tych dłuższych, bardziej złożonych stron podręcznika znacznie łatwiej jest mi je czytać z dala od komputera (dziwne, wiem), więc mam te funkcje w mojej .bashrc

# Print man pages 
manp() { man -t "$@" | lpr -pPrinter; }

# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \
    xdg-open /tmp/manpdf_$1.pdf ;}

2

Od odpowiedzi Kristof, jeśli wpiszesz (tj.) man -k chmod, Dostaniesz listę możliwości. Zanotuj liczbę w nawiasie, oznacza to sekcję, której szukasz na stronach podręcznika:

W systemie UNIX możesz wypróbować:

man -s1 chmod wyświetli stronę man dla komendy chmod

man -s2 chmod wyświetli stronę man dla funkcji C lib chmod ()

W systemie Linux należy zmienić -sna-S


man 1 chmod man 2 chmod robi to samo.
Eliptyczny widok

2

Przeglądaj strony podręcznika w przyjaznej dla użytkownika aplikacji graficznej:

konqueror man:(command)

Spis treści najwyższego poziomu:

konqueror man:

Cechy:

  • Jeśli wpiszesz polecenie, które ma dopasowanie w wielu sekcjach, nastąpi przejście do strony ujednoznaczniającej
  • Jest to aplikacja graficzna, więc nie musisz pamiętać tajemniczych sekwencji kluczy, aby poruszać się po stronie
  • Zawiera hiperłącza do powiązanych stron (w tym stron „patrz także”)
  • Możesz otwierać powiązane strony na osobnych kartach

Nawiasem mówiąc, to również działa z info:(command). Niektóre programy dostarczają znacznie więcej informacji poprzez „info” niż przez „man”, a konqueror zapewnia znacznie ładniejszy interfejs do przeglądania tych stron informacyjnych. Uwaga: samo użycie info:, działa również w celu uzyskania spisu treści najwyższego poziomu.
nobar

Podobny efekt można uzyskać za pomocą gmanpakietu, który ustanawia serwer stron WWW man na localhost / cgi-bin / man / man2html .
nobar

Alternatywy na AskUbuntu: askubuntu.com/questions/253705/…
nobar

... yelpjest lżejszym zamiennikiem dla konqueror- chociaż ma tę wadę, że nie przedstawia spisu treści ani strony ujednoznaczniającej nazwy używane w wielu sekcjach. Musisz je wyraźnie rozróżnić, dołączając .(section)- np yelp man:open.2. Możesz także użyć <kbd> Ctrl-L </kbd>, aby otworzyć pasek lokalizacji.
nobar

2

Dayum, ludzie! Co jest ze złożonymi odpowiedziami ?! Co stało się z prostotą będącą kluczem do błyskotliwości, a co nie? Większość klawiszy vi / vim będzie działać płynnie:

/lub ?- Szukaj do przodu lub do tyłu (jak już wspomnieli niektórzy faceci). W przypadku tego pierwszego mała litera n będzie przewijać mecze do przodu, a duża N będzie się cofać. W przypadku tego ostatniego jest odwrotnie - znak zapytania.

Nieco bardziej złożone wyszukiwania za pomocą wyrażeń regularnych. Różnica między man(lub less) a VIM polega na tym, że musisz użyć znaku Escape (), aby zadeklarować metaznaki w wyrażeniu, gdy używasz tego ostatniego. Dobra wiadomość jest taka, że ​​kiedy używasz poprzedniej ( manlub less) nie tyle. Dzięki czemu można łatwo umieścić to korzystać podczas wyszukiwania, na przykład, iptablesstrony man dla wielu pojęć, jak tak: /(iptables|rules). Jeśli nie znasz wyrażeń regularnych, oznacza to „Szukaj wystąpień słów iptablesLUBrules". Po wprowadzeniu tego i przytrzymaniu przycisku n będziesz przewijał naprzemienne wyniki wyszukiwania, przy czym wyniki będą dla Ciebie ładnie podświetlone różnymi kolorami (właściwie dwa. Haha). Jeśli próbujesz przeglądać stronę i chcesz skoncentrować się na konkretnych terminach lub koncepcjach - nie umknie Ci żadna rzecz!

I, oczywiście, dla szybszej nawigacji twoje zwykłe vigadżety wciąż stoją (bez zamierzonej gry słów): gglub G- początek / koniec dokumentu; (Poprawka! manMożesz użyć wszystkich klawiszy wymienionych poniżej bez użycia Ctrl. To vitylko dla ). Ctrl + u or d- Przewiń w górę lub w dół; Ctrl + b or f- To samo, tylko w większych skokach. „Strona wstecz lub do przodu”; elub y- przewiń o jedną linię, ale myślę, że większość ludzi wolałaby po prostu użyć klawiszy strzałek. Jeśli jednak chcesz pozostać „1337” i „nigdy nie wychodź z domowego rzędu” (tak jak ja robię lol) - jest to dobra droga.

Próbuję powiedzieć, że UNIX ma dwa główne smaki kontrolek programów klawiaturowych, które są częściami readlinebiblioteki: vi i emacs. Zwiększ swoje kotlety w jednym (ale najlepiej w obu), a to sprawi, że twoje życie będzie o wiele mniej skomplikowane. Większość programów CLI w systemie UNIX wykorzystuje jeden z nich. BASHdomyślnie używa kontrolek emacs, ale można go łatwo ustawić na „tryb vi”, wpisując set -o vi. To samo można powiedzieć o wyrażeniach regularnych, ale nie będzie to temat. Chciałbym nawet powiedzieć, że oba są „lingua franca” w systemie UNIX.


2

Podobnie, ale nieco różni się od odpowiedzi Roba Hoelza,

Dodaj następujące elementy do ~/.vimrc:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

Teraz vimmanjest doskonałą przeglądarką stron, a :Manz poziomu Vima (lub po prostu kliknięciem Ksłowa kluczowego) jest doskonałą przeglądarką stron.


1

Większość z nas ustawia zmienną PATH. To pokaże, jak automatycznie dopasować ścieżkę wyszukiwania man do ścieżki wyszukiwania poleceń.

Załóżmy, że dołączasz swoją ścieżkę, aby uwzględnić osobiste, specyficzne dla pracy i lokalnie zainstalowane narzędzia, takie jak export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:. Jako efekt uboczny man foonie wyświetla stron podręcznych przechowywanych w ~ / man, / workgroup / man lub / opt / local / man.

Aby rozwiązać ten problem, używam manpathpolecenia, aby automatycznie ustawić ścieżkę wyszukiwania strony podręcznika. Na przykład mój ~ / .bashrc ma następujące elementy. Działa to dla mnie na stu różnych systemach, na których działa wszystko od FreeBSD 4.x, Darwin i CentOS 5:

### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin

### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null

Niektóre systemy (jak Apple Leopard) automatycznie ustawiają MANPATH, ale to oznacza, że ​​twój system użyje zmiennej MANPATH zamiast z niej korzystać manpath. W rezultacie strony podręcznika dla „MacPorts” (/ opt / local / man) są ignorowane. Chcę sam to kontrolować, więc rozbroiłem MANPATH:

unset MANPATH
manpath >/dev/null

1

Jeśli szukasz informacji na temat na bashpolecenie wbudowane (takich jak time, disown, set, lub [[), zamiast pobijania przez szczegółowym bashstronach lub man bashmożna wprowadzić help {builtin-keyword}i uzyskać podstawowe informacje o składni szybko.


1

Jeśli denerwujesz się tym, że man printf daje ci printf (1) i wszystko, czego chcesz, to printf (3), możesz powiedzieć człowiekowi, że chcesz printf z sekcji 3, umieszczając sekcję przed printf, w ten sposób: man 3 printfbez konieczności zmiany kolejność skanowanych katalogów w zmiennej środowiskowej MANPATH i umieść te dla języka C przed tymi dla poleceń powłoki.


1

Po prostu używam grep. Gdybym zastanawiał się, co zrobiła -sopcja readpolecenia, wypróbowałbym te polecenia w kolejności, dopóki nie otrzymam odpowiedzi:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

W tym przypadku tylko infopolecenie udzieliło jasnej odpowiedzi. Ta doskonała odpowiedź zawiera szczegółowe informacje na temat różnych systemów pomocy.


1

man -a printfpo prostu domyślnie man 1na moim komputerze z Linux Mint. whatis printfdaje mi stosowną informację.


1

Na przykład -u, aby efektywnie wyszukać przełącznik jednoznakowy , często możesz użyć:

/^ *-u($|\s)

Oszczędza dużo czasu, jeśli wiele opcji ma przedrostek „-u”.


Przydałby się także ten regex: /-u($|[,\s]) w przypadku, gdy znak opcji jest otoczony przecinkiem. Ale jeśli chcesz zobaczyć wszystkie wpisy z charakterem opcji „U” (jak -u]w [--udp|-u]od netstatinstrukcji) trzeba coś takiego: /-u($|[^a-z]) A jeśli vilub vimsłuży jako pager: /-u\($\|[^a-z]\)
Kenichi

0

Polecenie apropos (1) służy do przeszukiwania stron podręcznika man. Jednak większość implementacji apropos (1) szuka tylko w sekcji NAZWA, co jest bardzo ograniczające.

NetBSD ma implementację wyszukiwania pełnotekstowego apropos (1), która jest w stanie przeszukiwać całą zawartość stron man. Istnieje również interfejs internetowy: man-k.org , który możesz wypróbować.


0

wprowadź opis zdjęcia tutajJeśli trudno ci przeczytać strony podręczne z powodu całego tekstu w kolorze białym, możesz je pokolorować. Większość stron podręcznika otwiera się za pomocą less. Dla lessużywam następujące ustawienia kolorów w .bashrcod tutaj :

man() {
    LESS_TERMCAP_md=$'\e[01;31m' \red
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \green
    command man "$@"
}

To jest dla bash i zsh. Na most, fish, xtermi rxvtpatrz link powyżej.

Do dalszego czytania:


0

A dla tych, którzy lubią czytać strony z informacjami o człowieku i informacje na ekranie dotykowym, możesz przesyłać informacje o człowieku / informacje do yad lub zenity i korzystać ze wszystkich gadżetów GTK3, takich jak natywne przewijanie palcem. Działa również świetnie z refular ekranu i myszy:

man cat |yad --text-info 

Możesz użyć także zenity lub możesz dodać opcje yad, takie jak:

man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &

Wskazówka: pokazując, uri yoh może klikać łącza internetowe na stronach podręcznika za pomocą myszy / palca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.