¿Cómo buscar archivos utilizando el comando locate?
El comando locate busca dentro de su propia base de datos en donde se encuentran los archivos que coincidan con los términos que le estamos proveyendo. Este comando buscará en cada directorio en el cual el usuario con el que estamos realizando la búsqueda tenga acceso. Es importante hacer notar que la base de datos de locate debe ser refrescada cuando mas archivos y directorios sean agregados, de otra forma estos no serán localizables para las búsquedas. Esta es una forma muy veloz de realizar búsquedas de archivos ya que en realidad estamos buscando dentro de una base de datos y no dentro del propio sistema de archivos. Es bastante útil cuando se realizan búsquedas constantes en sistemas de archivos que no cambian tan frecuentemente.
En el siguiente ejemplo vamos a buscar todos los lugares en donde exista un archivo de tipo documento que contenga la palabra reporte.
$ locate *reporte*.doc
locate
nos arrojara todos los resultados para esta búsqueda
¿Cómo buscar archivos utilizando el comando find?
Ahora supongamos que deseo buscar el contenido de un DVD, lo inserto en mi computadora e intento realizar búsquedas? Para este escenario no puedo usar el comando locate ya que este se actualiza esporádicamente.
Para realizar búsquedas a través del sistema de archivos existe el comando find. Este explora en tiempo real los directorios a los cuales el usuario tiene acceso, utilizando los patrones de búsqueda proporcionados al comando. Al ser esta un búsqueda en tiempo real, el tiempo necesario para arrojar los resultados de la búsqueda toman mas tiempo en desplegarse.
El comando find requiere como parámetro inicial el directorio en el que vamos a buscar. Es el siguiente ejemplo hemos definido el directorio Documentos del usuario luis, y enseguida especificamos el parámetro -name que le indica a find que use el patrón provisto para buscar en los nombres de archivo, para este caso cualquier archivo con el nombre reportes y la extensión .doc.
$ find /home/luis/Documentos -name '*reportes*.doc'
¿Cómo determinar en donde se encuentra instalado un comando?
Finalmente el comando whereis, este comando busca dentro del sistema comandos y manuales basándose en los parámetros de búsqueda provistos.
Supongamos que tenemos instalado el comando tree y deseamos saber donde se encentra .
$ whereis tree
curl: /usr/bin/curl /usr/share/man/man1/curl.1.gz