Skip to content

Obtendo ajuda no Linux

O Linux possui um sistema de documentação robusto e integrado ao próprio terminal. Antes de recorrer a buscas na internet, é fundamental saber que a grande maioria dos comandos, utilitários e arquivos de configuração já possuem documentação detalhada acessível localmente. Os três principais mecanismos para consultar essa documentação são o help, o info e o man.

Dominar essas ferramentas é uma habilidade essencial para qualquer administrador de sistemas ou usuário avançado do Linux, pois permite resolver dúvidas de forma rápida, mesmo em servidores sem acesso à internet.


help - Ajuda Rápida para Comandos Internos do Shell

Section titled “help - Ajuda Rápida para Comandos Internos do Shell”

O comando help é um recurso interno do Bash (builtin) utilizado para exibir informações sobre os comandos embutidos no próprio shell. Ele não funciona para comandos externos (binários instalados no sistema), apenas para os builtins do Bash.


É importante entender essa distinção:

| Tipo | Descrição | Exemplos | Onde consultar ajuda | |------|-----------|----------|----------------------| | Interno (builtin) | Faz parte do próprio Bash | cd, echo, alias, export, history | help | | Externo | Binário instalado no sistema | ls, grep, find, cat, awk | man, info |


Para verificar se um comando é interno ou externo, utilize o comando type:

Terminal window
# Verificar o tipo de um comando
type cd
# cd is a shell builtin
type ls
# ls is aliased to 'ls --color=auto'
type grep
# grep is /usr/bin/grep

A sintaxe básica do help é:

Terminal window
help [comando_interno]

Exemplos práticos:

Terminal window
# Listar todos os comandos internos disponíveis no Bash
help
# Obter ajuda sobre o comando 'cd'
help cd
# Obter ajuda sobre o comando 'export'
help export
# Obter ajuda sobre o comando 'alias'
help alias

A saída do help cd, por exemplo, exibe informações sobre a sintaxe, as opções disponíveis e o comportamento do comando:

cd: cd [-L|[-P [-e]] [-@]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
...

Embora o help funcione apenas para builtins, a maioria dos comandos externos aceita a opção --help (ou -h), que exibe um resumo rápido de uso e das principais opções:

Terminal window
# Ajuda rápida do comando ls
ls --help
# Ajuda rápida do comando grep
grep --help
# Ajuda rápida do comando find
find --help

O comando man (manual) é a ferramenta mais utilizada para consultar documentação no Linux. Ele fornece páginas de manual detalhadas para comandos, arquivos de configuração, chamadas de sistema, bibliotecas e muito mais.

Terminal window
man [seção] comando

Exemplos:

Terminal window
# Consultar o manual do comando ls
man ls
# Consultar o manual do comando grep
man grep
# Consultar o manual do arquivo /etc/passwd
man passwd
# Consultar o manual do comando em uma seção específica
man 5 passwd

As páginas do man são exibidas através de um paginador (geralmente o less). Os principais atalhos de navegação são:

| Tecla | Ação | |-------|------| | Espaço ou Page Down | Avançar uma página | | b ou Page Up | Voltar uma página | | / | Rolar linha a linha | | /texto | Pesquisar por “texto” para frente | | ?texto | Pesquisar por “texto” para trás | | n | Ir para a próxima ocorrência da pesquisa | | N | Ir para a ocorrência anterior da pesquisa | | g | Ir para o início do manual | | G | Ir para o final do manual | | q | Sair do manual |

As páginas de manual são organizadas em seções numeradas, cada uma dedicada a um tipo específico de documentação:

| Seção | Conteúdo | Exemplo | |-------|----------|---------| | 1 | Comandos de usuário | man 1 ls | | 2 | Chamadas de sistema (system calls) | man 2 open | | 3 | Funções de bibliotecas C | man 3 printf | | 4 | Arquivos especiais (/dev) | man 4 tty | | 5 | Formatos de arquivos e convenções | man 5 passwd | | 6 | Jogos e demonstrações | man 6 intro | | 7 | Miscelânea (protocolos, conceitos) | man 7 ip | | 8 | Comandos de administração do sistema | man 8 mount | | 9 | Rotinas do kernel (não padrão) | man 9 printk |

Uma página de manual típica é dividida nas seguintes seções:

| Seção | Descrição | |-------|-----------| | NAME | Nome do comando e uma breve descrição | | SYNOPSIS | Sintaxe de uso do comando | | DESCRIPTION | Descrição detalhada do comando e suas funcionalidades | | OPTIONS | Lista de opções e argumentos disponíveis | | EXAMPLES | Exemplos práticos de uso (nem sempre presente) | | FILES | Arquivos relacionados ao comando | | SEE ALSO | Referências a outros comandos e manuais relacionados | | BUGS | Problemas conhecidos | | AUTHOR | Autor(es) do comando ou da documentação |

Quando você não sabe exatamente o nome do comando que procura, pode pesquisar por palavras-chave na base de dados do manual:

Terminal window
# Pesquisar por palavra-chave usando man -k
man -k "copy files"
# O comando apropos é equivalente a man -k
apropos "copy files"
# Pesquisar por manuais relacionados a "network"
man -k network
# Pesquisar por manuais relacionados a "partition"
apropos partition
Terminal window
# Exibir todas as seções disponíveis para um comando
man -f passwd
# Equivalente ao comando: whatis passwd
# Exibir o caminho do arquivo de manual
man -w ls
# Exibir o manual de todas as seções de um comando
man -a passwd

info - Documentação em Formato Hipertexto

Section titled “info - Documentação em Formato Hipertexto”

O comando info é o sistema de documentação do projeto GNU. Ele apresenta a documentação em um formato de hipertexto com navegação entre nós (seções), o que permite uma leitura mais estruturada e interligada do que as páginas do man.

Nem todos os comandos possuem páginas info dedicadas. Quando uma página info não está disponível para um determinado comando, o sistema geralmente exibe a página man correspondente.

Terminal window
info [comando]

Exemplos:

Terminal window
# Consultar a documentação info do comando ls
info ls
# Consultar a documentação info do comando grep
info grep
# Consultar a documentação info do coreutils (utilitários GNU)
info coreutils
# Abrir o diretório principal do info (índice geral)
info

O info utiliza um sistema de navegação próprio baseado em nós (nodes). Os principais atalhos são:

| Tecla | Ação | |-------|------| | Espaço | Avançar uma página | | Backspace ou Delete | Voltar uma página | | n | Ir para o próximo nó (seção) | | p | Ir para o nó anterior | | u | Subir um nível na hierarquia | | Enter | Seguir um link (marcado com *) | | l | Voltar ao último nó visitado | | t | Ir para o nó principal (top) do documento | | d | Ir para o diretório principal do info | | s ou / | Pesquisar texto | | q | Sair do info |

A documentação info é organizada em uma estrutura hierárquica de nós:

Diretório Principal (info)
└── Manual do Comando (ex: info coreutils)
├── Introdução
├── Invocação
├── Opções
│ ├── Opções comuns
│ └── Opções específicas
├── Exemplos
└── Referências

Os links dentro do info são identificados por um asterisco (*) seguido do nome do nó. Para segui-los, posicione o cursor sobre o link e pressione Enter.

| Característica | man | info | |----------------|-------|--------| | Formato | Texto linear | Hipertexto com nós | | Navegação | Rolagem simples | Navegação entre nós e links | | Cobertura | Praticamente todos os comandos | Principalmente comandos GNU | | Profundidade | Referência concisa | Documentação mais detalhada e tutorial | | Uso típico | Consulta rápida de opções e sintaxe | Estudo aprofundado de ferramentas GNU |

Além do help, man e info, existem outros recursos úteis para obter documentação no Linux:

Muitos pacotes instalam documentação adicional no diretório /usr/share/doc/. Esses arquivos podem incluir guias, exemplos de configuração, changelogs e READMEs:

Terminal window
# Listar a documentação disponível
ls /usr/share/doc/
# Ver a documentação de um pacote específico
ls /usr/share/doc/bash/
# Ler o README de um pacote
cat /usr/share/doc/bash/README

O whatis exibe uma descrição de uma linha sobre um comando, extraída da base de dados do manual:

Terminal window
whatis ls
# ls (1) - list directory contents
whatis passwd
# passwd (1) - change user password
# passwd (5) - the password file
whatis mount
# mount (2) - mount filesystem
# mount (8) - mount a filesystem

O whereis localiza o binário, o código-fonte e a página de manual de um comando:

Terminal window
whereis ls
# ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
whereis grep
# grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz /usr/share/info/grep.info.gz

| Comando | Finalidade | Exemplo | |---------|-----------|---------| | help | Ajuda para comandos internos do Bash | help cd | | --help | Resumo rápido de comandos externos | ls --help | | man | Manual completo do sistema | man ls | | man -k / apropos | Pesquisar manuais por palavra-chave | man -k "copy" | | info | Documentação GNU em hipertexto | info grep | | whatis | Descrição breve de um comando | whatis ls | | whereis | Localizar binário e manual de um comando | whereis ls | | type | Verificar se um comando é interno ou externo | type cd |