Cómo usar el comando man de Linux: secretos ocultos y conceptos básicos

Todo lo que necesita saber sobre Linux está en sus páginas de manual. Por ejemplo, puede buscar un comando para realizar una tarea, incluso si no sabe cómo se llama. Pero, ¿cómo puedes encontrar las páginas de manual? Aquí tienes algunos trucos.

Manual integrado de Linux

Hay una vieja broma de Linux (de la era dorada de Unix) de que el único comando que necesita saber es man, el sistema punto de entrada al manual de usuario. Hay una pizca de verdad en esto, pero incluso el hombre puede resultar confuso al principio. O, más exactamente, encontrar la información que necesita puede resultar confuso.

¿Alguna vez ha sabido lo que quería hacer, pero no sabía el nombre del comando que haría la tarea? Probablemente todos hemos pasado por eso. Es como intentar buscar una palabra en el diccionario cuando no la conoces.

Entonces, ¿cómo puedes encontrar lo que estás buscando? Bueno, hay formas de evitar este dilema con el hombre.

Los números son otro tema de estudiantes de primer año. ¿Qué son y qué significan? Verá cosas como man (2) o man (5) citadas en la documentación y en Internet. También verá referencias a comandos seguidos de números, como mount (2) y mount (8). Seguramente no puede haber más de un comando de montaje, ¿verdad? Como veremos, los números son importantes y relativamente simples.

Hablando de simple, buscar dentro del hombre es bastante fácil una vez que sabes cómo hacerlo. De hecho, hay algunas formas ingeniosas de buscar y navegar dentro del hombre. ¡Vamos a encenderlo y echarle un vistazo!

Cómo abrir el manual

Para usar man, escribe man en la línea de comando, seguido de un espacio y un comando de Linux. man abre el manual de Linux en la «página de manual» que describe ese comando, si puede encontrarlo, por supuesto.

Escribamos lo siguiente y veamos qué dice el hombre sobre el hombre:

man man

los

Se abre la página de manual de man.

La página de manual de

Como puede ver, esta es la página man (1).

Siga estos consejos para navegar por la página:

Para desplazarse por la página del manual una línea a la vez: Utilice la rueda de desplazamiento del mouse o las teclas de flecha hacia arriba y hacia abajo y las teclas Enter.
Para moverse por la página de manual una pantalla a la vez: Presione la barra espaciadora y las teclas PgDn y PgUp.
Para ir directamente a la parte superior o inferior de la página de manual: Presione las teclas Inicio y Fin.

Si presiona H, ingresa a la sección de ayuda y ve una tabla de combinaciones de teclas alternativas que puede usar. Los enumerados anteriormente probablemente se sentirán más naturales para la mayoría de las personas.

Para salir de hombre, simplemente presione Q.

La anatomía de una página de hombre

En la parte superior de la página, verá los títulos «Nombre» y «Sinopsis». Existe una convención para el diseño de las páginas de manual. Hay páginas de manual para comandos, programas y funciones de programación (rutinas de biblioteca). No verá todos estos encabezados en todas las páginas de manual, porque algunos de ellos solo se aplican a ciertos tipos de comandos.

Los siguientes son algunos de los títulos que puede ver:

  Cómo deshabilitar el firewall UFW en Linux

Nombre: el nombre del comando que describe la página de manual.
Sinopsis: un resumen del comando y su sintaxis.
Configuración: detalles de configuración para un dispositivo.
Descripción: Una explicación de lo que hace el programa.
Opciones: una descripción de las opciones de la línea de comandos que acepta el comando.
Estado de salida: posibles valores de estado de salida para el comando y qué puede hacer que se utilicen.
Valor de retorno: si la página del manual es para una rutina de biblioteca, esto describe el valor que la rutina de biblioteca puede enviar de vuelta a la función que llamó a esa rutina.
Errores: una lista de los valores que pueden colocarse en errno en caso de error.
Entorno: una lista de las variables de entorno que afectan el comando o programa, y ​​de qué manera.
Archivos: una lista de los archivos que utiliza el comando o programa, como los archivos de configuración.
Atributos: un resumen de varios atributos del comando.
Versiones: detalles del kernel de Linux o las versiones de la biblioteca donde una llamada al sistema o una función de biblioteca apareció por primera vez o cambió significativamente de versiones anteriores.
Conforme a: Una descripción de los estándares que el comando podría cumplir, como POSIX.
Notas: Notas varias.
Errores: problemas conocidos.
Ejemplos: uno o más ejemplos que demuestran el uso del comando.
Autores: Las personas que escribieron o mantienen el mando.
Consulte también: Lectura recomendada relacionada con el comando o tema.

Las secciones del hombre

Si se desplaza hacia abajo un par de páginas, verá una lista de las secciones del manual.

Secciones del manual enumeradas en

Las secciones son:

Comandos generales: comandos que usa en la línea de comando.
Llamadas al sistema: funciones que proporciona el núcleo que un programa puede llamar.
Funciones de biblioteca: los programas de funciones pueden llamar a bibliotecas de códigos (principalmente el estándar C).
Archivos especiales: generalmente dispositivos, como los que se encuentran en / dev, y sus controladores.
Convenciones y formatos de archivo: formatos para archivos, como passwd, tabla cron y archivos tar.
Juegos: descripciones de comandos, como fortuna, que muestran citas de una base de datos cuando los ejecuta.
Varios: descripciones de cosas como inodos, parámetros de arranque y el propio hombre.
Administración del sistema: comandos y demonios generalmente reservados para que el root trabaje con ellos.
Rutinas del kernel: información relacionada con el funcionamiento interno del kernel. Esto incluye interfaces de función y variables útiles para los programadores que escriben controladores de dispositivos, por ejemplo. En la mayoría de los sistemas, esta sección no está instalada.

Cuando ve un comando seguido de un número, se refiere a la descripción de ese comando en esa sección del manual. Por ejemplo, man (1) se refiere a la entrada en la sección uno del manual que describe el comando man.

En la imagen de arriba, ves una referencia al hombre (7). Esto significa que hay más información sobre el hombre en otra sección. Cuando abrimos la página de manual por primera vez, mostraba man (1). Si escribe solo man sin número de sección, man busca todas las secciones en orden, buscando una entrada para el comando que escribió. Por supuesto, encontró al hombre (1) antes que al hombre (7).

Si desea forzar a man a buscar una entrada de una sección específica, debe incluir el número de sección en la línea de comando.

Por ejemplo, escribimos lo siguiente para abrir la entrada para man en la sección siete:

man 7 man

los

El manual se abre a la entrada del hombre en la sección siete.

  Cómo agregar elementos al archivo Fstab en Linux

UN

Esta página de manual proporciona instrucciones para escribir páginas de manual. Describe el formato de archivo y las macros que puede utilizar para hacer parte del trabajo por usted. La página man (1) en la sección uno que vimos anteriormente describía cómo usar man en sí.

Cómo buscar entradas en secciones

Normalmente, si simplemente quiere saber cómo usar un comando, no tiene que dar un número de sección. man encontrará la entrada estándar que describe cómo usar ese comando en la sección uno del manual. A veces, sin embargo, es necesario abrir una entrada de comando en una sección en particular porque desea información diferente.

Puede averiguar fácilmente qué secciones del manual contienen entradas para un comando. Cada página de manual tiene un título y una breve descripción. La opción -f (whatis) busca los títulos de las páginas y devuelve una lista de coincidencias.

Para este ejemplo, escribimos lo siguiente:

man -f man

los

Las dos páginas de manual de man se enumeran junto con sus números de sección y descripciones breves. Sin embargo, tenga cuidado: algunas entradas tienen el mismo nombre, pero describen diferentes comandos y funciones.

Por ejemplo, escribimos lo siguiente:

man -f printf

los

Parece que se encontraron dos entradas para printf: la primera en la sección uno y otra en la sección tres. Sin embargo, estos son comandos diferentes. La página de manual de la sección uno describe el comando printf de la línea de comandos, que Formatea la salida en la ventana del terminal.. La página de manual de la sección tres describe el printf familia de funciones de biblioteca en el Lenguaje de programación C.

También es posible buscar en las descripciones breves, así como en los títulos de las páginas. Para hacerlo, usa la opción -k (apropos). Esto también coincidirá con las apariciones del término de búsqueda dentro de otras palabras más largas.

Escribimos lo siguiente:

man -k printf

los

Muchos de estos comandos se describen en las mismas pocas páginas de manual porque su funcionalidad principal es básicamente la misma. La página de manual de vprintf describe la funcionalidad de 10 de los comandos enumerados en la imagen de arriba.

Puede aprovechar esta funcionalidad para buscar información relacionada con lo que está tratando de lograr, incluso si no sabe el nombre del comando que desea usar.

Supongamos que desea cambiar la contraseña de una cuenta de usuario. Podemos buscar cualquier comando que mencione «usuario» en los títulos o descripciones de la página de manual. Luego podemos canalizarlo a través de grep para buscar entradas que contengan «contraseña».

Para hacer esto, escribimos lo siguiente:

man -k 'user ' | grep password

los

Debido a que incluimos la palabra «usuario» entre comillas simples e incluimos un espacio al final, solo encontrará coincidencias para «usuario», no para «usuarios». Un vistazo rápido a los resultados de la búsqueda nos muestra que el candidato probable es passwd.

Debido a que es una página de manual de la sección uno y no necesitamos incluir el número de sección en el comando, escribimos lo siguiente:

man passwd

Digamos que necesitamos un comando que cuente la cantidad de palabras en un archivo de texto. Escribimos lo siguiente para ver si existe algo así:

man -k word | grep count

los

Para saber todo lo que hay que saber sobre el recuento de palabras, escribimos este comando:

man wc

Hablando de wc, también podemos usar la opción -k (apropos) con un solo punto (.) Como objetivo de búsqueda, que coincidirá con todo. Si lo canalizamos a través de wc y usamos la opción -l (líneas), nos dirá cuántas páginas de manual hay en la computadora.

  Las 6 mejores distribuciones de Linux para desarrolladores y programadores

Para hacer todo esto, escribimos el siguiente comando:

man -k . | wc -l

los

Hay 6.706 páginas de manual en esta computadora Ubuntu, pero no se sorprenda si el número es diferente en la suya. Puede variar según los paquetes de software y las utilidades que tenga en su máquina y las páginas de manual que estén preinstaladas.

Buscando en una página de manual

También puede buscar hacia adelante o hacia atrás desde su posición actual dentro de una página de manual.

Para este ejemplo, escribimos lo siguiente para abrir la página del manual del comando history:

man history

los

Para buscar hacia adelante, presionamos la barra inclinada (/) y luego escribimos la palabra «evento». El objetivo de búsqueda aparece en la parte inferior de la ventana de la terminal, y presionamos Enter para iniciar la búsqueda.

los

La ventana muestra el primer resultado de las coincidencias encontradas y están resaltadas.

UN

Presione “n” para moverse de un resultado a otro hacia la parte inferior de la página. Para buscar hacia atrás a través de la página de manual, presione «N»; esto lo llevará de regreso a la parte superior de la página.

Para activar y desactivar el resaltado, presione Esc + U.

Si está cerca de la parte inferior de la página de manual y desea buscar hacia arriba, presione el signo de interrogación (?) Y luego escriba el término de búsqueda. Buscamos «entrada».

UN

Nuevamente, se resaltan los resultados coincidentes.

Resultados del término de búsqueda

Para buscar el siguiente resultado coincidente, presione “n” para moverse hacia el principio de la página del manual. Presione «N» para ir al resultado de coincidencia anterior y moverse hacia el final de la página del manual.

Hay otra forma de buscar en una página de manual. Oculta todas las líneas que no contienen una coincidencia con su término de búsqueda, por lo que es mejor usar números de línea con esta técnica.

Si escribimos “-N” y presionamos Enter, podemos ver los números de línea en la página del manual.

Una página de manual con números de línea en una ventana de terminal.

Presionamos el signo comercial (&), escribimos nuestro término de búsqueda (número) y luego presionamos Enter.

UN

Solo se muestran las líneas que contienen nuestro término de búsqueda.

Líneas que contienen la palabra

Es fácil hojearlos y detectar cualquiera que parezca interesante. Creemos que la línea 292 parece prometedora, por lo que queremos ir a esa sección de la página de manual y comprobarla.

Para ver todas las líneas nuevamente, presionamos el signo y (&), y luego presionamos Enter.

los

Escribimos «292» y luego «g» para ir a esa línea.

Un comando para pasar a la línea

Tan pronto como escribimos «g», se nos lleva a la línea 292 (por lo que la «g» no aparece en la imagen de arriba). La línea 292 se muestra en la parte superior de la ventana de la terminal.

Línea 292 en la parte superior de la pantalla en una página de manual en una ventana de terminal.

Puede presionar «-n» y presionar Enter para eliminar los números de línea.

Leer el fabuloso manual

Hay una gran cantidad de información en las páginas de manual. Incluso con los comandos que cree que conoce bien, es seguro que existen otras opciones de las que nunca ha oído hablar.

Definitivamente también encontrará comandos que no sabía que existían. Con tantas formas diferentes de buscar y rastrear información, es increíble tenerlo todo al alcance de la mano.