Liste de toutes les pages de manuel disponibles

34

Comment générer une liste de toutes les pages de manuel disponibles sur un système?

psihodelia
la source

Réponses:

44

Utilisation:

apropos .

ou:

man -k .

.est une expression régulière qui signifie: "n'importe quel caractère".

cYrus
la source
3
Aussi pratique: apropos -s 1 .pour le limiter à la section 1 (commandes utilisateur), par exemple.
pause jusqu'à nouvel ordre.
J'allais suggérer de regarder comment bash et zsh fournissent l'achèvement, mais c'est beaucoup plus simple (moins portable cependant, car tous les systèmes n'acceptent pas une expression rationnelle comme argument apropos).
Gilles 'SO- arrête d'être méchant'
ni l'un ni l'autre ne travaille pour moi à cygwin
Wyatt8740
9
$ man -k . -s <section-NR>

Par exemple pour afficher toutes les pages de la section 2 :

$ man -k . -s 2
Aaron
la source
J'espérais que ça man 2 -k '.'marcherait aussi. Mais ce n'est pas le cas
Ankur Agarwal
Essayez à nouveau et spécifiez la section après l'option -k comme indiqué ci-dessus ...
Aaron
Cette réponse est certainement plus utile
Lucius Hu
La spécification du numéro de section ne fonctionne pas pour moi.
OregonTrail
3

Voici mon préféré:

whatis -r .

… Et si vous voulez simplement voir toutes les pages de manuel d'une section particulière, utilisez l' -sindicateur.

Par exemple, si vous vouliez simplement obtenir une liste de toutes les pages de manuel pour toutes les commandes exécutables (section 1):

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

Cela produit une liste de tous les fichiers man, en utilisant la liste des répertoires man qui est produite par "man -w", cependant, la solution any-character-regex de cYrus est bien meilleure, canalisez awk pour obtenir une liste claire de juste la page noms:

apropos . | awk '{print $1}'

ou

man -k . | awk '{print $1}'
R Perrin
la source
1
De cette façon, vous perdrez la section man et créerez ainsi des doublons. Pour ce dernier tuyau à travers sort -u.
cYrus
@cYrus ou modifiez-le simplement man -k . | awk '{print $1,$2}'pour conserver la section
villapx
0

Regardez dans les chemins d'accès répertoriés dans /etc/man.config, avec les répertoires supplémentaires ajoutés par la directive FHSou FSSTNDselon le cas.

Ignacio Vazquez-Abrams
la source
Et alors? Je pense qu'il vaut mieux lire les chemins de la variable MANPATH. Mais c'est affreux, car il y a un grand nombre de sous-répertoires et il contient différentes extensions de fichiers comme 1 ou gz. Soit dit en passant, de nombreux systèmes n'ont pas de man.config dans / etc
psihodelia
1
@psihodelia: Sur mon système, c'est /etc/manpath.configet $MANPATHest nul.
pause jusqu'à nouvel ordre.
0

Sur macOS, vous pouvez utiliser

man -k .

ou

apropos .

ou

whatis .

Cependant, sur MacOS, les man -k, aproposet les whatiscommandes ne prennent pas en charge le filtrage par section.

Vous pouvez donc utiliser le pipeline suivant pour ce faire

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

Vous pouvez remplacer 1par la section manuelle de votre choix.

Piste de l'Oregon
la source