Odpowiedzi:
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 printf
i 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 printf
daje ci printf (1) i wszystko, czego potrzebujesz, to printf (3), musisz zmienić kolejność skanowanych katalogów w MANPATH
zmiennej ś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 intro
lub man -s <section> intro
. To daje podsumowanie poleceń żądanej sekcji.
Sekcje są dobrze zdefiniowane:
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.
man man
aby zobaczyć pełny opis różnych sekcji.
strstr()
) , i nie miałem wokół siebie internetu.
man -k substring
lub apropos substring
pomógłby ci.
Wpisz ukośnik, /
a następnie ciąg, który chcesz wyszukać. Następnie naciskaj przycisk, n
aby przejść do następnego elementu
man -k szukaj
Spowoduje to wyświetlenie listy wszystkich stron podręcznika związanych z „wyszukiwaniem”.
Jak mówi @Steven D., nie zapomnij o info
stronach.
Ponadto nie zastraszaj się na info
stronach. 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 info
stronach za pomocą mojego ulubionego pagera. Te info
strony będą teraz zachowują się tak samo jak man
stron.
apropos
Narzędzie jest poważnie przydatny dla znalezienia odpowiedniego manpage.
man -k
== apropos
, prawda?
apropos
to jest to, czego używam cały czas, kiedy szukam czegoś, co nie ma strony man dla siebie.
Domyślny pager do czytania strony podręcznika to less
. Dokumentacja znajduje się less
tutaj .
W szczególności:
ctrl+space
/ f
, co może być pomocne w zależności od tego, których palców preferujesz do nawigacji.
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?
most
z przeglądania stron podręcznika .
> ~/.bashrc
ponieważ zastąpi to, co już tam jest. >>
Moim zdaniem lepiej jest dodać ( ) lub ręcznie dodać wapno.
aptitude install most; export MANPAGER="most"; man man
. Aby echo 'export MANPAGER="most"' >> ~/.bashrc
W Linuksie man
moż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ć.
Nie ignoruj info
stron. 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 info
i M-x woman
.
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 ;}
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ć -s
na-S
Przeglądaj strony podręcznika w przyjaznej dla użytkownika aplikacji graficznej:
konqueror man:(command)
Spis treści najwyższego poziomu:
konqueror man:
Cechy:
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.
gman
pakietu, który ustanawia serwer stron WWW man na localhost / cgi-bin / man / man2html .
yelp
jest 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.
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 ( man
lub less
) nie tyle. Dzięki czemu można łatwo umieścić to korzystać podczas wyszukiwania, na przykład, iptables
strony man dla wielu pojęć, jak tak:
/(iptables|rules)
. Jeśli nie znasz wyrażeń regularnych, oznacza to „Szukaj wystąpień słów iptables
LUBrules
". 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 vi
gadżety wciąż stoją (bez zamierzonej gry słów):
gg
lub G
- początek / koniec dokumentu; (Poprawka! man
Możesz użyć wszystkich klawiszy wymienionych poniżej bez użycia Ctrl. To vi
tylko 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”;
e
lub 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 readline
biblioteki: 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. BASH
domyś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.
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 vimman
jest doskonałą przeglądarką stron, a :Man
z poziomu Vima (lub po prostu kliknięciem K
słowa kluczowego) jest doskonałą przeglądarką stron.
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 foo
nie wyświetla stron podręcznych przechowywanych w ~ / man, / workgroup / man lub / opt / local / man.
Aby rozwiązać ten problem, używam manpath
polecenia, 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
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 printf
bez konieczności zmiany kolejność skanowanych katalogów w zmiennej środowiskowej MANPATH i umieść te dla języka C przed tymi dla poleceń powłoki.
Po prostu używam grep
. Gdybym zastanawiał się, co zrobiła -s
opcja read
polecenia, 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 info
polecenie udzieliło jasnej odpowiedzi. Ta doskonała odpowiedź zawiera szczegółowe informacje na temat różnych systemów pomocy.
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”.
/-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 netstat
instrukcji) trzeba coś takiego: /-u($|[^a-z])
A jeśli vi
lub vim
służy jako pager: /-u\($\|[^a-z]\)
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ć.
Jeś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 less
używam następujące ustawienia kolorów w .bashrc
od 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
, xterm
i rxvt
patrz link powyżej.
Do dalszego czytania:
Podręcznik Termcap- https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html
W przypadku kodów kolorów - https://wiki.archlinux.org/index.php?title=Bash/Prompt_customization&oldid=362976#List_of_colors_for_prompt_and_Bash
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.
man --help
/man -h
a jego pełniejsze rodzeństwoman man
ma wskazówki dotyczące wyszukiwania i nawigacji.