man page (Português)
Páginas man — abreviação para "páginas de manual" — são a forma de documentação que está disponível na maioria dos sistemas operacionais tipo UNIX, incluindo o Arch Linux. O comando usado para exibi-los é man
.
Apesar de seu escopo, páginas man são projetadas para serem documentos autocontidos, consequentemente limitando-as a fazer referência a outras páginas man ao discutir assuntos relatados. Esse é um contraste nítido com os arquivos info compatíveis com hiperlinks, a tentativa do GNU de substituir o formato tradicional de página man.
man-db implementa man no Arch Linux, e o less é o paginador padrão usado com man.
Contents
Acessando páginas man
Para ler uma página man, basta digitar:
$ man page_name
Manuais são ordenados em diversas seções. Para uma listagem completa, veja a seção intitulada "Sections of the manual pages" no man-pages(7).
Páginas man geralmente são referenciadas por seu nome, seguido do número de sua seção em parênteses. Geralmente há múltiplas páginas man com o mesmo nome, tal como man(1) e man(7). Neste caso, forneça ao man o número da seção seguido pelo nome da página man. Por exemplo:
$ man 5 passwd
para ler a página man sobre /etc/passwd
, em vez do utilitário passwd
.
Descrições de uma linha podem ser exibidas usando o comando whatis
. Por exemplo, para uma descrição breve das seções de página man sobre ls
, digite:
$ whatis ls
ls (1p) - list directory contents ls (1) - list directory contents
Formato
Todas as páginas man seguem um formato razoavelmente padronizado, o que ajuda a navegá-las. Veja a seção intitulada "Sections within a manual page" em man-pages(7).
Pesquisando por manuais
Apesar do utilitário man
permitir que usuários exibam páginas man, e pesquisem seu conteúdo via less, um problema surge quando não se sabe o nome exato da página de manual desejada em primeiro lugar! Por sorte, as opções -k
ou --apropos
podem ser usadas para pesquisar pelas descrições de página de manual por ocorrências de uma palavra-chave dada.
O recurso de pesquisa é fornecido por um cache dedicado. Por padrão, você não pode ter qualquer cache compilado e todas suas pesquisa lhe darão nenhum resultado apropriado. Você pode gerar o cache ou atualizá-lo executando
# mandb
Você deve executá-lo toda vez que uma nova página man é instalada.
Agora, você pode começar sua pesquisa. Por exemplo, para pesquisar por páginas man relacionadas a "password":
$ man -k password
ou:
$ man --apropos password
Isso é equivalente a chamar o comando apropos
:
$ apropos password
A palavra-chave dada é interpretada como uma expressão regular por padrão.
Se você deseja fazer uma pesquisa mais profunda correspondendo palavras-chave encontradas em todos os artigos, você pode usar a opção -K
:
$ man -K password
Largura de página
A largura de páginas man é controlada pela variável de ambiente MANWIDTH
.
Se o número de colunas no terminal é pequeno demais (ex.: a largura da janela é estreita), as quebras de linha ficarão erradas. Isso pode ser bem incômodo para ler. Você pode corrigir isso definindo MANWIDTH na invocação de man
. Com Bash
, isso seria:
~/.bashrc
man() { local width=$(tput cols) [ $width -gt $MANWIDTH ] && width=$MANWIDTH env MANWIDTH=$width \ man "$@" }
Lendo páginas man locais
Em vez da interface padrão, o uso de navegadores como lynx e Firefox para visualizar páginas man permite que os usuários colham o principal benefício de texto hiperlink das páginas info. As alternativas incluem o seguinte:
- Usuários do KDE podem ler páginas man com
- Konqueror usando
man:<nome>
. - KHelpCenter (khelpcenter) em "UNIX manual pages" ou executando
khelpcenter man:<nome>
.
- Konqueror usando
- xorg-xman fornece uma visão categorizada em páginas man no X.
- yelp, o navegador de ajuda do GNOME, pode ser usado via
yelp man:<nome>
.
mdocml
Instale mdocmlAUR[broken link: package not found] do AUR. Para converter uma página, por exemplo free(1)
:
$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html
Agora, abra o arquivo chamado free.html
em seu navegador favorito.
man2html
Primeiro, instale man2html dos repositórios oficiais.
Agora, converta uma página man:
$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
Outro uso para man2html
é exportar para texto não tratado, no formato de impressão:
$ man free | man2html -bare > ~/free.txt
man -H
A implementação GNU do man nos repositórios Arch também possuem a habilidade de fazer isso por conta própria:
$ man -H free
Isso vai ler sua variável de ambiente BROWSER
para determinar o navegador. Você pode sobrepor isso passando o executável para a opção -H
.
roffit
Primeiro, instale roffitAUR do AUR.
Para converter uma página man:
$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html
Convertendo para PDF
Páginas man sempre foram imprimíveis: elas são escritas em troff, que é fundamentalmente uma linguagem de formatação de texto. Se você tiver o ghostscript instalado, a conversão de uma página man para PDF é realmente bem fácil: man -t <manpage> | ps2pdf - <pdf>
. Essa pesquisa de imagens no Google deve lhe dar uma ideia do que o resultado se parece com; pode não ser do gosto de todas as pessoas.
Ressalvas: Fontes são geralmente limitadas a Times em tamanhos fixos. Não há hyperlinks. Algumas páginas man foram projetadas especificamente para ver no terminal e não ficarão bem na forma de PS ou PDF.
Páginas man online
Há vários bancos de dado online de páginas man, incluindo:
- Man7.org. Upstream do man-pages do Arch Linux.
- Páginas man do Arch Linux
- Páginas man do Debian GNU/Linux
- Páginas man do DragonFlyBSD
- Páginas man hypertext do FreeBSD
- Páginas man do Linux e Solaris 10
- Páginas man do Linux no die.net
- Páginas man do NetBSD
- Páginas man do Mac OS X
- Páginas man online do UNIX
- Páginas de manual do OpenBSD
- Manual do Plan 9 — Volume 1
- Manual do Inferno — Volume 1
- Páginas man do Storage Foundation
- O repositório de páginas man do UNIX and Linux Forums
- Repositório de páginas man do Ubuntu
Páginas man notáveis
Aqui está uma lista não exaustiva de páginas dignas de nota que podem lhe ajudar a entender muitas coisas em profundidade. Alguns deles podem servir como uma boa referência (como a tabela ASCII).
- ascii(7)
- boot(7)
- charsets(7)
- chmod(1)
- credentials(7)
- fstab(5)
- hier(7)
- systemd(1)
- locale(1p), locale(5), locale(7)
- printf(3)
- proc(5)
- regex(7)
- signal(7)
- term(5), term(7)
- termcap(5)
- terminfo(5)
- utf-8(7)
De forma mais geral, dê uma olhada nas páginas de categoria 7:
$ man -s 7 -k ".*"
Páginas específicas do Arch Linux: