Linux / Comando man: consultar e pesquisar manuais

man permite ler no terminal os manuais instalados de comandos, arquivos de configuração, chamadas de sistema e funções de biblioteca. Por exemplo, man ls abre a documentação de ls; para escolher uma seção específica, use um número, como em man 5 passwd.

Uma instrução da internet pode descrever uma versão diferente da instalada. Consulte o manual local para conferir opções e condições de uso. A seguir, veja como abrir páginas, navegar, escolher seções, pesquisar e resolver a ausência de documentação.

O que é o comando man?

man procura a página nos caminhos configurados, formata o conteúdo e o apresenta em um paginador, programa que permite ler uma tela de cada vez. O paginador costuma ser less; a configuração e as variáveis MANPAGER e PAGER podem alterar essa escolha. No man-db, MANPAGER tem prioridade sobre PAGER.

O programa man não contém todos os manuais. As páginas são distribuídas por pacotes de comandos, bibliotecas ou documentação. Por isso, a presença de uma página depende dos pacotes e das versões instaladas; instalar o leitor não garante que todo comando tenha documentação local.

Sintaxe básica e primeiro exemplo

O esquema abaixo descreve a sintaxe; não é um comando pronto para executar. opções, seção e página são campos a substituir. Colchetes indicam partes opcionais e as reticências indicam repetição; não os digite literalmente nos exemplos seguintes.

man [opções] [[seção] página...]

Para abrir o manual do comando ls, execute-o da seguinte forma.

man ls

Se você quiser abrir a página de uma seção específica, especifique o número da seção antes do nome da página.

man 5 passwd

O comando acima abre a página da seção 5, que explica o formato de arquivo /etc/passwd, não o comando passwd. Se você omitir a seção, como man passwd, ele pesquisa em uma ordem predefinida e mostra apenas a primeira página encontrada.

Como navegar e pesquisar na tela do manual

As seguintes teclas geralmente estão disponíveis quando o paginador é less. Se um paginador diferente estiver configurado, as operações das teclas podem variar.

Tecla Ação
Space, Page Down Mover para a próxima tela.
b, Page Up Mover para a tela anterior.
↑, ↓ Mover para cima ou para baixo uma linha de cada vez.
g Mover para o início do documento.
G Mover para o final do documento.
/texto Procura texto adiante a partir da posição atual.
?texto Procura texto para trás a partir da posição atual.
n, N n repete a busca na direção anterior; N repete na direção oposta.
h Abre a ajuda do próprio less.
q Sair do manual.

Por exemplo, se você abrir man ls e então digitar /-a e pressionar Enter, você pode encontrar o local onde -a aparece. Opções curtas podem coincidir com outras palavras no texto, então, se necessário, é mais rápido procurar por nomes de opções longas ou palavras-chave na descrição, como --all.

Lendo a estrutura de uma página de manual

Nem todo item existe em todas as páginas, mas um manual típico de comando é organizado nas seguintes seções.

Seção Conteúdo
NAME Resume o nome da página e a função em uma linha.
SYNOPSIS Mostra o formato de uso dos comandos ou funções.
DESCRIPTION Explica em detalhes como funciona e sua finalidade.
OPTIONS Descreve as opções disponíveis e o efeito de cada opção.
EXIT STATUS Explica o status de saída que distingue o sucesso de uma falha.
ENVIRONMENT Descreve variáveis de ambiente que afetam a operação.
FILES Mostra arquivos de configuração relacionados, arquivos de dados e seus caminhos.
EXAMPLES Fornece exemplos de uso reais. Pode não estar disponível em todas as páginas.
SEE ALSO Indica outras páginas de manual que são boas para ler junto.

SYNOPSIS também enfatiza a importância da notação. O texto em negrito normalmente representa entradas que devem ser digitadas exatamente como estão, enquanto o texto em itálico geralmente indica valores que o usuário deve substituir. [ ] denota itens opcionais, e ... significa itens repetíveis. No entanto, a representação pode variar dependendo da formatação da página e do ambiente de saída, então você também deve ler a explicação na respectiva página.

Significado dos números das seções do manual

Os manuais do Linux são divididos em seções de acordo com a natureza do documento. Como páginas com o mesmo nome podem existir em várias seções, é bom conhecer o número da seção para encontrar o documento desejado sem erros.

Seção Classificação Exemplo
1 Programas executáveis e comandos de shell ls(1), grep(1)
2 Chamadas de sistema open(2), read(2)
3 Chamadas de biblioteca printf(3), malloc(3)
4 Arquivos especiais e dispositivos null(4), interfaces de dispositivos
5 Formatos de arquivos e convenções passwd(5), fstab(5)
6 Jogos Manuais de jogos instalados
7 Outros tópicos e convenções signal(7), man-pages(7)
8 Comandos de administração do sistema mount(8), useradd(8)
9 Rotinas do kernel Esta é uma seção não padrão e pode não existir em todos os sistemas

Na documentação, você pode ver um número após um nome como passwd(1) ou passwd(5). Este número não é uma versão, mas uma seção do manual. Cada uma pode ser aberta da seguinte forma.

man 1 passwd
man 5 passwd

Como encontrar páginas com o mesmo nome

Verifique todas as seções correspondentes

-a exibe todas as páginas encontradas na ordem da pesquisa uma por vez. Após sair da primeira página, o comportamento detalhado, como perguntar se deseja abrir a próxima página ou exibir imediatamente o próximo documento, pode variar dependendo da implementação e das configurações.

man -a passwd

-f exibe o nome da página e uma breve descrição. Tem finalidade semelhante à de whatis.

man -f passwd
whatis passwd

Abrir apenas uma seção específica

Se você souber qual seção deseja, especificar o número é o mais preciso. Além do formato separado por espaços, algumas implementações do man suportam formatos como passwd.5 ou o formato entre aspas 'passwd(5)'.

man 5 passwd
man passwd.5
man 'passwd(5)'

Prefira man 5 passwd quando quiser um formato claro e amplamente usado. As grafias alternativas do exemplo são aceitas pelo man-db; confirme o suporte em outra implementação.

Como pesquisar por palavra-chave quando você não conhece o nome

Pesquisando por nome e descrição curta

man -k pesquisa por palavras-chave nos nomes e descrições curtas das páginas de manual. apropos também é usado para o mesmo propósito.

man -k "copy files"
apropos "copy files"

No man-db, -k usa expressões regulares para pesquisar nomes e descrições. As aspas mantêm uma frase como um único argumento do shell, mas não desativam os metacaracteres da expressão regular. Os termos em inglês dos exemplos só produzirão resultados se aparecerem na documentação consultada; adapte a busca ao idioma disponível.

Pesquisando em todo o texto do manual

-K faz uma busca mais ampla no texto-fonte das páginas. Ela pode demorar e encontrar comentários de formatação ou deixar de reconhecer palavras codificadas de outra maneira no arquivo. Comece com -k e recorra a -K quando necessário.

man -K "environment variable"

Reduzir o alcance para uma seção específica pode reduzir o tempo de pesquisa.

man -K 5 "password database"

Opções do man mais usadas

As opções abaixo estão organizadas com base na implementação man-db amplamente usada no Linux. Como o suporte e o significado podem diferir em outros sistemas operacionais ou implementações, a maneira mais precisa de verificar é usar man man para a descrição no sistema atual.

Opção Descrição
-a, --all Exibe todas as páginas de manual que correspondem ao nome.
-f, --whatis Imprime o nome da página e uma breve descrição.
-k, --apropos Procura por palavras-chave em nomes e descrições breves.
-K, --global-apropos Procura texto nos arquivos-fonte das páginas de manual.
-w, --where Exibe a localização do arquivo de manual original sem abrir a página.
-l, --local-file Exibe o arquivo de manual local especificado em vez do caminho de busca.
-L locale, --locale=locale Especifica a localidade a ser usada nessa execução.
-M caminho, --manpath=caminho Especifica diretamente o caminho onde as páginas de manual serão pesquisadas.

Por exemplo, você pode verificar o local real do arquivo de manual ls que você está lendo da seguinte forma.

man -w ls

Comandos internos do Bash: use help

No Bash, comandos internos como cd, alias e read são executados pelo próprio shell. Use type para identificar o comando e help para ler a ajuda da versão de Bash em uso. A explicação de como usar o help do Bash, em inglês detalha essa diferença.

type cd
help cd
help -m cd

help -m exibe a ajuda em um formato semelhante à página do manual. Você pode verificar uma explicação detalhada do Bash da seguinte forma.

man bash

Um nome pode corresponder a um alias, uma função, um comando interno ou um programa externo. type -a printf, por exemplo, pode mostrar tanto o builtin de Bash quanto um executável encontrado no caminho de busca; a saída depende do ambiente.

type -a printf

Manuais em português e configuração de locale

Locale é a configuração de idioma e convenções regionais do ambiente. Quando há uma tradução instalada e compatível com o locale, man pode selecioná-la. Confira a configuração atual:

locale
echo "$LANG"

Para procurar temporariamente a documentação do locale C, normalmente em inglês, use -L. Isso não instala traduções nem altera permanentemente o idioma do sistema.

man -L C ls

Configurar português não cria uma tradução ausente. A página em inglês pode aparecer se não houver uma versão traduzida instalada. Se uma opção estiver ausente ou parecer diferente, compare a documentação local, a versão do programa e a página em inglês correspondente.

Como proceder quando uma página de manual não estiver disponível

Verifique se o comando e os pacotes relacionados estão instalados

A mensagem No manual entry for ... pode indicar nome ou seção incorretos, página ausente ou caminho de busca inadequado. Para investigar um comando, substitua ls abaixo pelo nome desejado. type -a descreve as correspondências; command -v mostra a resolução do comando, não necessariamente um caminho de executável.

type -a ls
command -v ls

Em instalações mínimas ou contêineres, o leitor e os manuais básicos podem estar ausentes. Para Debian e Ubuntu, o primeiro bloco instala man-db e manpages. Para Rocky Linux e RHEL, o segundo usa man-db e man-pages. Execute somente o bloco da sua distribuição; os comandos modificam os pacotes instalados e exigem privilégios administrativos.

sudo apt update
sudo apt install man-db manpages
sudo dnf install man-db man-pages

Esses pacotes não incluem a documentação de todos os programas. O catálogo oficial do pacote manpages do Debian mostra sua cobertura; o repositório BaseOS do Rocky Linux 9 lista os pacotes man-db e man-pages. Procure o pacote específico do programa ou de documentação na sua versão. Imagens que excluem arquivos de documentação também podem exigir rever essa política e reinstalar o pacote afetado; atualizar o índice não recria arquivos ausentes.

Verificando bancos de dados de pesquisa e caminhos

Se man ls abrir, mas man -k ou whatis não encontrarem uma página existente, o índice pode estar ausente ou desatualizado. No man-db, mandb atualiza os índices; isso não baixa nem instala novos manuais. Uma busca também pode falhar porque o termo ou o idioma não correspondem à descrição.

sudo mandb

Você pode verificar o caminho de busca do manual com manpath. Se o usuário definir MANPATH diretamente, o caminho de busca padrão pode mudar, então geralmente é melhor evitar fixá-lo sem um motivo específico.

manpath
printf '%s\n' "$MANPATH"

Exemplos práticos

Encontrando opções rapidamente

Após abrir o manual, você pode encontrar rapidamente as opções necessárias em documentos longos usando a tecla de busca.

man tar

Digite /--exclude na tela e pressione Enter, depois mova-se entre os resultados da busca usando n e N.

Verificando o formato do arquivo de configuração

Antes de modificar o arquivo de configuração, verifique se existem páginas relevantes na Seção 5. Os significados dos campos, valores permitidos, regras de comentário e exemplos podem ser explicados.

man 5 fstab
man 5 ssh_config
man 5 sshd_config

Consultar documentos relacionados

Se você não conseguir encontrar a resposta em uma página, verifique SEE ALSO no final do documento. Comandos relacionados, arquivos de configuração, chamadas de sistema e documentos conceituais estão vinculados no formato nome(seção), permitindo que você amplie sistematicamente o escopo da pesquisa.

man 2 open
man 7 path_resolution

Como diferem man, --help e info?

Método Situações adequadas Recursos
comando --help Quando você quer rapidamente visualizar a sintaxe e as opções Resposta breve; nem todo programa oferece --help.
man comando Quando você quer ver documentação detalhada relacionada ao significado das opções, arquivos e variáveis de ambiente Fornece documentos de referência instalados no sistema atual
info comando Quando você quer ler capítulos de programas GNU e exemplos em profundidade É uma estrutura de hipertexto e requer um documento Info separado.
help comando Ao verificar comandos internos do Bash Mostra a ajuda para comandos internos fornecidos pelo Bash atual

Em vez de se limitar a apenas um, é eficiente primeiro verificar a sintaxe com --help, ler o comportamento detalhado em man e usar help juntamente para comandos incorporados ao shell.

Perguntas frequentes

O número após man é a versão?

Não. Os números em printf(1) e printf(3) indicam seções do manual. A Seção 1 cobre comandos de usuário, e a seção 3 cobre funções de biblioteca, então, mesmo que os nomes sejam os mesmos, são documentos diferentes.

Como sair do manual?

Se o pager padrão for less, pressione q. Se não sair, verifique a ajuda ou as configurações do pager que você está utilizando atualmente.

Por que o conteúdo da página de manual é diferente dos documentos online?

O manual local depende dos pacotes, da versão e da documentação instalada. Uma página online pode descrever outra versão ou implementação. Compare os dois e consulte a identificação de versão oferecida pelo programa, como ls --version; a opção --version não é universal.

E se você não souber absolutamente o nome do comando?

Use man -k palavra ou apropos palavra. Se houver resultados demais, escolha uma expressão mais específica ou limite as seções com -s quando a implementação oferecer essa opção. Digitar vários termos separados não implica necessariamente exigir todos eles.

Resumo

man é uma ferramenta básica para verificar documentos de referência instalados no sistema Linux atual. Em vez de apenas memorizar man comando, se você também aprender os números das seções, busca -k, resumo -f, verificação de caminho -w e busca em pager juntos, fica mais fácil encontrar a informação necessária.

Primeiro, execute man man para verificar as opções fornecidas pela implementação man no seu sistema. Usar o comando interno do shell help, verificação de opção curta --help e descrição longa de programas GNU info juntos pode reduzir lacunas na navegação do documento.

Documentação oficial