Linux / Comando locate: buscar rutas en un índice de archivos
locate consulta un índice de rutas creado previamente. Evita recorrer el sistema de archivos en cada búsqueda, pero no refleja necesariamente los archivos creados, movidos o eliminados después de la última actualización del índice.
Compruebe la implementación con locate --version y sus opciones con locate --help. Para elegir entre búsquedas indexadas y otras herramientas, consulte la Lista de comandos de uso frecuente en Linux.
¿Qué es el comando locate?
El comando puede estar proporcionado por plocate, mlocate o GNU locate. updatedb y las tareas programadas mantienen la base según la configuración. Los permisos, las rutas excluidas y la interpretación de patrones dependen de la implementación. Por ejemplo, plocate exige coincidir con todos los patrones indicados, mientras que mlocate acepta por defecto cualquiera de ellos; no traslade esa lógica sin comprobarla.
Sintaxis básica
locate [OPCIONES] PATRÓN ...
Las opciones y el comportamiento detallado pueden variar según la implementación y la versión. En el sistema actual, consulte la descripción de los comandos instalados como locate --help y man locate.
Uso básico de locate
Buscar por parte del nombre
Encuentra rápidamente resultados donde el patrón coincide con parte de toda la ruta.
locate nginx.conf
Ignorar mayúsculas y minúsculas
En las implementaciones admitidas, -i no distingue entre mayúsculas y minúsculas.
locate -i readme.md
Mostrar solo las rutas que existen actualmente
-e o --existing comprueban la existencia de las rutas que ya están en el índice. Esto filtra entradas antiguas, pero no descubre archivos nuevos todavía sin indexar; el tratamiento de enlaces también varía entre implementaciones.
locate -e '*.service'
Por qué los resultados de búsqueda rápida no garantizan archivos recientes
locate busca en un índice de rutas previamente creado en lugar de rastrear directamente el disco actual. Ejemplos de sistemas incluidos en el índice:
locate /etc/passwd
Ejemplo de salida:
/etc/passwd
Los archivos nuevos pueden no ser visibles hasta que se actualice el índice, y los archivos eliminados pueden seguir apareciendo. Cuando no hay resultados, verifique el estado del índice y el patrón de búsqueda; si es importante la existencia actual, vuelva a verificar con find.
Opciones principales
| Opciones | Descripción |
|---|---|
-i |
La búsqueda no distingue entre mayúsculas y minúsculas. |
-e, --existing |
Mostrar solo los archivos que existen actualmente. |
-b, --basename |
Buscar solo la parte final del nombre del archivo, no la ruta completa. |
-c, --count |
Se imprime el número de coincidencias en lugar de los resultados. |
-l N, --limit N |
Limita el número máximo de resultados. |
-r REGEXP, --regexp REGEXP |
Busca con una expresión regular. |
-d DBPATH |
Especifique la base de datos a buscar. |
Ejemplos de uso práctico
Buscar lo más cercano posible al nombre exacto del archivo.
En el ejemplo de nombre exacto de mlocate, -b limita la comparación al nombre base y la barra invertida evita que se añadan comodines implícitos alrededor de hosts. Confirme esta interpretación en la ayuda de otras implementaciones.
locate -b '\hosts'
Limitar el número de resultados.
Contar o establecer un límite antes de mostrar demasiados resultados.
locate -c cache
locate -l 20 cache
Actualizar índice
La actualización de la base de datos completa del sistema puede requerir permisos y tiempo. Primero, consulte la política de tareas programadas de la distribución.
sudo updatedb
Comparación con los comandos relacionados con locate
| Comando | Rol principal | Situaciones adecuadas |
|---|---|---|
locate |
Búsqueda de nombres basada en índice | Búsqueda rápida de rutas |
find |
Búsqueda directa en el sistema de archivos actual | Estado más reciente y varias condiciones |
which |
Búsqueda de archivos ejecutables en PATH | Verificación de la ruta de ejecución |
whereis |
Búsqueda de rutas estándar relacionadas con el programa | Buscar binarios, código fuente y manuales |
Precauciones al usar
Los resultados pueden no estar actualizados
Las rutas que se crean, mueven o eliminan después de la indexación pueden estar faltantes o permanecer.
Se consideran los permisos y la información personal
Según la forma en que se construya la base de datos, se aplican configuraciones que limitan la exposición de la ruta a otros usuarios.
Verificar las opciones según la implementación
plocate, mlocate y GNU locate tienen muchas funciones en común, pero las opciones detalladas y la interpretación de patrones pueden diferir.
FAQ
¿Por qué no está instalado el comando locate?
Algunas distribuciones no lo instalan por defecto. El nombre del paquete puede ser plocate o mlocate.
¿Por qué no se encuentra un archivo que acabo de crear?
El archivo puede ser posterior a la última actualización del índice o estar en una ruta excluida. Para comprobar su existencia en ese momento, use find sobre la ubicación apropiada.
¿Es necesario ejecutar updatedb con sudo?
El índice de todo el sistema generalmente requiere privilegios de administrador, pero según la implementación y configuración, también se puede crear una base de datos de usuario.
¿Por qué los archivos eliminados permanecen en los resultados?
Este es un elemento de índice antiguo. Verifique su existencia con -e o actualice la base de datos.




