Qual é a diferença entre `man` e` man (#) `?


31

Só vi alguém referenciando man 7 regexno Stackoverflow. Tentei man regexe obtive resultados muito semelhantes - parece haver pequenas diferenças.

Então, o que é esse número mágico 7? A pesquisa man 7 unixno Google me fornece resultados mais misteriosos, como o UNIX (7) ...

Respostas:


33

Sobre UNIX(7)

Para responder à sua pergunta "UNIX (7)", esta é uma convenção padrão de dizer "A página de manual do UNIX na seção 7 (diversas)".

Para abrir uma página como init(8), você usaria este comando: man 8 init.


man regex vs man 7 regex

Para responder sua pergunta sobre as 'diferenças sutis' entre man regexe man 7 regex:

manpor padrão, abre a página com o número de seção mais baixo . Nesse caso, é a seção 3 (chamadas de biblioteca). Abrir a página da seção 7 (Diversos) é bem diferente.

Páginas em seções diferentes tratam de coisas diferentes, embora neste caso sejam semelhantes, considere apt:

man -f apt:

apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool

Neste exemplo, a aptseção 8 (comandos de administração do sistema) não tem nenhuma relação com a página da seção 1 (programas executáveis ​​ou comandos do shell).

Para referência futura, use man -f PAGE_NAMEpara localizar todas as páginas com esse nome em todas as seções. Você pode abrir uma página da seção com a qual deseja man SECTION PAGE_NAME.

Seções da página de manual

As várias seções da página são as seguintes e podem ser encontradas em man man:

  1. Programas executáveis ​​ou comandos do shell
  2. Chamadas do sistema (funções fornecidas pelo kernel)
  3. Chamadas de biblioteca (funções nas bibliotecas de programas)
  4. Arquivos especiais (geralmente encontrados em /dev)
  5. Formatos de arquivo e convenções, por exemplo /etc/passwd
  6. Jogos
  7. Diversos (incluindo pacotes e convenções de macro), por exemplo man(7),groff(7)
  8. Comandos de administração do sistema (geralmente apenas para raiz)
  9. Rotinas de kernel [Não padrão]

14

Os números da seção

manmostrará a página de manual de qualquer seção, man 7mostrará a página de manual da seção 7. Portanto, aqui 7 se refere à seção do comando específico para o qual você está procurando a página de manual.

Uma seção, se fornecida, orientará o homem a procurar apenas nessa seção do manual.


As seções

Consulte a tabela a seguir para obter os números de seção do manual, seguidos pelos tipos de páginas que eles contêm.

1: Programas executáveis ​​ou comandos do shell

2: Chamadas do sistema (funções fornecidas pelo kernel)

3: Chamadas de biblioteca (funções nas bibliotecas de programas)

4: Arquivos especiais (geralmente encontrados em / dev)

5: Formatos de arquivo e convenções, por exemplo, / etc / passwd

6: Jogos

7: Diversos (incluindo pacotes e convenções macro), por exemplo, man (7), groff (7)

8: Comandos de administração do sistema (geralmente apenas para raiz). Visões gerais de vários tópicos, convenções e protocolos, padrões de conjunto de caracteres e diversas outras coisas.

9: Rotinas do kernel [Não padrão]


Comandos em mais de uma seção

Na maioria dos casos, você desejará usar o mancomando sem n adicional . No entanto, em alguns casos, um comando aparecerá em mais de uma seção. Por exemplo, se você emitir o comando man open, obterá a página de manual do openvt na seção 1. Mas se precisar ver a página de manual aberta como um comando C (ou chamada do sistema, conforme a tabela acima), será necessário emitir man 2 open.

Um exemplo muito semelhante será man printfe man 3 printf. Por favor, emita os comandos e veja por si mesmo a diferença na saída.


Seu problema de man 7 unix(UNIX (7))

Portanto, esse UNIX (7) significa que ele pertence à seção 7.


Qual seção será mostrada por padrão se eu não fornecer um número de seção?

A ação padrão é procurar em todas as seções disponíveis, seguindo uma ordem predefinida e mostrar apenas a primeira página encontrada, mesmo que a página exista em várias seções.


Como sei o número da seção de um comando?

Se você precisar descobrir em quais seções um termo / comando se encaixa man -k(equivalente ao comando apropos). Portanto, man -k printf procurará nas descrições breves e nos nomes de página de manual a palavra-chave printf como expressão regular. Imprima quaisquer correspondências. (Equivalente a apropos -r printf). Emita o comando, veja a quantidade que você recebe. Se for necessário evitar correspondências de substring (por exemplo, ele mostrará sprintf se você executar man -k printf), use-o ^termpara limitá-lo, como abaixo,

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

Comando relacionado

Um comando relacionado é aproposcomo indicado acima, que pesquisa os nomes e descrições da página manual. Se você não tiver certeza da página de manual que está procurando, mas tiver uma idéia geral, use este comando.


Mas a documentação para regexnão possui 7 seções ...
Aditya MP

@adityamenon Por favor, veja a resposta atualizada, que foi postada antes de terminar.
Masroor

Entendo - então uma 'Seção' aqui significa "classificação do programa".
Aditya MP

@adityamenon Certo, você teria ficado mais à vontade com o termo que está usando.
Masroor

Especificamente, "seção" aqui significa "seção do Manual", como se todas as páginas de manual estivessem em um único manual impresso (grosso)
Jonathan Callen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.