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

Tudo o que você precisa saber sobre o Linux está em suas 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 de ouro do Unix) piada do Linux que o único comando que você precisa saber é cara, o sistema ponto de entrada para o manual do usuário. Há um pouco de verdade nisso, mas até o homem pode 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 realizaria 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 o homem.

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 comando de montagem, certo? Como veremos, os números são importantes e relativamente simples.

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

Como abrir o manual

Para usar man, você digita man na linha de comando, seguido por um espaço e um comando Linux. man abre 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 o homem diz sobre o homem:

man man

A página do manual para o homem é aberta.

A página do manual para

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

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 mover diretamente para o início ou fim da página do manual: Pressione as teclas Home e End.

Se você pressionar H, entrará na seção de ajuda e verá uma tabela de pressionamentos de tecla alternativos 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

No topo 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.

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

Nome: o nome do comando que a página de manual está descrevendo.
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 no caso de um 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 onde 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 quaisquer padrões com os quais o comando possa 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 do manual listadas em

As seções são:

Comandos gerais: comandos que você usa na linha de comando.
Chamadas de sistema: funções que o kernel fornece e que um programa pode chamar.
Funções de biblioteca: os programas de funções podem chamar bibliotecas de código (principalmente o padrão C).
Arquivos especiais: normalmente dispositivos, como aqueles encontrados em / dev, e seus drivers.
Formatos e convenções de arquivo: Formatos para arquivos, como passwd, tabela cron e arquivos compactados tar.
Jogos: descrições de comandos, como fortuna, que exibem citações de um banco de dados quando você os executa.
Diversos: Descrições de itens como inodes, parâmetros de inicialização e o próprio homem.
Administração do sistema: Comandos e daemons normalmente reservados para o root trabalhar.
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, ele se refere à 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 comando man.

Na imagem acima, você vê uma referência ao homem (7). Isso significa que há mais informações sobre o homem em outra seção. Quando abrimos a página de manual pela primeira vez, ela exibia 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 o homem (1) antes do homem (7).

Se você quiser forçar o homem a encontrar uma entrada de uma seção específica, você deve incluir o número da seção na linha de comando.

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

man 7 man

O

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

UMA

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 página man (1) na seção um que vimos descreveu como usar o próprio man.

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. O homem encontrará a entrada padrão que descreve como usar aquele comando na seção um do manual. Às vezes, porém, 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 opção -f (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

As duas páginas de manual para man sã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 comandos e funções diferentes.

Por exemplo, digitamos o seguinte:

man -f printf

O

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 printf da linha de comando, que formata a saída na janela do terminal. A página do manual na seção três descreve o printf família de funções de biblioteca no 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 opção -k (apropriado). 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

Muitos desses comandos são descritos nas mesmas páginas do manual porque sua funcionalidade principal é basicamente a mesma. A página do manual para vprintf descreve 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 por meio de grep para procurar entradas que contenham “senha”.

Para fazer isso, digitamos o seguinte:

man -k 'user ' | grep password

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 que o candidato provável é 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:

man 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:

man -k word | grep count

O

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

man wc

Falando em wc, também podemos usar a opção -k (a propósito) com um único ponto (.) Como o alvo de pesquisa, que irá corresponder a tudo. Se canalizarmos isso por meio de wc e usarmos a opção -l (linhas), ele nos dirá quantas páginas de manual existem no computador.

Para fazer tudo isso, digitamos o seguinte comando:

man -k . | wc -l

O

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 comando history:

man history

O

Para pesquisar para a 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

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

UMA

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”.

UMA

Novamente, todos os resultados correspondentes são destacados.

Resultados para o termo de pesquisa

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.

Há 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.

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

UMA

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

Linhas que contêm a palavra

É 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 do manual e dar uma olhada.

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

O

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

Um comando para mover para a linha

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.

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 de 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 definitivamente 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.