O que significa o número entre parênteses mostrado após os nomes dos comandos do Unix nas páginas de manual?

496

Por exemplo: man(1), find(3), updatedb(2)?

O que significam os números entre parênteses ("colchetes" britânicos)?

duckyflip
fonte
4
páginas man dará alguma introdução, uso (homem 1 intro) (man 2 intro)
tsenapathy
5
Duplicação cruzada no Superusuário e Unix e Linux .
Franklin Yu

Respostas:

484

É a seção à qual a página de manual do comando está atribuída.

Estes são divididos como

  1. Comandos gerais
  2. Chamadas do sistema
  3. Funções da biblioteca C
  4. Arquivos especiais (geralmente dispositivos, aqueles encontrados em / dev) e drivers
  5. Formatos de arquivo e convenções
  6. Jogos e protetores de tela
  7. Miscelânea
  8. Comandos e daemons de administração do sistema

As descrições originais de cada seção podem ser vistas no Manual do Programador Unix (página ii).

Ian G
fonte
123
Informações principais: para acessar uma página de manual dada como "foo (5)":man 5 foo
Steve Bennett
1
Esse link tinha a mesma lista, mas era uma versão v5 do referido manual. Tomei a liberdade de atualizar o link da resposta com um para o Internet Archive, que tinha a versão v7 à qual a resposta original parecia vincular (com base na URL).
Jeroen
80

A seção em que o comando está documentado no manual. A lista de seções está documentada no manual do homem. Por exemplo:

man 1 man
man 3 find

Isso é útil para quando comandos semelhantes ou exatamente iguais existem em seções diferentes

Vinko Vrsalovic
fonte
102
E nos "velhos tempos" os números de seção correspondeu à pasta que a versão impressa da página homem estava.
Darron
51

A razão pela qual os números de seção são significativos é que, há muitos anos, quando o espaço em disco era um problema maior do que agora, as seções podiam ser instaladas individualmente.

Muitos sistemas tinham apenas 1 e 8 instalados, por exemplo. Atualmente, as pessoas tendem a procurar os comandos no google.

LepardUK
fonte
10

Observe também que em outros unixes, o método de especificar a seção é diferente. No solaris, por exemplo, é:

man -s 1 man
ÁRVORE
fonte
8

Indica a seção das páginas do manual em que o comando está localizado. A opção -s no comando man pode ser usada para limitar uma pesquisa a determinadas seções.

Quando você visualiza uma página de manual, o canto superior esquerdo fornece o nome da seção, por exemplo:

Comandos do usuário printf (1)
Funções padrão da biblioteca C printf (3C)

Portanto, se você está tentando procurar funções C e não deseja ver acidentalmente uma página para um comando de usuário que compartilha o mesmo nome, você faria 'man -s 3C ...'

Dave Costa
fonte
6

Como @Ian G diz , elas são as seções da página de manual. Vamos dar um passo além:

1. Consulte a página do manual do comando man com man mane mostra as 9 seções da seguinte maneira:

DESCRIPTION
       man  is  the system's manual pager. Each page argument given
       to man is normally the name of a program, utility  or  func‐
       tion.   The  manual page associated with each of these argu‐
       ments is then found and displayed. A section,  if  provided,
       will  direct man to look only in that section of the manual.
       The default action is to search in all of the available sec‐
       tions following a pre-defined order ("1 n l 8 3 2 3posix 3pm
       3perl 5 4 9 6 7" by default, unless overridden by  the  SEC‐
       TION directive in /etc/manpath.config), and to show only the
       first page found, even if page exists in several sections.

       The table below shows the section numbers of the manual fol‐
       lowed by the types of pages they contain.

       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous  (including  macro  packages  and  conven‐
           tions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

       A manual page consists of several sections.


2) man <section_num> <cmd>

Vamos imaginar que você esteja pesquisando no Google os comandos do Linux. Você encontra a página OPEN(2)on-line: http://man7.org/linux/man-pages/man2/open.2.html .

Para ver isso nas páginas de manual do seu PC, basta digitar man 2 open.

Para FOPEN(3)uso man 3 fopen, etc.

3) man <section_num> intro

Para ler as páginas de introdução para uma seção, digite man <section_num> intro, como man 1 intro, man 2 intro, man 7 intro, etc.

Para visualizar todas as introduções da página de manual em sucessão, uma após a outra, faça man -a intro. A página de introdução da Seção 1 será aberta. Pressione qpara sair e, em seguida, pressione Enterpara visualizar a introdução da Seção 8. Pressione qpara sair e pressione Enterpara visualizar a introdução da Seção 3. Continue esse processo até concluir. Toda vez qque você pressionar , você voltará para a tela principal do terminal, mas você ainda estará em um prompt interativo e verá esta linha:

--Man-- next: intro(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

Observe que a ordem da seção que o guiará man -a introé:

  1. Seção 1
  2. Seção 8
  3. Seção 3
  4. Seção 2
  5. Seção 5
  6. Seção 4
  7. Seção 6
  8. Seção 7

Essa ordem de pesquisa é intencional, como a man manpágina explica:

The default action is to search in all of the available sections follow‐
ing a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7" by default, unless overrid‐
den  by the SECTION directive in /etc/manpath.config)

Relacionado:

  1. Pesquisa no Google por "linux, o que significa o número entre parênteses após uma função?" - https://www.google.com/search?q=linux+what+does+the+number+mean+in+parenthesis+after+a+function%3F&oq=linux+what+does+the+number+mean + entre + parênteses + após + a + função% 3F & aqs = chrome..69i57j69i64.9867j0j7 & sourceid = chrome & ie = UTF-8
  2. /superuser/297702/what-do-the-parentheses-and-number-after-a-unix-command-or-c-function-mean
  3. /unix/3586/what-do-the-numbers-in-a-man-page-mean
Gabriel Staples
fonte
2
Informações extremamente úteis, não sei por que os votos negativos, mas você tem o meu +1.
harperville
2

Detalhes da Wikipedia sobre seções manuais:

  1. Comandos gerais
  2. Chamadas do sistema
  3. Funções da biblioteca, cobrindo em particular a biblioteca padrão C
  4. Arquivos especiais (geralmente dispositivos, aqueles encontrados em / dev) e drivers
  5. Formatos de arquivo e convenções
  6. Jogos e protetores de tela
  7. Miscelânea
  8. Comandos e daemons de administração do sistema
Bob Setterbo
fonte
4
Essa resposta se tornou inútil; o link que não estava na resposta aceita anteriormente quebrou e foi editado, agora não há nada adicionado a esta resposta.
Ben Voigt