En Linux, si alguna vez necesita ayuda con respecto a un comando, todo lo que necesita hacer es abrir su página de manual. Pero, ¿qué sucede si surge una situación en la que el requisito es buscar rápidamente los nombres y las descripciones de todas las páginas man disponibles? Bueno, Linux lo tiene cubierto, ya que existe un comando denominado a propósito que hace exactamente esto por ti.
En este tutorial, discutiremos los conceptos básicos de apropos utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se han probado en una máquina con Ubuntu 16.04 LTS.
El comando apropos busca nombres y descripciones de páginas de manual para una palabra clave proporcionada por el usuario. La siguiente es su sintaxis:
apropos [OPTIONS] keyword ...
Y esto es lo que dice la página de manual de la herramienta al respecto:
Each manual page has a short description available within it. apropos
searches the descriptions for instances of keyword.
keyword is usually a regular expression, as if (-r) was used, or may
contain wildcards (-w), or match the exact keyword (-e). Using these
options, it may be necessary to quote the keyword or escape (\) the
special characters to stop the shell from interpreting them.
The standard matching rules allow matches to be made against the page
name and word boundaries in the description.
The database searched by apropos is updated by the mandb program.
Depending on your installation, this may be run by a periodic cron job,
or may need to be run manually after new manual pages have been
installed.
Los siguientes son algunos ejemplos de estilo de preguntas y respuestas que le darán una buena idea de cómo funciona el comando apropos.
P1. ¿Cómo usar a propósito?
El uso básico es simple. Simplemente pase la palabra clave que desea buscar como entrada al comando apropiado.
Por ejemplo:
apropos dmesg
produjo el siguiente resultado:
dmesg (1) - print or control the kernel ring buffer
Por supuesto, también puede pasar varias palabras clave.
Por ejemplo:
apropos dmesg whereis
El siguiente es el resultado en este caso:
dmesg (1) - print or control the kernel ring buffer
whereis (1) - locate the binary, source, and manual page files for a...
P2. ¿Cómo hacer una búsqueda adecuada de palabras clave exactas?
De forma predeterminada, la entrada que pasa al comando apropos no se busca exactamente. Por ejemplo, si pasa 'quién' como entrada, también verá que la herramienta produce resultados que contienen palabras como 'quién'.
Así que esta no es una búsqueda exacta. Sin embargo, puede forzar la búsqueda de palabras clave exactas utilizando las opciones de línea de comando -e o --exact.
Así que ahora ve que solo aquellas entradas que coinciden exactamente con 'quién' se muestran en la salida.
P3. ¿Cómo hacer que las entradas de visualización coincidan con todas las palabras clave?
Si pasa varias palabras clave como entrada al comando apropos, la herramienta generará entradas que coincidan/contengan al menos una de las palabras clave. Sin embargo, si desea producir solo aquellas entradas que coincidan/contengan todas las palabras clave, utilice la opción de línea de comando -a.
Por ejemplo, aquí está el resultado de un comando apropiado sin la opción -a:
Y aquí está el resultado con la opción -a habilitada:
P4. ¿Cómo forzar a propósito para no recortar la salida?
Como habrá visto en los resultados de preguntas y respuestas anteriores, la herramienta recorta las entradas si son demasiado largas. Por ejemplo, vea la línea resaltada en el siguiente resultado:
Sin embargo, si lo desea, puede forzar la producción de líneas completas en la salida, algo que puede hacer usando la opción de línea de comando -l.
P5. ¿Cómo interpretar el estado de salida a propósito?
El comando apropos produce cuatro estados de salida diferentes:0, 1, 2 y 16. Esto es lo que representa cada uno de estos:
0 Successful program execution.
1 Usage, syntax or configuration file error.
2 Operational error.
16 Nothing was found that matched the criteria specified
Conclusión
Dependiendo de su perfil de trabajo, es posible que no necesite el comando apropos a diario, pero como ya habrá entendido, podría ser un salvavidas en ciertas situaciones. Hemos discutido algunas opciones de línea de comando de uso aquí. Para obtener más información sobre la herramienta, diríjase a su página de manual.