O que é o formato de ficheiro MAN?
Arquivos com a extensão .man contêm manuais de usuário Unix escritos em marcação de código-fonte roff. As páginas de manual podem ser acessadas emitindo o comando man seguido pelo nome de um programa, função ou tópico. O código-fonte utiliza o pacote de macros *man* - um conjunto de diretivas prefixadas por pontos (.TH, .SH, .B, .TP) que o man renderiza sob demanda via groff ou mandoc. Abrir um arquivo .man em um editor de texto mostra essa marcação bruta em vez de uma página formatada; arquivos .man suportam macros de formatação de exibição para controlar negrito, itálico, recuo e layout de tabela.
.man é um arquivo de texto simples e pode ser aberto usando qualquer editor de texto, mas os manuais de usuário são mais comumente acessados usando a ferramenta de sistema man invocada a partir da linha de comando. Muitos ambientes de sistema gráficos oferecem várias ferramentas para visualizar documentos man. As páginas de manual podem ser divididas nas seguintes seções:
- NAME - nome do programa, ferramenta, biblioteca ou função, seguido por uma breve descrição
- SYNOPSIS - parâmetros e opções para o comando e, opcionalmente, uma assinatura de função C
- DESCRIPTION - descrição detalhada do comando e suas funções
- EXAMPLES - exemplos de como o comando pode ser usado
- SEE ALSO - uma lista de funções ou comandos relacionados
Os manuais de usuário Unix/Linux não são comumente salvos como arquivos .man no disco. Geralmente, os manuais são armazenados com um sufixo indicando a qual seção do manual o arquivo pertence - por exemplo, ls.1 ou printf.3 - e as páginas instaladas são tipicamente compactadas com gzip como nome.seção.gz, descompactadas de forma transparente pelo man. As páginas de manual estão tipicamente em inglês, embora alguns manuais sejam localizados em várias distribuições.
Os documentos man são divididos em seções numeradas. O comando man por padrão exibe a primeira entrada correspondente de 7 seções (Unix System V) ou 8 (Linux/BSD), que são:
- Comandos gerais
- Chamadas de sistema
- Funções da biblioteca C
- Arquivos especiais e drivers de dispositivo
- Formatos de arquivo e arquivos de configuração
- Jogos e protetores de tela
- Diversos / páginas de visão geral
- Administração do sistema e daemons (apenas Linux/BSD)
Acessar uma determinada seção requer a emissão de man número_da_seção nome - por exemplo, man 5 passwd. A saída do manual pode ser redirecionada para um aplicativo diferente para facilitar a leitura, por exemplo, para cat ou less.
Segurança e proteção
RISCO: LOWO código-fonte de uma página man é texto simples e não é executado ao ser visualizado. A única cautela teórica é que o roff é uma linguagem de macros Turing-completa e o groff historicamente teve bugs de análise, portanto, renderizar um .man de uma fonte totalmente não confiável é melhor feito com o mandoc, que é mais seguro e isolado (sandboxed), em vez do groff completo. No uso normal (lendo documentos de pacotes e projetos), um arquivo .man é inofensivo; abri-lo em um editor de texto é completamente seguro. Não o confunda com um perfil obrigatório .man do Windows, que é uma colmeia de registro, não um documento.
Detalhes do formato
em resumo- Perfil de usuário obrigatório do Windows 2000/XP - O arquivo .man legado do Windows é um perfil de usuário móvel somente leitura (uma colmeia de registro NTUSER.DAT renomeada) - não relacionado às páginas man do Unix; o significado original do nome no banco de dados.
- Arquivo de memória/menu FoxPro / dBASE - Algumas ferramentas de banco de dados DOS antigas usavam .man para dados de menu ou memorando compilados; obsoleto.
Programas que abrem arquivos MAN
Detalhes técnicos
especificação profunda| Codificação de arquivo | Texto simples ASCII ou UTF-8; nenhum conteúdo binário ou marca de ordem de byte (BOM) necessária |
| Tipo MIME | text/troff (primário); também reconhecido como application/x-troff-man ou text/plain |
| Linguagem de marcação | roff/troff usando o pacote de macros man (macros an-old); chamadas de macro prefixadas por ponto devem aparecer no início de uma linha |
| Macro de título | .TH (cabeçalho de título) - tipicamente a primeira linha que não é comentário; declara o nome da página, número da seção, data e pacote de origem |
| Seções padrão | NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXAMPLES, FILES, ENVIRONMENT, BUGS, SEE ALSO - cada uma introduzida por uma macro .SH |
| Numeração de seções de páginas man | 7 seções no Unix tradicional (System V); 8 no Linux e BSD - a seção 8 cobre comandos de administração do sistema |
| Tamanho de arquivo típico | 1 KB - 100 KB; a maioria das páginas fica entre 5 KB e 30 KB |
| Compactação em disco | Páginas instaladas são comumente compactadas com gzip (ex: ls.1.gz) e descompactadas de forma transparente pelo man no momento da leitura |
| Mecanismo de renderização | groff (GNU troff) no Linux; mandoc no BSD e macOS moderno, que substituiu o groff como renderizador man padrão |
| Nomenclatura comum de arquivos | A extensão com o número da seção é o padrão no disco (ls.1, printf.3, passwd.5); a extensão .man é usada principalmente por documentação de terceiros ou pacotes |
| Caminho de instalação | /usr/share/man/manN/ no Linux e BSD, onde N é o número da seção; o macOS usa /usr/share/man/ com o mesmo layout de diretório |
| Formatos de saída | Texto de terminal via um paginador (less), PostScript, PDF, HTML e texto simples - todos produzidos sob demanda pelo groff -T |
| Formatos de origem relacionados | mdoc (conjunto de macros alternativo do BSD), pod2man (Perl POD para man), construtor man Sphinx e ronn (conversor Markdown-para-man) |
| Desenvolvedor / origem | Bell Labs (sistema man original do Unix, 1971); macros man e groff mantidos pelo GNU Project |
| Lançado | 1971 (Unix Programmer's Manual, V1); man macros standardized through the 1970s-80s |
| Versão mais recente | N/A (roff/man-macro convention; groff is the active implementation) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | man7.org |
Conversões de MAN
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos MAN.