LADM! Como ler (e entender) as páginas do man no Linux

10 de junho de 2021

As páginas Man Pages, apelido para Manual de referência, são as suas chaves para o Linux. Tudo o que você quer saber é lá - levar tudo em uma corrida com ele. A coleção de documentos nunca ganhará um prêmio Pulitzer, mas o conjunto é bastante preciso e completo. As páginas do man são a fonte primária e essa autoridade é bem conhecida.

Enquanto eles são a fonte primária, eles não são os mais agradáveis de ler. Uma vez, em uma longa aula de filosofia, me disseram que ler Aristóteles é a leitura mais chata que existe. Eu discordei: se tratando de leitura, Aristóteles fica em segundo para as páginas do man.

À primeira vista, as páginas podem parecer incompletas, mas, acredite ou não, as páginas do man não são projetadas para esconder informações de você - é apenas a questão de que há tantas informações que as páginas devem ser estruturadas e informações são fornecidas na forma mais breve possível. As explicações são bastante espartanas e leva tempo para se acostumar, mas uma vez que você pega o jeito de usá-los, você verá como eles são úteis.

Começando com as páginas do man no Linux

As páginas são visualizadas através de um utilitário chamado, man, e o comando para usá-lo é bastante fácil. Na forma mais simples, para usar man, você digita man na linha de comando, seguido por um space e o comando que você deseja procurar, como ls ou cp, assim:

Comandos para usar no terminal

man ls

Aqui, o man abre a página manual do comando ls.

Exemplo de página de man

Você pode subir e descer com as teclas de seta e pressionar q para parar de visualizar a página do man. Normalmente, as páginas do man são abertas com less, então os atalhos de teclado para less funcionam nos comandos do man também.

Por exemplo, você pode procurar por um texto específico usando /termo_de_pesquisa e assim por diante.

Há uma introdução às páginas do man e é importante que você a leia. Ela mostra, em muitos detalhes, como as páginas do man são colocadas e organizadas.

Para ver esta página, abra um terminal e digite:

Comandos para usar no terminal

man man

man man

Seção?

Antes de começar a olhar para as páginas do man muito mais fundo, será útil saber que as páginas do man têm um layout de página definido e um esquema de arquivamento. Isso pode ser confuso para um recém-chegado já que posso dizer: "Olhe para a seção NOME da página do man para ls." Eu também posso dizer: "Olhe para a página do man para passwd na seção 5."

Eu deixei em itálico a palavra, seção para tentar mostrar onde fica a confusão. A palavra, seção está sendo usada de duas maneiras diferentes, mas a diferença nem sempre é explicada a recém-chegados.

Não tenho certeza por que essa confusão existe, mas eu vi acontecer algumas vezes quando treinei novos usuários e sysadmins de nível de entrada. Eu acho que pode ser visão de túnel. Concentrar-se em uma coisa pode fazer uma pessoa esquecer outra. É muito parecido não ser capaz de ver a floresta porque as árvores estão no caminho.

Para aqueles que já sabem a diferença, você pode pular esta subseção. Esta parte é direcionada para as pessoas novas às páginas do man.

Aqui está a diferença:

A página do man

As páginas individuais do man são feitas para mostrar blocos de informação. Por exemplo, cada página do man tem uma seção NAME para mostrar o nome do comando junto com uma breve descrição. Haverá outro bloco de informações, chamado SINOPSIS para mostrar como o comando é usado e assim por diante.

Exemplo de página do Linux Man

Toda página de man terá estes e outros títulos. Essas seções, ou títulos, em páginas individuais, ajudam a manter as coisas consistentes e a informação compartimentalizada.

O manual

O uso de seção, como em "Olhe para a página do man para passwd na seção 5" fala do manual como um todo. Quando olhamos para apenas uma página, pode ser fácil de ignorar isso, mas a página do man para passwd faz parte do mesmo manual que tem uma página de man para ls, rm, date, cal e outros.

O manual do inteiro do Linux é enorme, tem milhares de páginas. Algumas dessas páginas têm informações especializadas. Algumas páginas têm informações que os programadores precisam, enquanto outros têm informações exclusivas para a rede, e outros que os administradores do sistema estariam interessados.

Essas páginas são agrupadas de acordo com seu propósito único. Pense em dividir todo o manual em vários capítulos - cada capítulo com um tópico específico. Existem 9 ou mais capítulos (muito grandes nisso). Acontece que esses capítulos são chamados seções.

Para resumir isso:

  • Seções de uma única página do manual (o que chamamos de página do man) são blocos de informações definidas pelos títulos e
  • Seções do manual em geral (a coleção de todas as páginas) são capítulos que são chamados seções.

Agora você sabe a diferença e, assim espero, o resto deste artigo será mais fácil de seguir.

Seções de página de man

Você estará olhando para as páginas de man diferentes, então vamos estudar o layout de página individual primeiro.

As páginas manuais são divididas em vários títulos e podem variar de fornecedor para fornecedor, mas serão semelhantes. A quebra geral é a seguinte:

  • NAME
  • SYNOPSIS
  • DESCRIPTION
  • EXAMPLES
  • DIAGNOSTICS
  • FILES
  • LIMITS
  • PORTABILITY
  • SEE ALSO
  • HISTORY WARNING (ou Bugs)
  • NOTES

NAME - Sob este título é o nome do comando e uma breve descrição do comando.

SYNOPSIS - mostra como o comando é usado. Por exemplo, aqui está uma sinopse do comando cal:

cal [Month] [Year]

A sinopse começa com o nome do comando, com uma lista de opções seguindo. A sinopse assume a forma geral de uma linha de comando; Mostra o que você pode digitar e a ordem dos argumentos. Argumentos em colchetes ([]) são opcionais; Você pode deixar esses argumentos e o comando ainda funcionará corretamente. Itens que não estão entre parênteses devem ser usados.

Tome nota que os colchetes são apenas para legibilidade. Eles não devem ser digitados quando você inserir um comando.

DESCRIPTION - Descreve o comando ou utilitário sobre o que faz e como você pode usá-lo. Esta seção geralmente começa com uma explicação da sinopse, bem como dizendo o que acontece se você omitir qualquer um dos argumentos opcionais. Esta seção pode ser subdividida por comandos longos ou complexos.

EXAMPLES - Algumas páginas de man fornecem exemplos de como o comando ou utilitário podem ser usados. Se esta seção estiver presente, a página tentará fornecer alguns exemplos simples de uso, bem como exemplos mais complexos para mostrar como as tarefas complexas podem ser concluídas.

DIAGNOSTICS - Esta seção lista status ou mensagens de erro retornadas pelo comando ou do utilitário. Erros auto-explicativos e mensagens de status geralmente não são mostradas. Mensagens que podem ser difíceis de entender são geralmente listadas.

FILES Esta seção contém uma lista de arquivos suplementares usados pelo UNIX para executar este comando específico. Aqui, arquivos complementares são arquivos não especificados na linha de comando. Por exemplo, se você estava olhando para uma página de man para o comando passwd, você pode encontrar /etc/passwd listado nesta seção, já que é aí que a UNIX armazena informações de senha.

LIMITS - Esta seção descreve quaisquer limitações de um utilitário. O sistema operacional e as limitações de hardware geralmente não são listados, pois estão fora do controle do utilitário.

PORTABILITY - Lista outros sistemas onde o utilitário está disponível, juntamente com a forma como outras versões do utilitário podem ser diferentes.

SEE ALSO - Listas relacionadas com as páginas do man que contêm informações relevantes.

HISTORY - Dá uma breve história do comando, como quando apareceu pela primeira vez.

WARNING - Se esta seção estiver presente, ela conterá avisos importantes para os usuários.

NOTES - Não tão severo quanto um aviso, mas informações importantes.

Mais uma vez, nem todas as páginas do man usam os títulos exatos listados acima, mas são similares.

As seções do manual

Toda a coleção de páginas de manual do Linux são tradicionalmente divididas em seções numeradas:

  • Seção 1: Comandos e Aplicações Shell
  • Seção 2: Serviços do kernel básicos - chamadas de sistema e códigos de erro
  • Seção 3: Informações da biblioteca para programadores
  • Seção 4: Serviços de rede - Se TCP/IP ou NFS estiver instalado drivers de dispositivo e protocolos de rede
  • Seção 5: Formatos de arquivo padrão - por exemplo: mostra o que é um arquivo tar.
  • Seção 6: Jogos
  • Seção 7: Arquivos e documentos diversos
  • Seção 8: Administração do sistema e comandos de manutenção
  • Seção 9: Especificações obscuras do kernel e interfaces

O agrupamento de páginas para esses grupos contribui para busca mais eficiente. Às vezes eu faço um pouco de programação onde eu trabalho, então eu gasto um tempo olhando a seção 3 das páginas man. Eu também faço um pouco de trabalho em rede, então sou conhecido por viajar através da seção de rede, e como administrador de sistemas de várias máquinas experimentais, eu gasto muito tempo na seção 8.

Agrupar as páginas em seções específicas (capítulos) torna a busca de informações mais fácil - tanto para o ser humano, e para a máquina fazendo a busca.

Você pode dizer qual a página pertence a qual secção pelo número ao lado do nome. Por exemplo, se você está olhando para uma página do man para ls e o topo da página diz isto: LS(1), você está visualizando a página ls na seção 1, que contém as páginas sobre comandos e aplicativos da Shell.

Aqui está outro exemplo. Se você está olhando para uma página de man para passwd e o topo da página mostra: PASSWD(1), você está lendo a página da seção 1 que descreve como o comando passwd altera senhas para contas de usuário. Se você vê PASSWD(5), você está lendo sobre o arquivo a senha e como ele é feito.

Man Page Passwd Command ![Arquivo Passwd do Man Page

Acontece do passwd ser duas coisas diferentes: é o nome de um comando e um nome de um arquivo. Mais uma vez, a seção 1 descreve o comando, enquanto a seção 5 fala do formato de arquivo.

O número no parêntese é a grande pista - esse número informa de qual seção a página atual é.

Procurando por uma seção específica

O comando básico:

Comandos para usar no terminal

man nome

irá procurar a página do man identificada por nome em todas as seções, exibindo-os um de cada vez, em ordem numérica. Para limitar sua pesquisa a uma seção específica, use um argumento com o comando man, desse jeito:

Comandos para usar no terminal

man 1 nome

Este comando só irá procurar seção 1, das páginas man, por nome. Usando o nosso exemplo passwd anteriormente, isto significa que podemos manter a pesquisa orientada. Se eu quiser ler sobre o comando passwd, eu posso escrever isso no terminal:

Comandos para usar no terminal

man 1 passwd

O utilitário man só irá pesquisar através da seção 1 para passwd e exibi-lo. Não vai olhar através de qualquer outra seção para passwd.

Um método alternativo para este comando é digitar: man passwd.1

Usando o man -k para procurar todas as páginas do man contendo uma determinada palavra-chave

O comando man, com a opção k (muitas vezes chamado de flag ou switch) pode ser útil se você quiser uma listagem de páginas de man contendo uma determinada palavra-chave. Por exemplo, se você quiser ver uma lista de páginas do man que lidam, digamos, com ftp, você pode obter essa lista digitando:

Comandos para usar no terminal

man -k ftp

A partir da lista que se seguirá, você vai ser capaz de escolher uma página de manual específica para ler:

man K Exemplo

Em alguns sistemas, antes de o man -k, o administrador do sistema precisará executar um utilitário chamado catman.

Usando comandos whatis e whereis para saber sobre seções do manual

Existem duas utilidades bacanas que podem ser úteis em sua busca por informações: whatis e whereis.

whatis

Há momentos em que podemos obter as informações que precisamos. Há grande chance de as informações que precisamos esteja disponível, mas encontrar pode ser um pequeno problema.

Por exemplo, se eu quiser olhar para a página do man sobre o arquivo passwd, e digito isso no terminal:

Comandos para usar no terminal

man passwd

Eu veria a página que me diz tudo sobre o comando passwd, mas nada sobre o arquivo passwd. Eu sei que passwd é um comando e também há um arquivo passwd, mas às vezes, eu posso esquecer isso. Aí então que percebo que as estruturas de arquivos estão em uma seção diferente nas páginas do man, então eu digito:

Comandos para usar no terminal

man 4 passwd

e eu recebo esta resposta:

No manual entry for passwd in section 4
See 'man 7 undocumented' for help when manual pages are not available.

Outro lapso de esquecimento. Estruturas de arquivos estão na seção 4 das páginas do System V Unix. Anos atrás, quando eu criava arquivos, usava muito man 4...; Ainda é um hábito. Então, onde está no manual do Linux?

É hora de chamar whatis para me ajudar. Para fazer isso, digito isso no meu terminal:

Comandos para usar no terminal

whatis passwd

e eu vejo o seguinte:

passwd (1)           - change user password
passwd (1ssl)        - compute password hashes
passwd (5)           - the password file

Ah! A página para o arquivo passwd está na seção 5. Agora estou alinhado e posso acessar as informações que eu quero:

Comandos para usar no terminal

man 5 passwd

E eu sou trazido para a página do man que tem a informação que preciso.

whatis é útil utilitário que pode dizer-lhe, em uma linha, o que faz um comando. Imagine que você quer saber o que cal faz sem precisar ver a página do man. Basta digitar isso no prompt de comando:

Comandos para usar no terminal

whatis cal

E você verá isso em resposta:

cal (1)              - displays a calendar and the date of Easter

Agora que você sabe sobre o comando whatis, posso te contar um segredo - há um equivalente do comando man. Para obter isso, usamos o argumento -f: man -f ...

Experimente. Digite: whatis cal em um prompt de terminal. Uma vez que executa, digite: man -f cal. A saída de ambos os comandos será idêntica.

Whatis Cal Man Fal

whereis

O nome próprio do comando whereis se explica - ele informa onde um programa está dentro do sistema de arquivos. Também lhe dirá onde a página do man é armazenada. Usando cal como exemplo novamente, digito isso no prompt:

Comandos para usar no terminal

whereis cal

Eu vou ver isso:

whereis cal

Olhe atentamente na resposta. A resposta está em uma linha, mas me diz duas coisas:

/usr/bin/cal é onde o programa cal está e /usr/share/man/man1/cal.1.gz é onde a página do man está (eu também sou informado do fato de que a página do man é comprimida, mas não se preocupe - o comando do man sabe como descompactá-lo na hora)

whereis é dependente do PATH; só pode dizer-lhe onde os arquivos são se estiverem no seu ambiente de caminho.

Você pode estar se perguntando se há um comando equivalente no man para whereis. Não há um que lhe dirá onde o arquivo executável está, mas há um argumento que você pode usar que lhe dirá onde a página do man está. Usando o comando date neste exemplo, se digitarmos:

Comandos para usar no terminal

whereis date

Em um prompt de terminal, veremos:

whereis

Vemos que o programa date está no diretório /usr/bin/ e o nome e localização de sua página do man é: /usr/share/man/man1/date.1.gz

O mais próximo que podemos conseguir para o man agir como whereis é usar o argumento -w. Não vamos obter a localização do programa, mas podemos pelo menos obter o local da página do man, assim:

Comandos para usar no terminal

man -w date

e veremos isso:

man W Date 1

Você sabe sobre whatis e whereis, bem como um método para obter o comando man para fazer o mesmo (ou parecido). Mostrei as duas coisas por algumas razões diferentes.

Durante anos, usei whatis e whereis desde que eles estavam em meus manuais de treinamento. Eu não sabia sobre as opções man -f ... e man -w ... até recentemente. Tenho certeza que olhei para a página do man para man centenas de vezes, mas nunca notei os argumentos -f e -w. Eu estava sempre olhando para a página do man para outra coisa (isto é, man -k ...). Eu me concentrei apenas no que precisava encontrar e ignorei o resto. Uma vez que eu encontrei as informações que eu precisava, eu deixaria a página e continuaria o trabalho, não prestando atenção a algumas outras gemas que o comando tem a oferecer.

Tudo bem, já que isso é em parte o que as páginas do man fazem: ajudam você a fazer o trabalho.

Até estar recentemente mostrando a alguém como usar as páginas do man, que tomei o tempo para ler - "para ver o que mais é possível" - e percebemos as informações sobre o que o comando man -f e -w podem fazer.

Não importa quanto tempo você tenha usado o Linux, ou quão experiente seja, há sempre algo novo para aprender.

As páginas do man lhe dirão o que você precisa saber para trabalhar através de uma determinada tarefa - mas elas também têm muito mais - o suficiente para fazer você parecer um mágico - mas somente se você tomar tempo para ler.

Conclusão

Se você gastar algum tempo e esforço com as páginas do man, você ficará por dentro. Sua proficiência das páginas do man contribuirá para seu domínio sobre o Linux.

Confira também a versão original desse post em inglês
Esse post foi originalmente publicado no site itsfoss.com. Traduzido pela rtland.team

RTFM! How to Read (and Understand) the Fantastic Man Pages in Linux

Propaganda
Blog Comments powered by Disqus.