El comando locate y updatedb

En las maquinas linux tenemos un comando poco conocido que nos permite encontrar archivos de nuestra maquina de una forma mas rápida y limpia que el conocido comando find / -name .

La utilidad del comando locate es la de encontrar la ubicacion de un directorio en el que se encuentra cualquier fichero del sistema con el nombre dado.

Locate cuenta con una serie de ventajas respecto a su hermano find como que no producirá errores de permisos al tratar de buscar en directorios del sistema que pertenezcan al usuario root u otros grupos a los cuales no tengamos acceso desde el usuario que ejecute locate.

Ademas tarda muchísimo menos tiempo al tener ya una base de datos indexada con los nombres de los archivos.

Esta herramienta viene acompañada de otro comando llamado updatedb que es el truco de esta herramienta para poder buscar archivos de forma tan rápida.

Para saber si existe un determinado archivo, locate busca en una base de datos que tenemos que tener al día si no queremos que nos muestre resultados erróneos (Archivos que ya no están nos lo sigue mostrando, o al buscar determinado archivo te dice que no existe cuando conocemos su existencia…)

Para ello se usa el comando updatedb que como su nombre indica actualiza dicha base de datos. Por defecto se ejecuta diariamente a través de un crontab, pero si buscamos un archivo que creemos que acaba de ser creado deberemos ejecutarla a mano.

Lo primero que debemos saber es si tenemos instalado ya esta herramienta, para ello ejecutamos locate y vemos si nos devuelve los parámetros y nos dice que no encuentra dicha herramienta.

locate

Si vemos que no lo tenemos instalado podemos instalarlo con el comando Yum install mlocate(en yum necesitamos buscar mlocate y no locate a secas), o apt-get install locate dependiendo de la distribución que tengamos.

apt-getlocalte1

 

Nada mas terminar de instalar locate, o confirmar que ya lo tenemos instalado, deberemos ejecutar por primera vez la orden updatedb.

updatedb2

Esta orden no devuelve ninguna salida de texto, simplemente debemos dejar que se termine de ejecutar y ya estará actualizada la base de datos con los nombres de todos los archivos del equipo..

Una vez instalado y ejecutado por primera vez el comando updatedb, podemos empezar a usar la herramienta, simplemente escribiendo locate y el nombre del archivo.

 

Un saludo.