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? A continuación se muestran algunos trucos.
Manual integrado de Linux
Hay una vieja broma de Linux (de la era dorada de Unix) 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 man
puede ser 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 estado allí. 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 sortear este dilema con man
.
Los números son otro problema de los estudiantes de primer año. ¿Qué son y qué significan? Verás cosas como man(2)
o man(5)
citado en la documentación y en Internet. También verá referencias a comandos seguidos de números, como mount(2)
y mount(8)
. Seguro que no puede haber mas de uno mount
comando, ¿verdad? Como veremos, los números son importantes y relativamente simples.
Hablando de simple, buscando dentro man
es bastante fácil una vez que sabes cómo hacerlo. De hecho, existen algunas formas ingeniosas de buscar y navegar dentro de man
. ¡Encendamos y echemos un vistazo!
RELACIONADO: 37 comandos importantes de Linux que debe conocer
Cómo abrir el manual
Usar man
, escribe man
en la línea de comandos, 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é man
dice sobre man
:
man man
La página de manual de man
se abre.
Como puede ver, este es el man(1)
página.
Siga estos consejos para navegar por la página:
- Para moverse por la página de 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 Enter.
- Para moverse por la página del 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 pulsaciones de teclas alternativas que puede usar. Los enumerados anteriormente probablemente se sentirán más naturales para la mayoría de las personas.
Salir man
, 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 cada página 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:
- 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 de 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 devuelto: Si la página de manual es para una rutina de biblioteca, esto describe el valor que la rutina de biblioteca puede enviar a la función que llamó a esa rutina.
- Errores: Una lista de los valores que se pueden colocar en
errno
en caso de error. - Medio ambiente: Una lista de las variables de entorno que afectan al comando o programa y de qué manera.
- Archivos: Una lista de los archivos que usa 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 versiones de la biblioteca donde una llamada al sistema o una función de biblioteca apareció por primera vez o cambió significativamente con respecto a versiones anteriores.
- De acuerdo a: Una descripción de cualquier estándar que pueda cumplir el comando, como POSIX.
- Notas: Notas misceláneas.
- Insectos: Problemas conocidos.
- Ejemplos: Uno o más ejemplos que demuestran el uso del comando.
- Autores: Las personas que escribieron o mantienen el comando.
- Ver 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 en el manual.
Las secciones son:
- Comandos generales: Comandos que usa en la línea de comando.
- Llamadas al sistema: Funciones que proporciona el kernel 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: Por lo general, dispositivos, como los que se encuentran en / dev, y sus controladores.
- Convenciones y formatos de archivo: Formatos para archivos, como el
passwd
,cron
mesa, ytar
archivos de almacenamiento. - Juegos: Descripciones de comandos, como
fortune
, que muestran citas de una base de datos cuando las ejecuta. - Diverso: Descripciones de cosas como inodos, parámetros de arranque y
man
sí mismo. - Administracion del sistema: Comandos y demonios generalmente reservados para
root
trabajar con. - Rutinas del núcleo: 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 man
mando.
En la imagen de arriba, ve una referencia a man(7)
. Esto significa que hay más información sobre man
en otra sección. Cuando abrimos la página del manual por primera vez, se 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ó man(1)
antes de man(7)
.
Si quieres forzar man
para encontrar 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
El manual se abre a la entrada del hombre en la sección siete.
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. los man(1)
página en la sección uno que vimos anteriormente describió cómo usar man
sí mismo.
Cómo buscar entradas en secciones
Normalmente, si simplemente desea 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. los -f
La opción (whatis) busca los títulos de las páginas y devuelve una lista de coincidencias.
Para este ejemplo, escribimos lo siguiente:
man -f man
Las dos páginas man para 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
Parece que se encontraron dos entradas para printf
: el primero en la sección uno y otro en la sección tres. Sin embargo, estos son comandos diferentes. La página de manual de la sección uno describe la línea de comandos printf
comando, que Formatea la salida en la ventana del terminal.. La página de manual de la sección tres describe la 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 el -k
(apropos) opción. 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
Muchos de estos comandos se describen en las mismas 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.
Digamos 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 grep
para buscar entradas que contengan «contraseña».
Para hacer esto, escribimos lo siguiente:
man -k 'user ' | grep password
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
Para averiguar todo lo que hay que saber sobre el conteo de palabras, escribimos este comando:
man wc
Hablando de wc
, también podemos usar el -k
(apropos) opción con un solo período (.
) como objetivo de búsqueda, que coincidirá con todo. Si lo canalizamos wc
y usa el -l
(líneas), nos dirá cuántas páginas de manual hay en la computadora.
Para hacer todo esto, escribimos el siguiente comando:
man -k . | wc -l
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 de manual de la history
mando:
man history
Para buscar hacia adelante, presionamos la barra diagonal (/
) y luego escriba la palabra «evento». El objetivo de búsqueda aparece en la parte inferior de la ventana del terminal y presionamos Enter para iniciar la búsqueda.
La ventana muestra el primer resultado de las coincidencias encontradas y están resaltadas.
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».
Nuevamente, se resaltan los resultados coincidentes.
Para buscar el siguiente resultado coincidente, presione “n” para moverse hacia el principio de la página de 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.
Presionamos el signo comercial (&), escribimos nuestro término de búsqueda (número) y luego presionamos Enter.
Solo se muestran las líneas que contienen nuestro término de búsqueda.
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.
Escribimos «292» y luego «g» para ir a esa 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). A continuación, se muestra la línea 292 en la parte superior de la ventana de la 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.
setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);