web-development-kb-pt.site

Truques e dicas para encontrar informações nas páginas de manual

Alguém tem algum truque e dicas para encontrar informações nas páginas de manual?

82
Casebash

Preste atenção ao número da seção: suponha que você queira ajuda em printf. existem pelo menos dois deles: no Shell e no C. A versão bash do 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 ele não aparecer na página de manual printf, você poderá pular para as páginas de 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á aborrecido por man printf Fornecer printf (1) e tudo o que você quer é printf (3), é necessário alterar a ordem dos diretórios digitalizados na variável de ambiente MANPATH e colocar os para a linguagem C, antes da 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 páginas 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 estão bem definidas:

  • 1 é para comandos do Shell,
  • 2 é para chamadas do 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 de manual não são redundantes, portanto, leia com atenção do começo ao fim para aumentar suas chances de encontrar o que você precisa.

51
mouviciel

Digite barra / e digite a sequência a ser pesquisada. Continue pressionando n para chegar ao próximo item

58
Alexander Pogrebnyak

man -k pesquisa

Isso fornecerá uma lista de todas as páginas de manual relacionadas à 'pesquisa'.

37
Kristof Provost

Como @Steven D diz, não esqueça as páginas info.

Além disso, não se deixe intimidar pelas páginas info. Conheço muitas pessoas que não usam as páginas de informações por causa do sistema de navegação interno. Minha solução favorita é canalizar as páginas de informações através de less:

info gpg |less

Dessa forma, eu posso navegar nas páginas info usando meu pager favorito. As páginas info agora terão o mesmo comportamento que as páginas man.

20
Stefan Lasiewski

O utilitário apropos é muito útil para encontrar a página de manual apropriada.

18
Hank Gay

O pager padrão para ler uma página de manual é less. Há documentação em lessaqui .

Em particular:

  • Role para cima/para baixo em uma página: b / space
  • Role para cima/baixo em meia página: u / d
  • Procurando para a frente/para trás: / / ?, digite uma expressão regular,
    • então aperte n para ir para a próxima partida ou
    • shiftN para ir para a partida anterior.
    • Se a página for coberta com correspondências desinteressantes, pressione space para ir para a próxima página.
  • Adicione um @ antes da expressão regular para pesquisar desde o início.
16
Casebash

Sempre verifique o que está na 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 dessa maneira.

8
Neth

Se você estiver mais à vontade com seu editor do que com o pager padrão, poderá definir MANPAGER em seu ambiente. Por exemplo, eu tenho essa linha no meu ~/.bashrc:

export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
7
Rob Hoelz

Suponho que usar most pager seja uma boa idéia. Este pager é muito poderoso, mas a principal característica para mim - exibir páginas de manual coloridas. Esse recurso melhora a percepção do texto sem formatação e facilita a pesquisa das informações necessárias.

Veja a imagem em anexo, o texto parece muito bom, não é?

most pager

4
dr.

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 procurar.

4
enzotib

Não ignore as páginas info. Muitas ferramentas GNU têm páginas de informações muito mais extensas que páginas de manual. Freqüentemente, a seção VEJA TAMBÉM dirá "O a documentação completa do foo é mantida como um manual do Texinfo. "Isso é especialmente verdadeiro para qualquer coisa no pacote GNU coreutils.

Além disso, se você é um usuário do emacs, não esqueça que pode ler informações e páginas de manual sem sair do editor: M-x info e M-x woman.

3
Steven D

Para aquelas páginas de manual mais longas e mais complexas, acho muito mais fácil lê-las em um computador (estranho, eu sei) e, portanto, tenho essas funções em meus .bashrc

# Print man pages 
manp() { man -t "[email protected]" | lpr -pPrinter; }

# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "[email protected]" | ps2pdf - /tmp/manpdf_$1.pdf && \
    xdg-open /tmp/manpdf_$1.pdf ;}
3
jasonwryan

Na resposta de Kristof, se você (ou seja) 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 do manual:

No UNIX, você pode tentar:

man -s1 chmod mostrará a página de manual do comando chmod

man -s2 chmod mostrará a página de manual da função C lib chmod ()

No Linux, você deve alterar -s para -S

2
jyz

Semelhante, mas ligeiramente diferente da resposta de Rob Hoelz,

Adicione o seguinte no seu ~/.vimrc:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

Agora vimman é um excelente visualizador de páginas de manual e :Man do Vim (ou simplesmente pressionar K sobre uma palavra-chave) é um excelente navegador de páginas de manual.

2
ephemient

Visualize as páginas do manual em um aplicativo gráfico fácil de usar:

konqueror man:(command)

Para o índice de nível superior:

konqueror man:

Recursos:

  • Se você digitar um comando que corresponda a várias seções, ele será direcionado para uma página de desambiguação
  • É uma aplicação gráfica, para que você não precise se lembrar de sequências de teclas enigmáticas para navegar na página
  • Inclui hiperlinks para páginas relacionadas (incluindo páginas "consulte também")
  • Você pode abrir páginas relacionadas em guias separadas
2
nobar

Dayum, pessoal! O que há com as respostas complicadas ?! O que aconteceu com a simplicidade sendo a chave do brilhantismo e o que não? A maioria das suas chaves do vi/vim funcionará perfeitamente:

/ Ou ? - pesquise para a frente ou para trás (como alguns dos caras já mencionaram). No caso do primeiro, um n minúsculo irá rolar pelas correspondências para a frente, um N maiúsculo voltará. O oposto é verdadeiro para o último - o ponto de interrogação.

Pesquisas um pouco mais complexas através de expressões regulares. A diferença entre man (ou less) e VIM é que você precisa usar o caractere escape () para declarar metacaracteres em sua expressão ao usar o último A boa notícia é que, quando você estiver usando o antigo (man ou less) - não muito. Portanto, você pode usá-lo facilmente ao pesquisar, por exemplo, um iptables man page para vários termos como este: /(iptables|rules). Se você não estiver familiarizado com expressões regulares, isso significa "Procurar 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 destacados para você com cores diferentes (duas, na verdade. Haha). tentando percorrer a página e querer se concentrar em termos ou conceitos específicos - você não perderá nada!

E, é claro, para uma navegação mais rápida, seus standby vi 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 é apenas para vi). Ctrl + u or d - Role para cima ou para baixo; Ctrl + b or f - A mesma coisa, apenas em saltos maiores. "Página para trás ou para frente"; e ou y - role uma única linha, mas acho que a maioria das pessoas prefere usar as teclas de seta. No entanto, se você quiser ficar "1337" e "nunca sair da linha de casa" (como eu faço), é o caminho a seguir.

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. Aprimore suas costeletas em uma delas (mas, de preferência, em ambas) e isso tornará sua vida muito menos complicada. A maioria dos programas CLI no UNIX emprega qualquer um. BASH usa os controles do emacs por padrão, mas pode ser facilmente configurado para o "modo vi" digitando set -o vi. O mesmo pode ser dito para expressões regulares, mas isso será muito fora de tópico. Eu diria até que ambas são a "língua franca" do UNIX.

2
Max

Para procurar com eficiência a chave de caractere único, por exemplo -u, você pode usar frequentemente:

/^ *-u($|\s)

Economiza muito tempo se muitas opções tiverem '-u' como prefixo.

1
matt

A maioria de nós define a variável PATH. Isso mostrará como fazer automaticamente o caminho de pesquisa do homem corresponder ao seu caminho de pesquisa de comando.

Digamos que você inclua seu caminho para incluir seus utilitários pessoais, específicos ao 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 de manual. Por exemplo, meu ~/.bashrc tem o seguinte. Isso funciona para mim em cem sistemas diferentes executando tudo, desde o 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 Apple Leopard) definem o MANPATH automaticamente, mas isso significa que seu sistema usará a variável MANPATH em vez de usar manpath. Como resultado, páginas de manual para ' Os MacPorts '(/ opt/local/man) são ignorados. Quero controlar isso sozinho, então desmarco MANPATH:

unset MANPATH
manpath >/dev/null
1
Stefan Lasiewski

man -a printf apenas o padrão é man 1 na minha máquina Linux Mint. whatis printf me fornece as informações pertinentes.

1
stu

Se você estiver procurando informações sobre um bash embutido (como time, disown, set ou [[), em vez de percorrer a página de informações detalhada bash ou man bash, pode entrar help {builtin-keyword} e obtenha informações básicas sobre sintaxe rapidamente.

1
LawrenceC

Eu apenas uso grep. Se eu quisesse saber o que o -s opção do comando read, tentei estes comandos em ordem até obter uma resposta:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

Nesse caso, apenas o comando info forneceu uma resposta clara. Esta excelente resposta fornece detalhes sobre os diferentes sistemas de ajuda.

1
Cees Timmerman

Se você está aborrecido com o fato de man printf fornecer a printf (1) e tudo o que você quer é printf (3), você pode dizer ao homem que deseja a printf da seção 3 colocando a seção antes da printf, da seguinte forma: man 3 printf, sem precisar alterar a ordem dos diretórios varridos na variável de ambiente MANPATH e colocar os do idioma C antes dos dos comandos do Shell.

1
Li Lo

E para aquelas pessoas que gostam de ler as páginas de homem e informações em uma tela sensível ao toque, você pode canalizar man/info para o yad ou zenity e usar todos os itens do gtk3, como rolagem de dedo nativa. Também funciona muito bem com tela e mouse refinados:

man cat |yad --text-info 

Você também pode usar o zenity ou adicionar opções de yad como:

man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &

Dica: por show uri, você pode clicar nos links da web nas páginas de manual com o mouse/dedo.

0
George Vasiliou

enter image description here Se você achar difícil ler as páginas de manual devido a todo o texto em branco, poderá colori-las. A maioria das páginas de manual é aberta com less. Para less, eu uso as seguintes configurações de cores 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 "[email protected]"
}

Isso é para bash e zsh. Para most, fish, xterm e rxvt veja o link acima.

Para leitura adicional:

0
vikram99

O comando apropos (1) é usado para pesquisar páginas de manual. No entanto, a maioria das implementações de apropos (1) basta pesquisar na seção NAME, o que é muito limitante.

NetBSD possui uma implementação de pesquisa de texto completo de apropos (1), capaz de pesquisar o conteúdo completo das páginas de manual. Também existe uma interface baseada na Web: man-k.org , que você pode experimentar.

0
Abhinav Upadhyay