Mejores artículos y tutoriales de Linux
Mejores artículos y tutoriales de Linux

Como sugiere su propio nombre, el comando de localización (locate) en Linux se utiliza para localizar (buscar) un archivo.

El comando locate trabaja con la siguiente sintaxis:

locate [options] filename

Si bien, es realmente simple usar el comando de localización, incluye muchos peros y condiciones.

Para empezar, si no es capaz de encontrar un archivo, no significa necesariamente que el archivo no exista en el sistema.

No te confunda, te explico cómo funciona el comando locate y cómo puedes usarlo para intentar buscar archivos.

¿Cómo usar el comando locate en Linux?

El comando de localización funciona en un índice, es decir, una base de datos de ubicaciones de archivos.

Cuando se usa el comando, se refiere a ese índice en lugar de buscar en todo el sistema de archivos.

Esta es la razón por la que localizar es súper rápido para encontrar archivos en Linux.

Algunas distribuciones de Linux indexan automáticamente todo el sistema de archivos de forma regular, aunque también puedes crear manualmente este índice (te mostraré más adelante).

Si quieres usar el comando de localización, es muy simple hacerlo. Solamente tienes que especificar el nombre de archivo a buscar:

locate NombreArchivo

El resultado mostrará todos los lugares donde se encontró el archivo que especificaste.

La mejor parte es que no necesitas estar en el directorio determinado para encontrar el archivo.

Recuerda que el comando de localización no busca en el sistema de archivos sino en el índice, y es por eso que no necesitas especificar una ruta o directorio mientras buscas archivos.

Si lo deseas, puedes realizar una búsqueda que no distinga entre mayúsculas y minúsculas utilizando la opción -i:

locate -i NombreArchivo

Debes tener en cuenta que en el resultado se pueden mostrar todos los archivos que tienen el término de búsqueda dentro de su nombre.

Además, también puede usar expresiones regulares junto al comando locate:

locate -r ExpresiónRegular

¿Cómo usar updatedb para crear tu propio índice para el comando de locate?

Esto es solo para fines informativos y no creo que necesites usarlo. Pero debes saber que puedes reconstruir manualmente la base de datos para todo el sistema de esta manera:

sudo updatedb

Si deseas crear un índice del directorio actual (y tus subdirectorios), puedes usar el comando updatedb de esta manera:

updatedb -l0 -U Tu_Directorio -o indice_nombre

Una vez que hayas creado ese archivo de índice, puedes solicitar al comando de localización(locate) usar explícitamente ese índice:

locate -d indice_nombre NombreArchivo

¿Locate es mejor que el comando de búsqueda?

Si desea buscar archivos en una estructura de directorios que no cambia mucho, el comando locate es una buena opción, puesto que es super rápido.

Pero el comando de búsqueda (find) te brinda muchas opciones para realizar búsquedas mucho más complejas.

Ambos comandos tienen sus casos de uso. En mi opinión, si eres un poco vago y quieres un resultado rápido, usa locate (al menos como primera opción).

Si el resultado no es de tu agrado, cambia al comando de búsqueda (find).

Comparte tu opinión