Si trabajas con programación en Linux, seguramente has consultado las páginas del manual (man pages) para entender comandos, funciones del sistema o bibliotecas. A menudo, te habrás topado con números al final del nombre de la función, como en sleep(3) o read(2). Este artículo explica el significado de estos números, un detalle que muchos usuarios avanzados ignoran durante años.
En esencia, los números en los títulos de las man pages indican la sección del manual a la que pertenecen. La página man(1) (accesible con el comando man man) define estas secciones:
- 1: Comandos ejecutables y programas de shell.
- 2: Llamadas al sistema (system calls), que son funciones proporcionadas directamente por el kernel del sistema operativo. Estas funciones permiten a los programas interactuar con el hardware y los recursos del sistema.
- 3: Llamadas a bibliotecas (library calls), que son funciones disponibles en bibliotecas de programación, como la biblioteca estándar de C (libc). Estas funciones proporcionan funcionalidades más complejas que las llamadas al sistema.
Por ejemplo, sleep(3) se refiere a la función sleep que se encuentra en una biblioteca (generalmente libc), mientras que read(2) se refiere a la llamada al sistema read, que es una función del kernel. Un error común es referirse a una función de biblioteca como una llamada al sistema (como el ejemplo del reviewer que corrigió el comentario sobre basename).
Además de los números, a veces se añaden sufijos a estos números, como p o x. La p indica una página de manual POSIX, que es un estándar de programación que asegura la portabilidad del código entre diferentes sistemas Unix-like. La x indica documentación relacionada con X Window System, un sistema de ventanas gráfico.
Casos de uso: Desarrolladores de software, administradores de sistemas y cualquier persona que trabaje con la línea de comandos de Linux se beneficiarán de este conocimiento. Permite una mejor comprensión de la documentación y evita confusiones al referirse a funciones y llamadas al sistema.
Consideraciones: Aunque la mayoría de las distribuciones de Linux utilizan la misma estructura de secciones, puede haber pequeñas variaciones. Es importante consultar la página man(1) para obtener información específica sobre tu sistema. También es útil recordar que estos números son una convención, no una regla estricta, pero siguen una estructura bien definida que facilita la navegación por la documentación.
