¿Qué significa el número entre paréntesis que se muestra después de los nombres de los comandos de Unix en las páginas de manual?
Por ejemplo: man(1)
, find(3)
, updatedb(2)
?
¿Qué significan los números entre paréntesis (brit. "paréntesis")?
Es la sección a la que está asignada la página de manual del comando.
Estos se dividen como
- Comandos generales
- llamadas al sistema
- funciones de la biblioteca C
- Archivos especiales (normalmente dispositivos, los que se encuentran en /dev) y controladores
- Formatos de archivo y convenciones
- Juegos y salvapantallas
- Miscelánea
- Comandos y demonios de administración del sistema
Las descripciones originales de cada sección se pueden ver en el Manual del programador de Unix (página ii).
Para acceder a una página de manual proporcionada como "foo(5)", ejecute:
man 5 foo
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 cuando existen comandos similares o exactamente iguales en diferentes secciones.
La razón por la que los números de las secciones son importantes es que hace muchos años, cuando el espacio en disco era un problema mayor que ahora, las secciones se podían instalar individualmente.
Muchos sistemas sólo tenían instalados 1 y 8, por ejemplo. Hoy en día la gente tiende a buscar los comandos en Google.
Como dice @Ian G , son las secciones de la página de manual. Sin embargo, vayamos un paso más allá:
1. Consulte la página de manual del man
comando 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á buscando en Google comandos de Linux. Encontrará la OPEN(2)
página en línea: open(2) — Página del manual de Linux .
Para ver esto en las páginas man 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 de introducción de una sección, escriba man <section_num> intro
, como man 1 intro
, man 2 intro
, man 7 intro
, etc.
Para ver todas las introducciones de páginas de manual en sucesión, una tras otra, haga man -a intro
. Se abrirá la página de introducción de 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 terminar. Cada vez que presione q, lo llevará de regreso a la pantalla principal de la terminal, pero aún estará en un mensaje interactivo y verá esta línea:
--Man-- next: intro(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
Tenga en cuenta que el orden de las secciones que man -a intro
le guiarán es:
- Sección 1
- Sección 8
- Seccion 3
- Sección 2
- Sección 5
- Sección 4
- Sección 6
- Sección 7
Este orden de búsqueda es intencional, como man man
explica 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)
¿Por qué eligieron este orden? No lo sé (responda en los comentarios si lo sabe), pero comprenda que este orden es correcto e intencional.
Relacionado:
- Busque en Google "linux, ¿qué significa el número entre paréntesis después de una función?"
- Superusuario: ¿Qué significan los paréntesis y el número después de un comando Unix o una función C?
- Unix y Linux: ¿Qué significan los números en una página de manual?
Tenga en cuenta también que en otros Unix, el método para especificar la sección difiere. En Solaris, por ejemplo, es:
man -s 1 man