Comentários
Resposta
Preste atenção ao número da seção: suponha que você queira ajuda em printf
. há pelo menos dois deles: no shell e em C. A versão bash de printf está na seção 1, a versão C está na seção 3 ou 3C. Se você não souber qual deseja, digite man -a printf
e todas as páginas de manual serão exibidas.
Se o que você está procurando é o formato de printf com todos os códigos% e não aparece na página do manual printf, você pode pular para as páginas do manual relacionadas listadas no parágrafo VER TAMBÉM. Você pode encontrar algo como formats(5)
, que sugere que você digite man 5 formats
.
Se você está chateado que man printf
fornece printf (1) e tudo o que você quer é printf (3), você deve alterar a ordem dos diretórios verificados no ambiente MANPATH
variável e coloque os da linguagem C antes dos dos comandos do shell. Isso pode acontecer também quando as páginas de manual do Fortran ou TCL / Tk são listadas antes das do C.
Se você não sabe por onde começar, digite man intro
, ou man -s <section> intro
. Isso fornece um resumo dos comandos da seção solicitada.
As seções são bem definidas:
- 1 é para shell comandos,
- 2 é para chamadas de sistema,
- 3 é para interfaces de programação (às vezes 3C para C, 3F para Fortran …)
- 5 é para formatos de arquivo e outras regras, como formatos printf ou regex.
Por último, mas não menos importante: as informações fornecidas nas páginas do manual não são redundantes, portanto, leia com atenção do início ao fim para aumentar suas chances de encontrar o que você precisa.
Comentários
- Na maioria dos sistemas, você pode verificar
man man
para ver um descrição das várias seções. - Seria legal se houvesse um programa para pesquisar páginas por « palavras-chave ». Ou seja, recentemente não poderia ' não lembrar o nome da função c para encontrar uma substring (o
strstr()
) , e Eu não tinha Internet ao meu redor. - @ Hi-Angel
man -k substring
ouapropos substring
teria ajudado você.
Resposta
Digite barra /
e, em seguida, digite a string para procurar. Em seguida, continue pressionando n
para ir para o próximo item
Comentários
- shift + n para ir para jogo anterior. Tão útil!
Resposta
man -k pesquisar
Isso fornecerá uma lista de todas as páginas de manual relacionadas a “pesquisa”.
Comentários
- E para listar todas as páginas de manual relacionadas a ' search ' na seção específica (número 3, por exemplo) pode-se usar isto:
man -k search -s 3
Também mencionado em superuser.com/a/677969/ 599957 - Sei que comentários como este são desaprovados, mas obrigado, obrigado, obrigado! Estou literalmente procurando por um comando como este há mais tempo do que ' admitiria … anos !!
-
apropos search
é equivalente aman -k search
🙂
Resposta
Como @Steven D diz, não se esqueça das páginas info
.
Além disso, não se deixe intimidar pelas info
páginas. Conheço muitas pessoas que não usam as páginas de informações por causa do sistema de navegação integrado. Minha solução favorita é canalizar as páginas de informações por meio de less
:
info gpg |less
Desta forma, posso navegar nas info
páginas usando meu pager favorito. O info
as páginas agora se comportarão da mesma maneira que as páginas man
.
Comentários
- ei, que ' é uma ótima dica sobre a navegação
Resposta
O apropos
utilitário é muito útil para encontrar a página de manual apropriada.
Comentários
-
man -k
= =apropos
, não ' é? -
apropos
é o que eu uso o tempo todo quando procuro por algo que não tem uma página de manual para si. - ' man man ' diz que ' man -k ' é equivalente a ' apropos -r '. Acho que apropos é um pouco mais poderoso. Eu geralmente uso ' man -k ' porque ' é ligeiramente mais curto.
Resposta
O pager padrão para ler uma página de manual é less
. Há documentação em less
aqui .
Em particular:
- Rolar para cima / baixo em uma página: b / espaço
- Rolar para cima / baixo em meia página: u / d
- Pesquisando para frente / para trás: / / ? , em seguida, digite uma expressão regular,
- em seguida, pressione n para ir para a próxima partida ou
- shift + N para ir para o partida anterior.
- Se a página estiver coberta de correspondências desinteressantes, pressione espaço para ir para a próxima página.
- Adicione um @ antes da expressão regular para pesquisar desde o início.
Comentários
- ESTA é a melhor resposta. Pontos extras por usar símbolos kbd. 😉
- Rolar para cima / para baixo em uma página também pode ser feito com
ctrl+space
/f
, que pode ser útil dependendo de quais dedos você prefere usar para navegação.
Resposta
Sempre verifique o que está em a seção VER TAMBÉM. Os comandos mostrados nesta seção na página info
são selecionáveis colocando o cursor no comando desejado e pressionando a tecla Enter. Freqüentemente encontro outros comandos ou funções úteis que maneira.
Resposta
Se você estiver mais confortável com o seu editor do que com o pager padrão, pode definir MANPAGER
em seu ambiente. Por exemplo, tenho esta linha em minha ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Resposta
Suponho que usar o pager a maioria é uma boa ideia. Este pager é muito poderoso, mas o principal recurso para mim – a exibição de páginas man coloridas. Esse recurso melhora a percepção do texto simples e facilita a pesquisa das informações necessárias.
Olhe para a captura de tela em anexo, o texto parece muito bom, não é?
Comentários
- Você omitiu a informação mais importante: como faço para usar
most
para ver as páginas do manual. - @ACK_stoverflow – provavelmente não é uma boa ideia recomendar que o cara faça
> ~/.bashrc
, pois isso substituirá o que ' s já está lá. Melhor anexar (>>
) ou adicionar o limão manualmente na minha opinião. - @vatsug Uau, boa chamada, aqui está o meu comentário disse: Instale e experimente:
aptitude install most; export MANPAGER="most"; man man
. Para torná-lo permanente:echo 'export MANPAGER="most"' >> ~/.bashrc
Resposta
Não ignore as info
páginas. Muitas ferramentas GNU têm páginas de informações muito mais extensas do que páginas de manual. Freqüentemente, a seção VEJA TAMBÉM dirá “A documentação completa para foo é mantida como um manual Texinfo.” Isso é especialmente verdadeiro para qualquer coisa no pacote GNU coreutils.
Além disso, se você for um usuário emacs, não se esqueça de que pode ler informações e páginas de manual sem sair de seu editor: M-x info
e M-x woman
.
Resposta
No Linux man
, você pode fazer man -K string
(observe o K maiúsculo) para fazer uma pesquisa de força bruta de um determinado termo
-K, --global-apropos Search for text in all manual pages. This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the --regex option is used.
muito útil quando você não sabe onde pesquisar.
Resposta
Da resposta de Kristof, se você (isto é) digitar man -k chmod
, você “obterá uma lista de possibilidades.Observe o número entre parênteses, significa a seção a procurar nas páginas de manual:
No UNIX, você pode tentar:
man -s1 chmod
mostrará a página de manual para o comando chmod
man -s2 chmod
mostrará a página de manual para a função C lib chmod ()
No Linux, você deve alterar -s
por -S
Comentários
- man 1 chmod man 2 chmod faz a mesma coisa.
Resposta
Para aqueles por mais tempo, mais páginas de manual complexas, acho muito mais fácil lê-las longe de um computador (estranho, eu sei), então tenho essas funções em minhas .bashrc
# Print man pages manp() { man -t "$@" | lpr -pPrinter; } # Create pdf of man page - requires ghostscript and mimeinfo manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \ xdg-open /tmp/manpdf_$1.pdf ;}
Resposta
Visualize as páginas do manual em um aplicativo gráfico amigável:
konqueror man:(command)
Para o índice de nível superior:
konqueror man:
Recursos:
- Se você digitar um comando t Isso tem uma correspondência em várias seções, leva você a uma página de desambiguação
- É um aplicativo gráfico, então você não precisa se lembrar de sequências de chaves criptográficas para navegar na página
- Inclui hiperlinks para páginas relacionadas (incluindo páginas “veja também”)
- Você pode abrir páginas relacionadas em guias separadas
Comentários
- A propósito, isso também funciona com
info:(command)
. Alguns programas fornecem muito mais informações via " info " do que via " man ", e o konqueror oferece uma interface muito mais agradável para navegar nestas páginas de informação. Observação: apenas usarinfo:
também funciona para obter um índice de nível superior. - Um efeito semelhante pode ser obtido usando o
gman
pacote que estabelece um servidor web manpage em localhost / cgi-bin / man / man2html . - Alternativas no AskUbuntu: askubuntu.com/questions/253705/…
- …
yelp
sendo um substituto mais leve parakonqueror
– embora tenha a deficiência de não apresentar um índice ou uma página de desambiguação para nomes usado em várias seções. Você deve diferenciá-los explicitamente anexando.(section)
– por exemplo,yelp man:open.2
. Você também pode usar < kbd > Ctrl-L < / kbd > para abrir a barra de localização.
Resposta
Diaum, pessoal! O que há com as respostas complicadas ?! O que aconteceu com a simplicidade sendo a chave para o brilho e quais não? A maioria de suas teclas vi / vim funcionarão perfeitamente:
/
ou ?
– Pesquisa para frente ou para trás (como alguns dos caras já mencionaram). No caso do primeiro, um n minúsculo rolará pelas correspondências para frente, um N maiúsculo volte. O oposto é verdadeiro para o último – o ponto de interrogação.
Pesquisas um pouco mais complexas por meio de expressões regulares. A diferença entre man
(ou less
) e VIM é que você deve usar o caractere escape () para declarar metacaracteres em sua expressão ao usar o último. A boa notícia é que quando você está usando o primeiro (man
ou less
) – nem tanto. Portanto, você pode usar isso facilmente ao pesquisar, por exemplo, um iptables
página do manual para vários termos, como: . Se você não está familiarizado com expressões regulares, isso significa “Pesquisar por instâncias de palavras iptables
OR rules
“. Depois de inserir isso e continuar pressionando n, você percorrerá os resultados alternados da pesquisa com os resultados sendo bem destacados para você com cores diferentes (duas, na verdade. Haha). Se você está tentando folhear a página e deseja se concentrar em termos ou conceitos específicos, você não “perderá nada!
E, claro, para uma navegação mais rápida, seu standbies ainda permanecem (sem trocadilhos): gg
ou G
– início / fim do documento; (Correção ! Em man
você pode usar todas as teclas mencionadas abaixo sem usar Ctrl. Isso “s para vi
apenas). Ctrl + u or d
– Role para cima ou para baixo; Ctrl + b or f
– Mesma coisa, apenas em saltos maiores. “Retroceder ou avançar”; e
ou y
– role por uma única linha, mas acho que a maioria das pessoas prefere apenas usar as teclas de seta. No entanto, se você quiser ficar “1337” e “nunca sair da linha inicial” (como eu faço lol), esse é o caminho a percorrer.
O que estou tentando dizer é que o UNIX tem dois tipos principais de controles de programa de teclado, que são partes da biblioteca readline
: vi e emacs. Aumente seu desempenho em qualquer um (mas, de preferência em ambos) e isso tornará sua vida muito menos complicada. A maioria dos programas CLI no UNIX utiliza qualquer um deles. BASH
usa controles emacs por padrão, mas pode ser facilmente definido para “modo vi” digitando set -o vi
. O mesmo pode ser dito para expressões regulares, mas isso vai sair do assunto. Eu até chegaria a dizer que ambas são a “língua franca” do UNIX.
Resposta
Semelhante, mas ligeiramente diferente da resposta de Rob Hoelz “,
Adicione o seguinte em sua ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Agora vimman
é um excelente visualizador de páginas de manual e :Man
de dentro do Vim (ou simplesmente pressionando K
sobre uma palavra-chave) é um excelente navegador de páginas de manual.
Resposta
A maioria de nós define a variável PATH. Isso mostrará como fazer com que o caminho de pesquisa do homem corresponda automaticamente ao seu PATH de pesquisa de comando.
Digamos que você acrescente seu caminho para incluir seus utilitários pessoais, específicos do trabalho e instalados localmente, como export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Como efeito colateral, man foo
não mostrará as páginas de manual armazenadas em ~ / man, / workgroup / man ou / opt / local / man.
Para resolver isso, eu uso o comando manpath
para definir automaticamente o caminho de pesquisa da página do manual. Por exemplo, meu ~ / .bashrc tem o seguinte. Isso funciona para mim em uma centena de sistemas diferentes executando tudo do FreeBSD 4.x, Darwin e CentOS 5:
### PATH & MANPATH # My personal utilities export PATH=$PATH:$HOME/bin ### Set the manpath based on the PATH, after man(1) parses man.conf # - No need to modify man.conf or manually modify MANPATH_MAP # - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/ # See "SEARCH PATH FOR MANUAL PAGES" in man(1) # Just set the man search path. Don"t print output to screeen. manpath >/dev/null
Alguns sistemas (como o Apple Leopard) definem o MANPATH automaticamente, mas isso significa que seu sistema usará a variável MANPATH em vez de usar manpath
. Como resultado, as páginas do manual para “MacPorts” (/ opt / local / man) são ignoradas. Eu mesmo quero controlar isso, então cancelo MANPATH:
unset MANPATH manpath >/dev/null
Resposta
Se você “está procurando informações sobre um bash
integrado (como time
, disown
, set
ou [[
), em vez de se arrastar pela página de informações bash
ou man bash
, você pode inserir help {builtin-keyword}
e obtenha informações básicas de sintaxe rapidamente.
Resposta
Se você está aborrecido porque man printf lhe dá printf ( 1) e tudo que você quer é printf (3), você pode dizer ao homem que você quer o printf da seção 3 colocando a seção antes de printf, assim: man 3 printf
, sem ter que mudar a ordem dos diretórios verificados na variável de ambiente MANPATH e coloque os da linguagem C antes dos dos comandos do shell.
Resposta
Acabei de usar grep
. Se eu quisesse saber o que a opção -s
do comando read
fez, tentaria esses comandos em ordem até obter uma resposta :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
Neste caso, apenas o comando info
forneceu uma resposta clara. Esta excelente resposta fornece detalhes sobre os diferentes sistemas de ajuda.
Resposta
man -a printf
o padrão é man 1
em minha máquina Linux Mint. whatis printf
me dá as informações pertinentes.
Resposta
Se você achar difícil ler as páginas de manual por causa de todo o texto de cor branca, você pode colori-los. A maioria das páginas de manual é aberta com less
. Para less
, eu uso as seguintes configurações de cor em .bashrc
de aqui :
man() { LESS_TERMCAP_md=$"\e[01;31m" \red LESS_TERMCAP_me=$"\e[0m" \ LESS_TERMCAP_se=$"\e[0m" \ LESS_TERMCAP_so=$"\e[01;44;33m" \yellow on blue LESS_TERMCAP_ue=$"\e[0m" \ LESS_TERMCAP_us=$"\e[01;32m" \green command man "$@" }
Isso é para bash e zsh. Para most
, fish
, xterm
e rxvt
veja o link acima.
Para ler mais:
Resposta
Para procurar com eficiência a troca de um único caractere, por exemplo -u
, você pode usar frequentemente:
/^ *-u($|\s)
Economiza muito tempo se muitas opções tiverem “-u” como prefixo.
Comentários
- Além disso, esta regex seria útil:
/-u($|[,\s])
caso o caractere de opção esteja enquadrado com vírgula. Mas se você quiser ver todas as entradas do caractere de opção ' u ' (como-u]
no[--udp|-u]
donetstat
manual), você ' precisará de algo como isto:/-u($|[^a-z])
E sevi
ouvim
for usado como pager:/-u\($\|[^a-z]\)
Resposta
O a propósito ( 1) o comando é usado para pesquisar as páginas do manual. No entanto, a maioria das implementações de apropos (1) apenas pesquisa na seção NOME, que é muito limitante.
NetBSD tem uma implementação de pesquisa de texto completo de apropos (1), que é capaz de pesquisar o conteúdo completo de páginas de manual. Também existe uma interface baseada na web para ele: man-k.org , que você pode experimentar.
Resposta
E para aquelas pessoas que gostam de ler páginas man e info em uma tela sensível ao toque, você pode canalizar man / info para yad ou zenity e usar todos os recursos gtk3 como o dedo nativo rolagem. Também funciona muito bem com tela refular e mouse:
man cat |yad --text-info
Você também pode usar o zenity ou pode adicionar opções do yad como:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Dica: por show uri yoh pode clicar em links da web dentro de páginas de manual com o mouse / dedo.
man --help
/man -h
e seu irmão mais completoman man
tem dicas de pesquisa e navegação.man -P'less +/pattern' bash