Lista de todas as páginas de manual disponíveis

33

Como gerar uma lista de todas as páginas de manual disponíveis em um sistema?

psihodelia
fonte

Respostas:

43

Usar:

apropos .

ou:

man -k .

onde .é uma expressão regular que significa: "qualquer caractere".

cYrus
fonte
3
Também é útil: apropos -s 1 .limitá-lo à seção 1 (comandos do usuário), por exemplo.
Dennis Williamson
Eu sugeriria examinar como o bash e o zsh fornecem a conclusão, mas isso é muito mais simples (menos portátil, pois nem todos os sistemas aceitam uma regexp como argumento apropos).
Gilles
nenhum desses trabalhos em cygwin para mim
Wyatt8740
9
$ man -k . -s <section-NR>

Por exemplo, para mostrar todas as páginas da seção 2 :

$ man -k . -s 2
Aaron
fonte
Eu esperava man 2 -k '.'que funcionasse também. Mas isso não acontece
abc
Tente novamente e especifique a seção após a opção -k, como indicado acima ...
Aaron
Esta resposta é definitivamente mais útil
Lucius Hu
A especificação do número da seção não funciona para mim.
OregonTrail 8/07
3

Aqui está o meu favorito:

whatis -r .

… E se você quiser apenas ver todas as páginas de manual em uma seção específica, use o -ssinalizador

Por exemplo, se você apenas deseja obter uma lista de todas as páginas de manual para todos os comandos executáveis ​​(seção 1):

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

Isso produz uma lista de todos os arquivos man, usando a lista de diretórios man produzidos por "man -w"; no entanto, a solução regex de qualquer caractere do cYrus é muito melhor, canalize awk para obter uma lista limpa apenas da página nomes:

apropos . | awk '{print $1}'

ou

man -k . | awk '{print $1}'
R Perrin
fonte
11
Dessa forma, você perderá a seção man e, assim, criará duplicatas. Para o último tubo através sort -u.
Cyrus
@cYrus ou apenas modificá-lo para man -k . | awk '{print $1,$2}'manter a seção
villapx
0

Procure nos caminhos listados em /etc/man.config, com os diretórios adicionais, conforme adicionados pela diretiva FHSou, FSSTNDconforme apropriado.

Ignacio Vazquez-Abrams
fonte
E depois? Eu acho que é melhor ler os caminhos da variável MANPATH. Mas é horrível, porque existe um grande número de subdiretórios e contém diferentes extensões de arquivo, como 1 ou gz. By the way, muitos sistemas não têm man.config em / etc
psihodelia
11
@psihodelia: No meu sistema é /etc/manpath.confige $MANPATHé nulo.
Dennis Williamson
0

No macOS, você pode usar

man -k .

ou

apropos .

ou

whatis .

No entanto, no macOS, os comandos man -k, apropose whatisnão oferecem suporte à filtragem por seção.

Portanto, você pode usar o seguinte pipeline para fazer isso

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

Você pode substituir 1pela seção manual de sua escolha.

Trilha de Oregon
fonte