¿Alguna vez ha intentado encontrar la ubicación de un comando, programa o aplicación pero no sabía dónde buscar?
Por supuesto, puede usar el comando find para intentar localizarla de la siguiente manera:
find / -nombre firefox
Esto le devolverá una lista de resultados potenciales y, en general, puede encontrar la ubicación del programa de esta manera.
Otro comando que puede utilizar es el de localización. Por ejemplo:
localizar firefox
Sin embargo, el mejor método para encontrar programas es el comando whereis.
De acuerdo con las páginas de manual:
donde se localizan los archivos binarios, de origen y manuales para los nombres de comandos especificados. Los nombres suministrados se despojan primero de los componentes principales de los nombres de ruta y también se tratan los prefijos de s. resultantes del uso del control de código fuente de cualquier extensión (única) de seguimiento del formulario.ext (por ejemplo:.c). Whereis intenta entonces localizar el programa deseado especificado en los lugares estándar de Linux, y en los lugares especificados por $PATH y $MANPATH.
En esencia, por lo tanto, el comando whereis puede encontrar el código fuente, los manuales y la ubicación de un programa.
Probémoslo con Firefox:
whereis firefox
La salida del comando anterior es la siguiente:
firefox: /usr/bin/firefox /usr/lib64/firefox /usr/share/man/man1/firefox.1.gz
Si sólo desea encontrar la ubicación del programa, puede utilizar el conmutador -b de la siguiente manera:
whereis -b firefox
Esto devuelve el siguiente resultado:
firefox: /usr/bin/firefox /usr/lib64/firefox
Alternativamente, si sólo desea conocer la ubicación de los manuales, puede utilizar el interruptor -m.
whereis -m firefox
El resultado del comando anterior es el siguiente:
firefox: /usr/share/man/man1/firefox.1.gz
Por último, puede limitar la búsqueda sólo al código fuente utilizando el parámetro -s.
Hay otros interruptores disponibles para el comando whereis incluyendo -u que busca archivos inusuales.
El manual dice lo siguiente sobre el interruptor -u:
se dice que un comando es inusual si no tiene sólo una entrada de cada tipo solicitado explícitamente. Así,’whereis -m -u *’ pregunta por aquellos archivos en el directorio actual que no tienen ningún archivo de documentación, o más de uno.
Esencialmente, si tiene más de un manual en su sistema o el programa que está ejecutando aparece en más de un lugar, será devuelto.
Si tiene una idea vaga sobre la ubicación de un programa o comando y desea buscar un conjunto específico de directorios, puede utilizar el parámetro -B para buscar binarios en una lista específica.
Por ejemplo:
whereis -b -B /usr/bin -f firefox
El comando anterior tiene algunas partes. En primer lugar está el parámetro -b, que significa que sólo buscamos los binarios (los programas mismos). El parámetro -B se utiliza para proporcionar una lista de lugares para buscar los binarios y la lista de carpetas termina con el parámetro -f. Por lo tanto, en el comando anterior el único directorio que se busca es /usr/bin. Finalmente el firefox después de la -f dice dónde está lo que está buscando.
Una alternativa al interruptor -B es -M, que busca manuales en un conjunto específico de carpetas.
La línea de comandos para el modificador -M sería la siguiente:
La lógica es la misma para la -M que para la -B. La -m dice dónde buscar manuales, la -M dice dónde está entrando una lista de carpetas en las que debería buscar manuales. El -f termina la lista de archivos y firefox es el programa para el que el comando whereis va a buscar manuales.
Finalmente el interruptor -S puede ser usado para listar un conjunto de carpetas para buscar el código fuente.