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.
Comandos Internos vs. Comandos Externos
Section titled “Comandos Internos vs. Comandos Externos”É 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:
# Verificar o tipo de um comandotype cd# cd is a shell builtin
type ls# ls is aliased to 'ls --color=auto'
type grep# grep is /usr/bin/grepUsando o help
Section titled “Usando o help”A sintaxe básica do help é:
help [comando_interno]Exemplos práticos:
# Listar todos os comandos internos disponíveis no Bashhelp
# Obter ajuda sobre o comando 'cd'help cd
# Obter ajuda sobre o comando 'export'help export
# Obter ajuda sobre o comando 'alias'help aliasA 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. ...A opção --help em Comandos Externos
Section titled “A opção --help em Comandos Externos”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:
# Ajuda rápida do comando lsls --help
# Ajuda rápida do comando grepgrep --help
# Ajuda rápida do comando findfind --helpman - O Manual Completo do Sistema
Section titled “man - O Manual Completo do Sistema”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.
Sintaxe Básica
Section titled “Sintaxe Básica”man [seção] comandoExemplos:
# Consultar o manual do comando lsman ls
# Consultar o manual do comando grepman grep
# Consultar o manual do arquivo /etc/passwdman passwd
# Consultar o manual do comando em uma seção específicaman 5 passwdNavegação nas Páginas do Manual
Section titled “Navegação nas Páginas do Manual”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 |
Seções do Manual
Section titled “Seções 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 |
Estrutura de uma Página de Manual
Section titled “Estrutura de uma Página de Manual”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 |
Pesquisando Manuais com man -k e apropos
Section titled “Pesquisando Manuais com man -k e apropos”Quando você não sabe exatamente o nome do comando que procura, pode pesquisar por palavras-chave na base de dados do manual:
# Pesquisar por palavra-chave usando man -kman -k "copy files"
# O comando apropos é equivalente a man -kapropos "copy files"
# Pesquisar por manuais relacionados a "network"man -k network
# Pesquisar por manuais relacionados a "partition"apropos partitionOutras Opções Úteis do man
Section titled “Outras Opções Úteis do man”# Exibir todas as seções disponíveis para um comandoman -f passwd# Equivalente ao comando: whatis passwd
# Exibir o caminho do arquivo de manualman -w ls
# Exibir o manual de todas as seções de um comandoman -a passwdinfo - 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.
Sintaxe Básica
Section titled “Sintaxe Básica”info [comando]Exemplos:
# Consultar a documentação info do comando lsinfo ls
# Consultar a documentação info do comando grepinfo grep
# Consultar a documentação info do coreutils (utilitários GNU)info coreutils
# Abrir o diretório principal do info (índice geral)infoNavegação no info
Section titled “Navegação no 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 |
Estrutura do info
Section titled “Estrutura 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ênciasOs 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.
info vs. man — Quando Usar Cada Um?
Section titled “info vs. man — Quando Usar Cada Um?”| 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 |
Outros Recursos de Ajuda
Section titled “Outros Recursos de Ajuda”Além do help, man e info, existem outros recursos úteis para obter documentação no Linux:
Documentação em /usr/share/doc
Section titled “Documentação em /usr/share/doc”Muitos pacotes instalam documentação adicional no diretório /usr/share/doc/. Esses arquivos podem incluir guias, exemplos de configuração, changelogs e READMEs:
# Listar a documentação disponívells /usr/share/doc/
# Ver a documentação de um pacote específicols /usr/share/doc/bash/
# Ler o README de um pacotecat /usr/share/doc/bash/READMEO Comando whatis
Section titled “O Comando whatis”O whatis exibe uma descrição de uma linha sobre um comando, extraída da base de dados do manual:
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 filesystemO Comando whereis
Section titled “O Comando whereis”O whereis localiza o binário, o código-fonte e a página de manual de um comando:
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.gzResumo dos Comandos
Section titled “Resumo dos Comandos”| 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 |