¿Qué significa el número entre paréntesis que se muestra después de los nombres de comandos de Unix en las páginas de manual?

496

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

¿Qué significan los números entre paréntesis (en inglés "paréntesis")?

duckyflip
fuente
44
las páginas man darán una introducción, use (introducción man 1) (introducción man 2)
tsenapathy
55
Duplicado cruzado en Super User y Unix y Linux .
Franklin Yu

Respuestas:

484

Es la sección a la que está asignada la página del comando man.

Estos se dividen como

  1. Comandos generales
  2. Sistema de llamadas
  3. Funciones de la biblioteca C
  4. Archivos especiales (generalmente dispositivos, los que se encuentran en / dev) y controladores
  5. Formatos de archivo y convenciones
  6. Juegos y salvapantallas
  7. Miscelánea
  8. Comandos de administración del sistema y demonios

Las descripciones originales de cada sección se pueden ver en el Manual del programador de Unix (página ii).

Ian G
fuente
123
Información clave: para acceder a una página man dada como "foo (5)":man 5 foo
Steve Bennett
1
Ese enlace tenía la misma lista, pero era una versión v5 de dicho manual. Me tomé la libertad de actualizar el enlace de la respuesta con uno a The Internet Archive que tenía la versión v7 a la que parecía estar vinculada la respuesta original (según la URL).
Jeroen
80

La sección del comando está documentada en el manual. La lista de secciones está documentada en el manual del hombre. Por ejemplo:

man 1 man
man 3 find

Esto es útil para cuando existen comandos similares o exactamente iguales en diferentes secciones

Vinko Vrsalovic
fuente
102
Y en los "viejos tiempos", los números de sección correspondían a la carpeta en la que estaba la versión impresa de la página del manual.
Darron
51

La razón por la cual los números de sección son significativos es que hace muchos años, cuando el espacio en disco era más problemático que ahora, las secciones se podían instalar individualmente.

Muchos sistemas solo tenían 1 y 8 instalados, por ejemplo. En estos días, la gente tiende a buscar los comandos en Google.

LepardUK
fuente
10

Tenga en cuenta también que en otros unixes, el método para especificar la sección difiere. En solaris, por ejemplo, es:

man -s 1 man
ÁRBOL
fuente
8

Indica la sección de las páginas man en las que se encuentra el comando. El interruptor -s en el comando man se puede usar para limitar una búsqueda a ciertas secciones.

Cuando ve una página de manual, la parte superior izquierda da el nombre de la sección, por ejemplo:

Comandos del usuario printf (1)
Funciones de biblioteca estándar C printf (3C)

Entonces, si está intentando buscar funciones C y no quiere ver accidentalmente una página para un comando de usuario que comparte el mismo nombre, haría 'man -s 3C ...'

Dave Costa
fuente
6

Como dice @Ian G , son las secciones de la página de manual. Sin embargo, vamos un paso más allá:

1. Vea la página man para el comando man con man man, y muestra las 9 secciones de la siguiente manera:

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>

Imaginemos que estás buscando en Google los comandos de Linux. Encontrará la OPEN(2)página en línea: http://man7.org/linux/man-pages/man2/open.2.html .

Para ver esto en las páginas de manual de su PC, simplemente escriba man 2 open.

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

3) man <section_num> intro

Para leer las páginas Introducción a una sección, escriba en man <section_num> intro, tales como man 1 intro, man 2 intro, man 7 intro, etc.

Para ver todas las introducciones de la página de manual en sucesión, una tras otra, haga man -a intro. Se abrirá la página de introducción para la Sección 1. Presione qpara salir, luego presione Enterpara ver la introducción de la Sección 8. Presione qpara salir, luego presione Enterpara ver la introducción de la Sección 3. Continúe este proceso hasta que termine. Cada vez que golpees q, te llevará de vuelta a la pantalla principal del terminal, pero aún estarás en un mensaje interactivo y verás esta línea:

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

Tenga en cuenta que el orden de la Sección que man -a introlo llevará a través es:

  1. Sección 1
  2. Sección 8
  3. Seccion 3
  4. Sección 2
  5. Sección 5
  6. Sección 4
  7. Seccion 6
  8. Seccion 7

Este orden de búsqueda es intencional, como man manexplica la página:

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. Google busca "Linux ¿Qué significa el número entre paréntesis después de una función?" - 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 + en + paréntesis + después de + a + función% 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
fuente
2
Información extremadamente útil, no estoy seguro de por qué los votos negativos, pero tienes mi +1.
Harperville
2

Detalles de Wikipedia sobre secciones manuales:

  1. Comandos generales
  2. Sistema de llamadas
  3. Funciones de biblioteca, que cubren en particular la biblioteca estándar C
  4. Archivos especiales (generalmente dispositivos, los que se encuentran en / dev) y controladores
  5. Formatos de archivo y convenciones
  6. Juegos y salvapantallas
  7. Miscelánea
  8. Comandos de administración del sistema y demonios
Bob Setterbo
fuente
44
Esta respuesta se ha vuelto inútil; el enlace que no estaba en la respuesta aceptada anteriormente se rompió y se editó, ahora esta respuesta no agrega nada.
Ben Voigt