Diferença entre help, info e man command

33

Eu sei que esses comandos ajudarão a obter sintaxe e opções para os comandos, mas minha pergunta é: como eles diferem entre si?

Rupesh Pawar
fonte

Respostas:

17

helpé um comando bash. Ele usa estruturas internas do bash para armazenar e recuperar informações sobre os comandos do bash.

mané um conjunto de macros para o processador troff (via groff). A saída do processamento de um único arquivo é enviada para um pager pelo mancomando por padrão.

infoé um visualizador somente de texto para arquivos no formato info do Texinfo .

Ignacio Vazquez-Abrams
fonte
6
O homem é mais do que um "conjunto de macros para o processador de troffs". -1 para esta resposta.
precisa saber é o seguinte
@fpmurphy: Não muito.
Ignacio Vazquez-Abrams
3
Isso explica muito pouco.
Ankur S
30

helpé um comando bashinterno no shell (e somente esse shell) que documenta alguns dos comandos e palavras-chave internos do shell. Esse é um sistema de documentação interno desse shell. Outros shells possuem seu próprio sistema de documentação ( ksh93possui --helpe --manopções para seus componentes internos, zshpossui um auxiliar de execução que extrai informações de manuais em outros formatos). Outros comandos, como vimtêm seu próprio sistema de documentação incorporado.

mané um sistema de documentação em todo o sistema que fornece manuais curtos de referência (páginas) para comandos individuais, funções da API, conceitos, sintaxe do arquivo de configuração, formatos de arquivo organizados em seções (1 para comandos do usuário, 2 para chamadas do sistema ...). Esse é o sistema tradicional de documentação Unix.

infoé outro sistema de documentação originário do projeto GNU. É um hipertexto com links (antecede a web). Um manual de informações é como um livro digital com um conceito de índice e índice (pesquisável) que ajuda a localizar as informações.

Há sobreposição entre os 3. Por exemplo, bashfazer parte do projeto GNU tem uma página de manual e um manual de informações. O tamanho do manual faz com que o sistema man não seja tão apropriado para isso bash. No entanto, a estrutura do manual de informações e do índice não é muito boa, o bashque torna mais fácil procurar informações do que em outros infomanuais como zsho de. zshO manual sendo ainda maior é dividido em várias páginas de infomanual e também possui um bom manual com um índice muito bom.

Note-se que o infomanual é gerado a partir de um texinfoformato que também é usado para gerar versões HTML e imprimíveis (PDF / PS). No zshentanto, o texinfo é gerado a partir de outro formato ( yodl).

Stéphane Chazelas
fonte
2
Esta é a melhor resposta, parabéns. O aceito é conciso demais para ser útil, dada a natureza geral da questão.
Neuronet
também útil help help:; não é útil: man help.
De Novo suporta GoFundMonica
1
@ DeNovo, sim, uma vez que helpé um builtin de bash. Mais útil: info bash help.
Stéphane Chazelas
25

helpé um bashbuilt-in, fornecendo ajuda bashapenas para comandos

mané a forma tradicional de ajuda para quase todos os comandos do seu sistema e, não apenas, às vezes também os arquivos de configuração têm sua própria página de manual. Nas distribuições Linux organizadas em pacotes, o texto relativo é geralmente fornecido a partir do mesmo pacote que fornece o comando. Se você possui, bash-completionpode aproveitar TABpara ver quais páginas de manual estão disponíveis.

infoé um sistema alternativo para fornecer páginas de manual para comandos, com base em GNU emacs. É fornecido principalmente para GNUcomandos e utilitários. Não parece ser amplamente adotado por outros.

enzotib
fonte