Uma página de manual para fork, por exemplo, está na seção Chamadas do sistema que possui o número 2:
man 2 fork
Como você vê o que mais é a seção 2 sem recorrer ao Google?
Uma página de manual para fork, por exemplo, está na seção Chamadas do sistema que possui o número 2:
man 2 fork
Como você vê o que mais é a seção 2 sem recorrer ao Google?
Respostas:
Este comando lista os nomes classificados de todas as entradas na seção fornecida:
man -aWS 1 \* | xargs basename | sed 's/\.[^.]*$//' | sort -u
Se você quiser ver os nomes dos caminhos, use:
man -aWS 1 \* | sed 's/\.[^.]*$//' | sort
Isso diz manpara procurar em uma seção todos os comandos usando o padrão curinga *(aspas invertidas para que o shell não o interprete). -alocaliza todas as correspondências, -Wimprime os nomes dos caminhos em vez de exibir as páginas e -S 1especifica a seção um. Mude 1para a seção que você deseja pesquisar.
O sedcomando retira as extensões do nome do arquivo; remova-o se desejar ver os nomes de arquivos completos. sortclassifica os resultados ( -uremove duplicatas).
Para reutilização conveniente, isso define uma função shell Bash:
function mansect { man -aWS ${1?man section not provided} \* | xargs basename | sed 's/\.[^.]*$//' | sort -u; }
Por exemplo, você pode invocá-lo mansect 3para ver as entradas na seção três.
[Testado no macOS.]
uniqno pipeline não é corrigido.
sort -upara remover duplicatas.
Para listar todos instalados homem páginas de uma seção específica, você pode usar a propósito :
apropos -s 2 . # use an regex for apropos . means anything
apropos -s 2 -w '*' # use unix globbing for apropos
man -a -s 2 '*'
As páginas de manual geralmente são colocadas /usr/share/man, mas verificam $MANPATH, e são organizadas em seções como:
Section 1:
/usr/share/man/man1/
Section 2:
/usr/share/man/man2/
...
Para listar todas as páginas de manual da seção 2 instaladas, faça:
ls /usr/share/man/man2/
Ou o mais completo:
find $(echo $MANPATH | tr ':' ' ') -path '*/man2/*'
O último terá problemas se você tiver diretórios $MANPATHcom espaço em seus nomes.
Na maioria das distribuições, você também pode verificar as páginas de manual disponíveis com uma ferramenta de pacote, por exemplo, nas distribuições derivadas do Debian, você pode usar apt-fileo seguinte:
apt-file search /man2/
lman 2e lista o nome sem adornos para cada página em uma nova linha e as páginas. O corpo da função é:find $(man --path | tr ':' ' ') -path "*/man$1/*"| xargs basename | sort | sed -E "s/\.$1(.gz)?\$//" | less
Eu sei que essa é uma pergunta muito antiga, no entanto, as respostas dadas aqui não funcionaram para mim. Portanto , criei a seguinte linha que funciona no Ubuntu 18.04 e no macOS Mojave, 10.14.6:
find $(man --path | tr ':' ' ') -type f -path '*man2*' \
-exec basename {} \; | sed 's/\..*//' | sort
Atraso rápido:
$(man --path | tr ':' ' ')para obter os caminhos atuais das páginas de manualfind <man paths> -type f -path '*man2*' -exec basename {} \; obtém os nomes de arquivos de todos os arquivos regulares nos caminhos do homemsed se livra da extensão do arquivosort alfabeticamente.