Linux / Comando / man: consultar manuales, secciones y opciones

man es un comando que permite leer en la terminal la documentación de comandos, archivos de configuración, llamadas al sistema y funciones de biblioteca instaladas en un sistema Linux. Básicamente, al ejecutar man COMANDO se puede verificar la forma de uso, las opciones, el estado de salida y la documentación relacionada.

Como los ejemplos encontrados en Internet pueden diferir de la versión actual del sistema, es recomendable consultar la página del manual (man page) instalada en dicho sistema antes de realizar cualquier tarea. Este artículo explica desde cómo abrir el manual, seleccionar la sección, buscar por palabras clave, verificar comandos internos del shell, hasta la resolución de problemas.

¿Qué es el comando man?

man es una interfaz que muestra los manuales de referencia del sistema. Cuando se le proporciona el nombre de una página como argumento, busca el manual en la ruta configurada, organiza el formato y lo muestra por pantalla en unidades de visualización. Generalmente, less se usa como programa de visualización (pager), pero esto puede variar según la configuración del sistema y las variables de entorno MANPAGER o PAGER.

Las páginas del manual no son provistas por un solo programa man. Cada paquete de comandos o bibliotecas instala su propia documentación, por lo que incluso en la misma distribución, las páginas accesibles pueden variar según los paquetes y sus versiones instaladas.

Sintaxis básica y primer ejemplo

La sintaxis más utilizada es la siguiente. Los corchetes indican elementos opcionales, por lo que no se deben escribir en el comando real.

man [OPCIONES] [[SECCIÓN] PÁGINA...]

Para abrir el manual del comando ls, ejecútelo de la siguiente manera.

man ls

Si desea abrir la página de una sección específica, especifique el número de la sección antes del nombre de la página.

man 5 passwd

El comando anterior abre la página de la sección 5 que describe el formato de archivo /etc/passwd, no el comando passwd. Si omite la sección como man passwd, buscará en el orden preestablecido y mostrará solo la primera página encontrada.

Cómo moverse y buscar en la pantalla del manual

Las siguientes teclas se pueden usar generalmente cuando el paginador es less. Si se ha configurado otro paginador, el funcionamiento de las teclas puede ser diferente.

Tecla Funcionamiento
Space, Page Down Moverse a la siguiente pantalla.
b, Page Up Moverse a la pantalla anterior.
↑, ↓ Moverse una línea hacia arriba o hacia abajo.
g Ir al principio del documento.
G Ir al final del documento.
/TEXTO Buscar una cadena en dirección descendente desde la posición actual.
?TEXTO Buscar una cadena en dirección ascendente desde la posición actual.
n, N Ir al siguiente resultado de búsqueda o al resultado de búsqueda anterior.
h Abrir la ayuda del pager.
q Salir del manual.

Por ejemplo, si abre man ls y luego introduce /-a y presionas Enter, puede encontrar la posición donde aparece -a. Las opciones cortas pueden coincidir con otras palabras en el texto, por lo que, si es necesario, es más rápido buscar opciones largas o palabras clave de la descripción, como --all.

Leer la composición de la página del manual

No todos los ítems están presentes en cada página, pero un manual de comando típico está compuesto por las siguientes secciones.

Sección Contenido
NAME Resume el nombre de la página y su función en una línea.
SYNOPSIS Muestra el formato de uso del comando o función.
DESCRIPTION Explica en detalle cómo funciona y su propósito de uso.
OPTIONS Explica las opciones disponibles y el efecto de cada opción.
EXIT STATUS Explica los estados de salida que distinguen entre cierre normal y errores.
ENVIRONMENT Explica las variables de entorno que afectan el funcionamiento.
FILES Muestra los archivos de configuración relacionados, archivos de datos y sus rutas.
EXAMPLES Proporciona ejemplos de uso real. Puede que no estén presentes en todas las páginas.
SEE ALSO Indica otras páginas de manual que conviene leer juntos.

En SYNOPSIS, la forma de notación también es importante. Las cadenas en negrita son campos que se deben introducir tal cual, mientras que las cursivas suelen representar valores que el usuario debe reemplazar. [ ] indica un elemento opcional, y ... indica un elemento que se puede repetir. Sin embargo, dependiendo del método de creación de la página y del entorno de impresión, la forma de expresión puede variar, por lo que se debe leer también la explicación de la página correspondiente.

Significado de los números de sección del manual

El manual de Linux se divide en secciones según la naturaleza del documento. Dado que puede existir una página con el mismo nombre en varias secciones, es recomendable conocer el número de sección para encontrar el documento deseado sin errores.

Sección Clasificación Ejemplo
1 Programas ejecutables y comandos de shell ls(1), grep(1)
2 Llamadas al sistema open(2), read(2)
3 Llamadas a bibliotecas printf(3), malloc(3)
4 Archivos y dispositivos especiales null(4), interfaz de dispositivo
5 Formatos de archivo y convenciones passwd(5), fstab(5)
6 Juegos Manuales de juegos instalados
7 Otros temas y convenciones signal(7), man-pages(7)
8 Comandos de administración del sistema mount(8), useradd(8)
9 Rutinas del kernel Sección no estándar y no está presente en todos los sistemas

En los documentos, puede ver números adjuntos al nombre como passwd(1) o passwd(5). Este número no es una versión, sino la sección del manual. Cada uno se puede abrir de la siguiente manera.

man 1 passwd
man 5 passwd

Cómo encontrar páginas con el mismo nombre

Verificar todas las secciones coincidentes

-a muestra todas las páginas encontradas en el orden de búsqueda. Al cerrar la primera página, el comportamiento detallado puede variar según la implementación y la configuración, como preguntar si desea abrir la siguiente página o mostrar inmediatamente el siguiente documento.

man -a passwd

-f imprime el nombre de la página y una breve descripción. Generalmente se usa para el mismo propósito que whatis.

man -f passwd
whatis passwd

Abrir solo secciones específicas

Si conoce la sección que necesita, la forma más precisa es indicar el número. Además del formato separado por espacios, algunas implementaciones de man también admiten los formatos passwd.5 o el citado 'passwd(5)'.

man 5 passwd
man passwd.5
man 'passwd(5)'

Si necesita portabilidad, es seguro usar el formato man 5 passwd, que es fácil de entender y ampliamente utilizado.

Cómo buscar por palabra clave cuando no conoce el nombre

Buscar por nombre y breve descripción

man -k busca palabras clave en el nombre y en la breve descripción de la página del manual. apropos también se usa para el mismo propósito.

man -k "copy files"
apropos "copy files"

El término de búsqueda puede procesarse como una expresión regular, por lo que si contiene caracteres especiales, debe considerar tanto el shell como las reglas de búsqueda. Para frases simples, es seguro ponerlas entre comillas, como en los ejemplos anteriores.

Buscar en todo el texto del manual

-K busca cadenas en el cuerpo del manual, no en el nombre ni en el resumen. Si hay muchos documentos instalados, puede tardar mucho tiempo, por lo que se recomienda buscar primero con -k y usarlo solo cuando sea necesario.

man -K "environment variable"

Reducir el rango a una sección específica puede disminuir el tiempo de búsqueda.

man -K 5 "password database"

Opciones de man usadas con frecuencia

Las siguientes opciones se han organizado tomando como referencia la implementación de man-db ampliamente utilizada en Linux. En otros sistemas operativos o implementaciones, la compatibilidad y el significado pueden variar, por lo que la manera más precisa es verificar la descripción en el sistema actual con man man.

Opciones Descripción
-a, --all Muestra todas las páginas de manual cuyos nombres coinciden.
-f, --whatis Muestra el nombre de la página y una breve descripción.
-k, --apropos Busca palabras clave en el nombre y la breve descripción.
-K, --global-apropos Busca cadenas en el cuerpo de todas las páginas de manual.
-w, --where Imprime la ubicación del archivo de manual original sin abrir la página.
-l, --local-file Muestra el archivo de manual local especificado en lugar de la ruta de búsqueda.
-L LOCALE, --locale=LOCALE Especifica la configuración regional a usar en esa ejecución.
-M RUTA, --manpath=RUTA Especifique directamente la ruta donde buscar la página del manual.

Por ejemplo, puede comprobar la ubicación del archivo de manual que está leyendo realmente, ls, de la siguiente manera.

man -w ls

Use también el comando help incorporado en la shell.

Comandos incorporados ejecutados directamente por la shell, como cd, alias, read, pueden no ser archivos ejecutables separados. En Bash, primero verifique el tipo de comando con type, y si es un comando incorporado, es más preciso y rápido usar help.

type cd
help cd
help -m cd

help -m muestra la ayuda en un formato similar a la página del manual. Puede verificar la explicación detallada de todo Bash de la siguiente manera.

man bash

Dado que el mismo nombre puede existir simultáneamente como alias, función, comando incorporado de la shell y programa externo, si no está seguro de qué se ejecuta realmente, verifique todo con type -a NOMBRE.

type -a printf

Consultar traducciones y comprobar la configuración regional

man puede mostrar este documento primero si la página traducida correspondiente a la configuración regional actual está instalada. La configuración regional actual se puede verificar con el siguiente comando.

locale
echo "$LANG"

Si desea ver temporalmente el texto original en inglés, puede usar la opción -L.

man -L C ls

Aunque seleccione una configuración regional española, la página puede aparecer en inglés si no existe o no está instalada su traducción. El lector man no traduce el texto automáticamente. Las páginas traducidas también pueden ir por detrás de la versión original; compare la versión del programa y las opciones antes de aplicarlas.

Cómo resolver cuando no hay página de manual

Verificar si el comando y los paquetes relacionados están instalados

Si aparece No manual entry for ..., el nombre de la página puede estar incorrecto o el comando o paquete de documentación puede no estar instalado. Primero, verifique si el comando existe y cuáles son sus tipos.

type -a COMANDO
command -v COMANDO

En imágenes mínimas pueden faltar el lector man y sus páginas. El siguiente bloque reúne alternativas, no una secuencia para todos los sistemas: en Debian o Ubuntu use solo las dos líneas de APT; en Rocky Linux o RHEL use la línea de DNF. Revise primero sus repositorios y permisos. Instalar man-db añade el lector, pero no garantiza disponer de toda la documentación de los programas.

sudo apt update
sudo apt install man-db manpages
sudo dnf install man-db man-pages

El nombre del paquete y la configuración del repositorio pueden variar según la distribución y la versión. La documentación de un programa específico puede estar incluida en el paquete del programa o en un paquete de documentación/desarrollo separado, por lo que también se recomienda utilizar la función de búsqueda de paquetes de la distribución.

Comprobar la base de datos de búsqueda y las rutas

Si man COMANDO se abre pero no hay resultados de búsqueda en man -k o whatis, es posible que la base de datos del índice aún no se haya creado. En un entorno man-db, se puede actualizar la base de datos con privilegios de administrador.

sudo mandb

La ruta de búsqueda del manual se confirma con manpath. Si el usuario configura MANPATH directamente, la ruta de búsqueda predeterminada puede cambiar, por lo que es recomendable evitar fijarla sin una razón especial.

manpath
printf '%s\n' "$MANPATH"

Ejemplos prácticos de uso

Buscar opciones rápidamente

Después de abrir el manual, se puede encontrar rápidamente la opción necesaria en documentos largos utilizando la tecla de búsqueda.

man tar

En la pantalla, escriba /--exclude y presione Enter, luego navegue entre los resultados de búsqueda de n y N.

Verificar el formato del archivo de configuración

Antes de modificar el archivo de configuración, verifique si hay una página relacionada en la sección 5. La página puede explicar el significado de los campos, los valores permitidos, las reglas de comentarios y ejemplos.

man 5 fstab
man 5 ssh_config
man 5 sshd_config

Investigar siguiendo la documentación relacionada

Si no encuentra la respuesta en una página, consulte SEE ALSO al final del documento. Los comandos relacionados, archivos de configuración, llamadas del sistema y documentos conceptuales están conectados en el formato NOMBRE(SECCIÓN) para ampliar sistemáticamente el alcance de la búsqueda.

man 2 open
man 7 path_resolution

¿Man, --help e info, cómo se diferencian?

Método Situaciones adecuadas Características
COMANDO --help Cuando se revisa rápidamente la sintaxis y las opciones Corto y fácil de verificar de inmediato, pero algunos comandos no son compatibles
man COMANDO Cuando se desea ver en detalle el significado de las opciones, archivos, variables de entorno y documentación relacionada Proporciona los documentos de referencia instalados actualmente en el sistema
info COMANDO Cuando se lee profundamente la descripción por capítulos y los ejemplos de los programas GNU Tiene estructura de hipertexto y requiere un documento Info separado
help COMANDO Cuando se verifica un comando incorporado de Bash Muestra la ayuda de los comandos incorporados que Bash proporciona actualmente

Use cada herramienta según la pregunta: --help suele resumir opciones, man proporciona páginas de referencia, help documenta los comandos integrados de Bash e info ofrece manuales con navegación por nodos. La disponibilidad depende de los paquetes instalados.

Preguntas frecuentes

¿El número después de man indica la versión?

No. Los números de printf(1) y printf(3) indican la sección del manual. La sección 1 trata los comandos de usuario y la sección 3 maneja las funciones de la biblioteca, por lo que aunque el nombre sea el mismo, los documentos son diferentes entre sí.

¿Cómo puedo salir del manual?

Si el paginador básico es less, presione q. Si no se cierra, consulte la ayuda o la configuración del paginador que está usando actualmente.

¿Cuál es la razón por la que el contenido de la página man es diferente de los documentos en Internet?

El manual local depende de los paquetes instalados en el sistema actual, por lo que varía según la distribución, la versión del paquete y el estado de la instalación. Por otro lado, la documentación en línea puede describir versiones más recientes u otras implementaciones. Es seguro verificar las opciones a utilizar en un servidor real basándose en el manual local y COMANDO --version.

¿Qué hago si no sé el nombre del comando en absoluto?

Busque el nombre y una breve descripción con man -k PALABRA_CLAVE o apropos PALABRA_CLAVE. Si hay demasiados resultados de búsqueda, agregue palabras más específicas o limite el rango de secciones en un entorno que admita la opción -s.

Resumen

man es actualmente la herramienta más básica para verificar los documentos de referencia instalados en un sistema Linux. En lugar de simplemente recordar man COMANDO, si se aprende junto con la búsqueda de -k por número de sección, el resumen de -f, la verificación de la ruta de -w y la búsqueda con paginador, se puede encontrar la información necesaria mucho más rápido.

Primero, ejecute man man para verificar las opciones que ofrece la implementación de man en su sistema actual. Los comandos integrados de shell son help, la verificación de opciones cortas es --help, y la descripción larga de los programas GNU es info; usarlos juntos puede reducir las lagunas en la navegación de la documentación.

Para contrastar opciones y disponibilidad, consulte Página del manual man(1), Proyecto Linux man-pages, Proyecto man-db y Documentación oficial de comandos incorporados de GNU Bash.