Como usar o comando man do Linux: princípios básicos e segredos ocultos

Um prompt de terminal em um laptop Linux.
Fatmawati Achmad Zaenuri / Shutterstock

Tudo o que você precisa saber sobre o Linux está nas páginas de manual. Por exemplo, você pode pesquisar um comando para realizar uma tarefa, mesmo se não souber como ele se chama. Mas como você pode encontrar as páginas do manual? Aqui estão alguns truques.

Manual Integrado do Linux

Existe uma velha (da era dourada do Unix) piada do Linux que diz que o único comando que você precisa saber é mano ponto de entrada do sistema para o manual do usuário . Há um pouco de verdade nisso, mas até manpode ser confuso no início. Ou, mais precisamente, encontrar as informações de que você precisa pode ser confuso.

Você já sabia o que queria fazer, mas não sabia o nome do comando que executaria a tarefa? Provavelmente todos nós já passamos por isso. É como tentar procurar uma palavra no dicionário sem conhecê-la.

Então, como você pode encontrar o que está procurando? Bem, existem maneiras de contornar esse dilema com man.

Os números são outra questão dos calouros. O que são e o que significam? Você verá coisas como man(2)ou man(5)citadas na documentação e na Internet. Você verá referências a comandos seguidos de números também, como  mount(2)e mount(8). Certamente não pode haver mais de um mountcomando, certo? Como veremos, os números são importantes e relativamente simples.

Falando em coisas simples, pesquisar dentro mané muito fácil quando você sabe como fazê-lo. Na verdade, existem algumas maneiras interessantes de pesquisar e navegar nele man. Vamos ligar e dar uma olhada!

Como abrir o manual

Para usar man, você digita manna linha de comando, seguido por um espaço e um comando Linux. manabre o manual do Linux na “página man” que descreve esse comando – se ele puder encontrá-lo, é claro.

Vamos digitar o seguinte e ver o que mandiz sobre man:

homem homem

O comando "man man" em uma janela de terminal.

A página do manual para é manaberta.

A página do manual para "man 1" é aberta em uma janela de terminal.

Como você pode ver, esta é a man(1)página.

Siga estas dicas para navegar na página:

  • Para percorrer a página do manual uma linha por vez:  Use a roda de rolagem do mouse ou as setas para cima e para baixo e as teclas Enter.
  • Para percorrer a página do manual uma tela por vez: Pressione a barra de espaço e as teclas PgDn e PgUp.
  • Para ir diretamente para a parte superior ou inferior da página de manual:  Pressione as teclas Home e End.

Se você pressionar H, entrará na seção de ajuda e verá uma tabela de combinações de teclas alternativas que você pode usar. Os listados acima provavelmente parecerão mais naturais para a maioria das pessoas.

Para sair  man, basta pressionar Q.

A página da anatomia de um homem

Na parte superior da página, você vê os títulos “Nome” e “Sinopse”. Existe uma convenção para o layout das páginas do manual. Existem páginas de manual para comandos, programas e funções de programação (rotinas de biblioteca). Você não verá todos esses títulos em todas as páginas do manual, porque alguns deles se aplicam apenas a certos tipos de comandos.

Recomendado:  Os 5 jogos co-op clássicos com remakes modernos

A seguir estão alguns dos títulos que você pode ver:

  • Nome: o nome do comando que a página de manual descreve.
  • Sinopse: Um resumo do comando e sua sintaxe.
  • Configuração: detalhes de configuração de um dispositivo.
  • Descrição: uma explicação do que o programa faz.
  • Opções: uma descrição das opções de linha de comando que o comando aceita.
  • Status de saída: Valores de status de saída possíveis para o comando e o que pode fazer com que sejam usados.
  • Valor de retorno: se a página do manual for para uma rotina de biblioteca, isso descreve o valor que a rotina de biblioteca pode enviar de volta para a função que chamou essa rotina.
  • Erros: Uma lista dos valores que podem ser colocados em  errno caso de erro .
  • Ambiente: uma lista das variáveis ​​de ambiente que afetam o comando ou programa e de que maneira.
  • Arquivos: uma lista dos arquivos que o comando ou programa usa, como arquivos de configuração.
  • Atributos: um resumo de vários atributos do comando.
  • Versões: Detalhes do kernel Linux ou versões de biblioteca em que uma chamada de sistema ou função de biblioteca apareceu pela primeira vez ou mudou significativamente em relação às versões anteriores.
  • Em conformidade com: Uma descrição de todos os padrões com os quais o comando pode estar em conformidade, como POSIX .
  • Notas: notas diversas.
  • Bugs: problemas conhecidos.
  • Exemplos: Um ou mais exemplos que demonstram o uso do comando.
  • Autores: as pessoas que escreveram ou mantêm o comando.
  • Veja também: Leituras recomendadas relacionadas ao comando ou tópico.

As Seções do homem

Se você rolar algumas páginas para baixo, verá uma lista das seções do manual.

Seções manuais listadas em "man" em uma janela de terminal.

As seções são:

  1. Comandos gerais: comandos que você usa na linha de comando.
  2. Chamadas do sistema: funções que o kernel fornece e que um programa pode chamar.
  3. Funções de biblioteca: os programas de funções podem chamar bibliotecas de código (principalmente o padrão C).
  4. Arquivos especiais: geralmente dispositivos, como os encontrados em / dev, e seus drivers.
  5. Formatos de arquivo e convenções: Formatos de arquivos, como o passwdcronmesa, e tarficheiros de arquivo.
  6. Jogos:  descrições de comandos, como  fortune, que exibem citações de um banco de dados quando você os executa.
  7. Diversos:  Descrições de itens como inodes, parâmetros de inicialização e manele mesmo.
  8. Administração do sistema: Comandos e daemons normalmente reservados para roottrabalhar.
  9. Rotinas do kernel: Informações relacionadas ao funcionamento interno do kernel. Isso inclui interfaces de função e variáveis ​​úteis para programadores que estão escrevendo drivers de dispositivo, por exemplo. Na maioria dos sistemas, esta seção não está instalada.

Quando você vê um comando seguido por um número, está se referindo à descrição desse comando naquela seção do manual. Por exemplo, man(1) refere-se à entrada na seção um do manual que descreve o  man comando.

Na imagem acima, você vê uma referência a man(7). Isso significa que há mais informações sobre man em outra seção. Quando abrimos a página do manual pela primeira vez, ela foi exibida  man(1). Se você digitar apenas  man sem número de seção, man pesquisa todas as seções em ordem, procurando uma entrada para o comando que você digitou. Claro, ele encontrou man(1)antes  man(7).

Se você deseja forçar mana localização de uma entrada de uma seção específica, deverá incluir o número da seção na linha de comando.

Recomendado:  Como adicionar uma assinatura de e-mail ao Gmail

Por exemplo, digitamos o seguinte para abrir a entrada para  manna seção sete:

homem 7 homem

O comando "man 7 man" em uma janela de terminal.

O manual abre para a entrada do homem na seção sete.

Uma página "man" aberta na seção sete do manual em uma janela de terminal.

Esta página do manual fornece instruções para escrever páginas do manual. Ele descreve o formato de arquivo e as macros que você pode usar para fazer parte do trabalho para você. A man(1)página na seção um que vimos anteriormente descreveu como usar a mansi mesma.

Como Encontrar Entradas nas Seções

Normalmente, se você simplesmente deseja saber como usar um comando, não precisa fornecer um número de seção. manencontrará a entrada padrão que descreve como usar esse comando na seção um do manual. Às vezes, entretanto, você precisa abrir uma entrada de comando em uma seção específica porque deseja informações diferentes.

Você pode descobrir facilmente quais seções do manual contêm entradas para um comando. Cada página de manual possui um título e uma breve descrição. A -fopção (whatis) pesquisa os títulos das páginas e retorna uma lista de correspondências.

Para este exemplo, digitamos o seguinte:

man -f man

O comando "man -f man" em uma janela de terminal.

As duas páginas do manual para mansão listadas junto com seus números de seção e descrições resumidas. Porém, tenha cuidado – algumas entradas têm o mesmo nome, mas descrevem diferentes comandos e funções.

Por exemplo, digitamos o seguinte:

man -f printf

O comando "man -f printf" em uma janela de terminal.

Parece que foram encontradas duas entradas para printf: a primeira na seção um e outra na seção três. No entanto, esses são comandos diferentes. A página do manual na seção um descreve o comando da linha de printfcomando, que formata a saída na janela do terminal . A página man na seção três descreve a printf  família de funções de biblioteca na linguagem de programação C .

Também é possível pesquisar nas descrições curtas, bem como nos títulos das páginas. Para fazer isso, você usa a -kopção (apropos). Isso também corresponderá às ocorrências do termo de pesquisa dentro de outras palavras mais longas.

Nós digitamos o seguinte:

man -k printf

O comando "man -k printf" em uma janela de terminal.

Muitos desses comandos são descritos nas mesmas páginas do manual porque sua funcionalidade principal é basicamente a mesma. A página do manual vprintfdescreve a funcionalidade de 10 dos comandos listados na imagem acima.

Você pode aproveitar essa funcionalidade para pesquisar informações relacionadas ao que está tentando alcançar, mesmo se não souber o nome do comando que deseja usar.

Digamos que você queira alterar a senha de uma conta de usuário. Podemos pesquisar qualquer comando que mencione “usuário” nos títulos ou descrições das páginas de manual. Podemos então canalizá-lo greppara procurar entradas que contenham “senha”.

Para fazer isso, digitamos o seguinte:

man -k 'usuário' | senha grep

O comando "man -k 'user' | grep password" em uma janela de terminal.

Como colocamos a palavra “usuário” entre aspas simples e incluímos um espaço no final, ele só encontrará correspondências para “usuário”, não “usuários”. Uma rápida olhada nos resultados da pesquisa nos mostra o provável candidato passwd.

Como é uma página de manual da seção um e não precisamos incluir o número da seção no comando, digitamos o seguinte:

homem passwd

Digamos que precisamos de um comando que conte o número de palavras em um arquivo de texto. Nós digitamos o seguinte para ver se algo assim existe:

palavra -k homem | contagem grep

O comando "man -k word | grep count" em uma janela de terminal.

Para descobrir tudo o que há para saber sobre contagem de palavras, digitamos este comando:

homem wc

Falando nisso wc, também podemos usar a -kopção (apropos) com um único ponto ( .) como o destino da pesquisa, que irá corresponder a tudo. Se canalizarmos isso wce usarmos a -lopção (linhas), isso nos dirá quantas páginas de manual existem no computador.

Recomendado:  Como mostrar ou ocultar a barra de ferramentas de favoritos no Firefox

Para fazer tudo isso, digitamos o seguinte comando:

man -k. | wc -l

O comando "man -k. | Wc -l" em uma janela de terminal.

Existem 6.706 páginas de manual neste computador Ubuntu, mas não se surpreenda se o número for diferente no seu. Isso pode variar dependendo de quais pacotes de software e utilitários você tem em sua máquina e quais páginas de manual foram pré-instaladas.

Pesquisando em uma página de homem

Você também pode pesquisar para frente ou para trás em sua posição atual dentro de uma página de manual.

Para este exemplo, digitamos o seguinte para abrir a página de manual do historycomando:

história do homem

O comando "man history" em uma janela de terminal.

Para pesquisar para frente, pressionamos a barra ( /) e, em seguida, digitamos a palavra “evento”. O destino da pesquisa aparece na parte inferior da janela do terminal e pressionamos Enter para iniciar a pesquisa.

O comando "/ event" na página "history man" em uma janela de terminal.

A janela exibe o primeiro resultado de todas as correspondências encontradas e são realçadas.

Uma página de "homem de história" com resultados de pesquisa por "evento" destacados em uma janela de terminal.

Pressione “n” para mover de resultado em resultado em direção ao final da página. Para pesquisar para trás na página do manual, pressione “N”; isso o levará de volta ao topo da página.

Para ativar e desativar o realce, pressione Esc + U.

Se você estiver próximo ao final da página do manual e quiser pesquisar para cima, pressione o ponto de interrogação (?) E digite o termo de pesquisa. Pesquisamos por “entrada”.

Um termo de pesquisa "? Entry" para pesquisar para cima em uma página de manual em uma janela de terminal.

Novamente, todos os resultados correspondentes são destacados.

Resultados para o termo de pesquisa "entrada" destacado em uma página de manual em uma janela de terminal.

Para pesquisar o próximo resultado correspondente, pressione “n” para mover em direção ao início da página do manual. Pressione “N” para ir para o resultado correspondente anterior e mover em direção ao final da página do manual.

Existe outra maneira de pesquisar uma página de manual. Ele oculta todas as linhas que não contêm uma correspondência com o seu termo de pesquisa, portanto, é melhor usar números de linha com essa técnica.

Se digitarmos “-N” e pressionarmos Enter, podemos ver os números das linhas na página do manual.

Uma página de manual com números de linha em uma janela de terminal.

Pressionamos o “e” comercial (&), digitamos nosso termo de pesquisa (número) e pressionamos Enter.

Uma pesquisa de linha correspondente por "& / número" em uma página de manual em uma janela de terminal.

Apenas as linhas que contêm nosso termo de pesquisa são exibidas.

Linhas que contêm a palavra "número" em uma página de manual em uma janela de terminal.

É fácil dar uma olhada neles e localizar qualquer um que pareça interessante. Achamos que a linha 292 parece promissora, então queremos ir para essa seção da página de manual e dar uma olhada.

Para ver todas as linhas novamente, clicamos no “e” comercial (&) e, em seguida, pressionamos Enter.

O comando "& /" para sair das linhas correspondentes é exibido em uma página de manual em uma janela de terminal.

Digitamos “292” e “g” para ir para essa linha.

Um comando para mover para a linha "292" em uma página de manual em uma janela de terminal.

Assim que digitarmos “g”, seremos levados para a linha 292 (é por isso que o “g” não aparece na imagem acima). A linha 292 é então exibida na parte superior da janela do terminal.

Linha 292 na parte superior da tela em uma página de manual em uma janela de terminal.

Você pode pressionar “-n” e pressionar Enter para remover os números de linha.

Leia o Fabulous Manual

Há muitas informações nas páginas do manual. Mesmo com comandos que você acha que conhece bem, pode apostar que existem outras opções das quais você nunca ouviu falar.

Você também encontrará comandos que não sabia que existiam. Com tantas maneiras diferentes de pesquisar e rastrear informações, é incrível ter tudo ao seu alcance.