Por Alexandre Martins
Muitas pessoas desconhecem o uso do comando man. Por mais simples que parece, o seu uso pode salvar o usuário em uma situação que não existe uma conexão ativa com a internet.
Trata-se do manual do sistema operacional, e com ele pode-se encontrar todos ou quase todos os comandos existes 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, o manual é dividido em seções que vão de 1 a 9. São elas:
- Programas executáveis ou comandos do Shell.
- Chamadas do sistema – rotinas do kernel (mais utilizado por SysAdmin’s).
- Funções de bibliotecas – documentação de bibliotecas 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 utilizados pelo root.
- Rotinas do Kernel.
Alguns parâmetros do comando man.
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 comando ls.
$ man ls
-k – mostra referências no manual de acordo com a expressão usada no argumento. Obtém-se um resultado semelhante utilizandoo 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 do manual. Obtém-se um resultado semelhante utilizando o comando apropos.
$ man -f hostname freehostent (3) - get network hostnames and addresses gethostname (2) - get/set hostname getipnodebyaddr (3) - get network hostnames and addresses getipnodebyname (3) - get network hostnames and addresses hostname (1) - show or set the systems host name hostname (7) - hostname resolution description hosts (5) - static table lookup for hostnames logresolve (1) - Resolve IP-addresses to hostnames in Apache log files sethostname (2) - get/set hostname ssh-argv0 (1) - replaces the old ssh command-name as hostname handling Sys::Hostname::Long (3pm) - Try every conceivable way to get full hostname
É possível deixar as páginas do manual Linux em português usando o comando:
# apt-get install manpages-pt
*Comando válido apenas para distribuições derivadas do Debian.
As vezes é necessário atualizar as páginas do manual, para esse fim, usa-se o comando catman. Seu tempo de execução pode demorar alguns minutos dependendo do hardware utilizado.
Caso ainda haja dúvidas quanto ao uso do man, existe também o manual do próprio manual. Estranho não é mesmo? Mas no GNU/Linux existe um manual de como usar o manual, nele você encontrará todas essas informações de forma detalhada.
$ man man
Além do man, existem outras formas de obter-se ajuda dentro do próprio Linux. O diretório /usr/share/doc, contém grande parte da documentação dos principais pacotes instalados no sistema. Pode-se acessá-los a partir do comando info.
$ info mkdir File: coreutils.info, Node: mkdir invocation, Next: mkfifo invocation, Prev: ln invocation, Up: Special file types 12.3 `mkdir': Make directories ============================== `mkdir' creates directories with the specified names. Synopsis: mkdir [OPTION]... NAME... . . .
E por último mas não menos importante o parâmetro –help. É usado como consulta rápida à um determinado comando em que há dúvidas a respeito de sua sintaxe.
$ locate --help Uso: locate [OPÇÃO]... [PADRÃO]... Busca por entradas na base de dados do mlocate. -b, --basename corresponde somente ao nome base no caminho -c, --count somente mostra o número de correspondências localizadas -d, --database DBPATH usar DBPATH ao invés da base de dados padrão (que é /var/lib/mlocate/mlocate.db) -e, --existing mostrar somente as entradas de arquivos existentes -L, --follow seguir ligação simbólica quando verificar a existência arquivos (padrão) -h, --help mostra essa ajuda -i, --ignore-case ignora maiúsculas e minúsculas na pesquisa -l, --limit, -n LIMIT limita a saída (ou contagem) ao número indicado -m, --mmap ignorado, para compatibilidade regressiva -P, --nofollow, -H não seguir ligações simbólicas quando verificar a existência de arquivos -0, --null separar as entradas com NUL na saída -S, --statistics não pesquisar pelas entradas, mostrar as estatísticas sobre as base de dados utilizada -q, --quiet reportar mensagens de erro sobre leitura nas base de dados -r, --regexp REGEXP pesquisar por regex básica ao invés de padrões --regex padrões são regexps estendidas -s, --stdio ignorado, para compatibilidade regressiva -V, --version mostra informações da versão -w, --wholename procura por todo o caminho do nome (padrão)
Isso não é tudo, mas acredito que pode salvar alguns aprendizes como eu.