Um dos comandos mais usados no Linux e que muita gente não o explora ou entende por completo. Por mais simples que parece, o seu uso pode salvar o usuário em uma situação que não existe uma conexão com a internet, e você não precisa de nenhum aplicativo extra para utilizar sendo necessário apenas um terminal shell e digitar man.
Trata-se do manual do sistema operacional, e com ele pode-se encontrar todos ou quase todos os comandos existentes no sistema. Por padrão as páginas do manual Linux encontram-se no diretório /usr/share/man. Para facilitar seu uso e entendimento é dividido em seções que vão de 1 a 9.
Seções do man
- Programas executáveis ou comandos do Shell.
- Chamadas do sistema – Linux System Calls
- Funções de bibliotecas – documentação de bibliotecas C padrão do sistema (bastante utilizado por desenvolvedores).
- Arquivos especiais – arquivos usados dentro do diretório /dev.
- Formato e convenções de arquivos – contém o formato de alguns arquivos como o /etc/passwd.
- Jogos – dicas e comandos de jogos existentes no sistema.
- Miscelânea de pacotes – documentação relacionada a pacotes, protocolos etc.
- Comandos administrativos – comandos do sistema utilizados principalmente pelo root.
- Rotinas do Kernel.
Alguns parâmetros:
Uso man [opção] comando/arquivo/expressão
- sem parâmetros – abre a página do manual relacionada ao comando indicado.
Exemplo: Abre a página do manual relacionada ao ls.
$ man ls |
-k – mostra referências de acordo com a expressão usada no argumento. Obtém-se um resultado semelhante utilizando o comando whatis.
$ man -k ip ip (7) - Implementação do protocolo IPv4 em Linux ip (8) - show / manipulate routing, devices, policy routing and tunnels |
-f – mostra descrições do comando em suas respectivas seções. Obtém-se um resultado semelhante utilizando o o apropos.
Com estas opções pode-se explorar e entender diversos comandos, rotinas da biblioteca C e exemplos de implementação/uso como por exemplo:
man 2 mmap man 3 fopen man 2 write man 2 bind man 4 urandom
Um exemplo da saída de uma pagina (2) System Calls, que na maioria das vezes segue o mesmo modelo:
Name: Nome da função seguido de uma descrição de uma linha, a mesma utilizada pelo apropos
Synopsis: O protótipo em C da função e bem como os includes dos headers.
Description: Uma descrição do que a função/comando faz.
Return Value: Descrição do intervalo de valores do retorno da função, e o handler para informar estes erros.
Errors: Uma lista detalhada dos possíveis valores errno que são retornados em caso de um erro.
Conforming to: Descrição dos valores padrões UNIX que a função se enquadra. Dará uma visão do quanto portável é a aplicação para outras implementações UNIX.
Bugs: Uma descrição de coisas que estão quebradas ou que não estão funcionando como deveriam.
Notes: Adiciona diversas notas sobre a função.
See also: Lista de páginas de manual para funções e comandos relacionados.
Example: Não presente em todos System Calls, mas é um exemplo de implementação em C utilizando a função.
Use, abuse e explore as Paginas de Manuais do Linux que pode ser seu melhor amigo para administração do sistema ou desenvolvimento para o mesmo.
Até a próxima!
Referências
Livro: The Linux Programming Interface – Manual Pages Pag. 1420
Linux – Conhecendo o comando man by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.