Lista wszystkich dostępnych stron podręcznika

34

Jak wygenerować listę wszystkich dostępnych stron podręcznika systemowego?

psihodelia
źródło

Odpowiedzi:

44

Posługiwać się:

apropos .

lub:

man -k .

gdzie .jest wyrażenie regularne, które oznacza: „dowolny znak”.

Cyrus
źródło
3
Przydatne: na przykład, apropos -s 1 .aby ograniczyć go do sekcji 1 (polecenia użytkownika).
Wstrzymano do odwołania.
Chciałem zasugerować, w jaki sposób bash i zsh zapewniają ukończenie, ale jest to o wiele prostsze (choć mniej przenośne, ponieważ nie wszystkie systemy akceptują wyrażenie regularne jako argument apropos).
Gilles „SO- przestań być zły”
żadne z nich nie pracuje dla mnie w
cygwinie
9
$ man -k . -s <section-NR>

Na przykład, aby wyświetlić wszystkie strony sekcji 2 :

$ man -k . -s 2
Aaron
źródło
Miałem nadzieję, man 2 -k '.'że też zadziała. Ale tak nie jest
Ankur Agarwal,
Spróbuj ponownie i określ sekcję po opcji -k, jak wskazano powyżej ...
Aaron
Ta odpowiedź jest zdecydowanie bardziej przydatna
Lucjusz Hu
Określenie numeru sekcji nie działa dla mnie.
OregonTrail
3

Oto moja ulubiona:

whatis -r .

… A jeśli chcesz tylko zobaczyć wszystkie strony podręcznika w określonej sekcji, użyj -sflagi.

Na przykład, jeśli chcesz uzyskać listę wszystkich stron podręcznika man dla wszystkich poleceń wykonywalnych (sekcja 1):

whatis -s 1 -r .
Philip Clarke
źródło
2
# Shell script to list pathname of all available man pages  
mandirs="\`man -w | sed 's/:/ /g'\`"  
find $mandirs -type f  

Spowoduje to utworzenie listy wszystkich plików man, przy użyciu listy katalogów man, która jest tworzona przez „man -w”, jednak rozwiązanie regex dla dowolnego znaku cYrus jest znacznie lepsze, należy jednak użyć awk, aby uzyskać czystą listę samej strony nazwy:

apropos . | awk '{print $1}'

lub

man -k . | awk '{print $1}'
R Perrin
źródło
1
W ten sposób stracisz sekcję man, a tym samym utworzysz duplikaty. Do tego drugiego sort -u.
cyr
@cYrus lub po prostu zmodyfikuj go, aby man -k . | awk '{print $1,$2}'zachować sekcję
villapx
0

Przejrzyj ścieżki wymienione w /etc/man.config, z dodatkowymi katalogami dodanymi odpowiednio przez dyrektywę FHSlub FSSTND.

Ignacio Vazquez-Abrams
źródło
I wtedy? Myślę, że lepiej jest czytać ścieżki ze zmiennej MANPATH. Ale to okropne, ponieważ istnieje ogromna liczba podkatalogów i zawiera różne rozszerzenia plików, takie jak 1 lub gz. Nawiasem mówiąc, wiele systemów nie ma man.config w / etc
psihodelia
1
@psihodelia: W moim systemie to /etc/manpath.configi $MANPATHjest null.
Wstrzymano do odwołania.
0

Na macOS możesz użyć

man -k .

lub

apropos .

lub

whatis .

Jednak na MacOS, że man -k, aproposi whatispolecenia nie obsługuje filtrowanie według sekcji.

Aby to zrobić, możesz użyć następującego potoku

man -k . | grep \(1\) | less

Możesz zastąpić 1wybraną sekcją manualną.

OregonTrail
źródło