Quero encontrar todas as páginas de manual dos comandos que começam com wh
. Mas não entendo por que a palavra-chave a seguir não funciona.
man -f "wh"
Além disso, se eu colocar
man chmod
na página de manual do chmod
, tem a palavra "simbólico", então coloquei
man -f "symbolic"
mas chmod
o comando não aparece nos resultados.
Resumindo, como encontro/pesquiso comandos ou descrição de comandos pelo conteúdo da palavra interna? Eu sei como encontrar certas palavras depois de obter a página de manual, usando /
caractere, mas quero encontrar todas as páginas de manual com a palavra de pesquisa.
Responder1
Você pode usar a -k
opção para localizar todas as páginas de manual que contêm wh
seus nomes ou descrições curtas. Depois é só usar o grep para aqueles que começam com wh
. O comando apropos
é equivalente a man -k
.
Exemplo
$ man -k wh | grep "^wh"
what (1p) - identify SCCS files (DEVELOPMENT)
whatis (1) - display manual page descriptions
whereis (1) - locate the binary, source, and manual page files for a command
which (1) - shows the full path of (shell) commands.
while (n) - Execute script repeatedly as long as a condition is met
whiptail (1) - display dialog boxes from shell scripts
whirlwindwarp (6x) - crazy moving stars
whline (3x) - create curses borders, horizontal and vertical lines
whline_set (3x) - create curses borders or lines using complex characters and renditions
who (1) - show who is logged on
who (1p) - display who is on the system
whoami (1) - print effective userid
whois (1) - client for the whois service
Pesquisando nas páginas de manual
Se você estiver determinado a pesquisar nas páginas de manual fazendo uma pesquisa de texto completo, poderá usar a -K
opção. Isso é um K maiúsculo.
Exemplo
$ man -w -K symbolic | head -10
/usr/local/share/man/man1/mimeopen.1
/usr/local/share/man/man1/mimetype.1
/usr/local/share/man/man1/ptksh.1
/usr/share/man/man1/as.1.gz
/usr/share/man/man1/atop.1.gz
/usr/share/man/man1/atopsar.1.gz
/usr/share/man/man1/attr.1.gz
/usr/share/man/man1/autoreconf.1.gz
/usr/share/man/man1/bakefilize.1.gz
/usr/share/man/man1/bash.1.gz
Este método não fornece o nome da página de manual nem a breve descrição. Ele mostra apenas o nome real do arquivo no qual a página do manual está armazenada, que normalmente é o nome do comando.
Responder2
man -f wh
(sinônimo de whatis
) exibe a descrição curta (de uma linha) do comando wh
. A bandeira -f
diz man
para exibir apenas a primeira linha e não a página inteira. Não é isso que você está procurando.
O comando apropos wh
(sinônimo de man -k wh
) lista as páginas man cuja breve descrição contém a string wh
. Se quiser combinar uma pesquisa na descrição resumida com um padrão no nome do comando, você pode filtrar os resultados de apropos
with grep
. Para restringir os comandos do usuário (ou seja, seção 1) e não exibir comandos do administrador, funções da biblioteca C, etc., passe -S 1
. Se você quiser comandos de usuário e administrador, passe -S 1:8
.
apropos symbolic | grep '^wh'
Para pesquisar em páginas de manual inteiras, com mandb (a man
implementação mais comum no Linux), use -K
(maiúsculo K
, em oposição às letras minúsculas k
para apropos
). Isso pode levar muito tempo se você tiver muitas páginas de manual instaladas; considere passar a --regex
opção para restringir a pesquisa a páginas de manual cuja descrição de uma linha corresponda a uma regex.
man -K -S 1:8 --regex 'change.*file' symbolic
Responder3
man -k '^symbolic$'
Isso listará o nome do aplicativo e o número da página em que a palavra simbólica está. Livre-se do $ se quiser algo que comece com simbólico.