Diferença entre 'man ls' e 'ls --help'?

6

Eu uso os programas man e --help na programação Bash para obter ajuda. Por exemplo, para obter informações sobre o uso do comando ls , posso usar

man ls 

Ou

ls --help

Ambos fornecem alguma saída semelhante. Qual é a diferença entre esses dois?

    
por Dili 13.12.2011 / 05:46

5 respostas

7

Por um lado, --help não é um comando, é um argumento que é frequentemente dado para um comando para obter ajuda para usá-lo. Enquanto isso, man é um comando, abreviação de "manual". As páginas de manual são instaladas por muitos programas e são uma maneira comum de encontrar ajuda sobre comandos, bem como chamadas do sistema (por exemplo, fork() ).

Se um programa instala uma página de manual, ele sempre pode ser acessado pelo comando man , enquanto --help é apenas uma convenção comum, mas não precisa ser imposto - pode ser apenas (e apenas) -h .

man também costuma usar um pager, como less , automaticamente, o que pode tornar a visualização e a pesquisa nas informações muito mais fáceis.

Finalmente, você menciona a programação Bash na sua pergunta - nada disso é exclusivo do Bash. Bash não se importa com os comandos em si ou seus argumentos na maior parte.

    
por 13.12.2011 / 05:51
4

Na maioria dos cenários man é mais detalhado que --help . help fornece as opções da linha de comandos para um comando específico. Mas man é muito mais detalhado.

Além disso, man é uma ferramenta de linha de comando, enquanto --help é um argumento da linha de comando para uma ferramenta. Pequena diferença.

    
por 13.12.2011 / 05:50
2

No primeiro, você pede ao sistema para procurar nas páginas de manual por ajuda no comando. O segundo você está pedindo o comando para fornecer sua própria ajuda. Os dois certamente irão diferir - geralmente o comando fornece um lembrete de suas opções, onde a página man é uma descrição detalhada.

    
por 13.12.2011 / 05:50
0

man some_command é algo que você pode esperar para trabalhar em todos os sistemas operacionais Unix e Unix, a menos que as páginas de manual não estejam instaladas.

some_command --help é principalmente um GNUism, então geralmente não funciona com implementações não-GNU.

O GNU, que não gosta de páginas de manual por algum motivo, também introduziu info some_command como terceira alternativa.

    
por 13.12.2011 / 07:26
0

Eu acho --help útil, pois me permite chamar ajuda enquanto modifico um comando

Por exemplo

rsync -vPn ./* ./newfolder/.

Oh - Qual é a bandeira da compressa?

rsync -vPn --help ./* ./newfolder/. | less

Eu acho o comando de ajuda nas bandeiras às vezes muito útil e consome menos tempo. Com o homem eu tenho que digitá-lo e voltar a minha história para voltar ao comando em que eu estava.

    
por 06.02.2012 / 12:59

Tags