Introducción
El locate
command es una utilidad de Unix utilizada para encontrar rápidamente archivos y directorios. El comando es una alternativa más conveniente y eficiente a buscar comando, que es más agresivo y tarda más en completar la búsqueda.
Opuesto a find
, el locate
El comando no busca en todo el sistema de archivos, sino que busca en una base de datos de archivos actualizada regularmente en el sistema. Por lo tanto, la búsqueda se completa mucho más rápido.
En este tutorial, aprenderá a instalar y usar el locate
comando en Linux.
Requisitos previos
- Un sistema que ejecuta Linux.
- Una cuenta con privilegios de administrador.
Cómo instalar localizar
Según la distribución de Linux que esté utilizando, el locate
Es posible que el paquete no esté preinstalado.
Para comprobar si locate
está instalado, ingrese:
locate
Si locate
está instalado en su distribución, el comando imprime el siguiente resultado:
Para este tutorial, hemos usado Ubuntu 20.04, que no viene con locate
utilidad preinstalada. En este caso, el mensaje de salida es:
Instalar localizar en Ubuntu y Debian
Siga los pasos a continuación para instalar locate
en Ubuntu o Debian:
1. Actualice el repositorio de paquetes:
sudo apt update
2. Instale el locate
paquete ejecutando:
sudo apt install mlocate
Instalar localizar en CentOS y Fedora
Siga los pasos a continuación para instalar locate
en CentOS o Fedora:
1. Actualice el repositorio de paquetes:
sudo yum -y update
2. Ejecute el siguiente comando para instalar locate
:
sudo yum install mlocate
Cómo usar el comando de localización en Linux con ejemplos
El locate
El comando encuentra archivos en Linux usando el nombre del archivo. locate
se utiliza para obtener resultados instantáneos, y es una utilidad esencial cuando la velocidad es una prioridad.
El comando realiza la búsqueda utilizando una base de datos que contiene fragmentos de archivos con las rutas correspondientes en el sistema. Sin embargo, locate
no busca archivos fuera de la base de datos, lo que significa que no informa sobre los archivos creados después de la actualización más reciente de la base de datos.
La sintaxis para locate
el comando es:
locate [options] [pattern]
Algunas opciones útiles son:
Opción | Descripción |
-A, --all | Muestra solo las entradas que coinciden con todos los patrones especificados. |
-b, --basename | Hace coincidir solo el nombre base con los patrones especificados. |
-c, --count | Produce el número de entradas coincidentes en lugar de los nombres de los archivos. |
-d, --database [DBPATH] | Reemplaza la base de datos predeterminada con [DBPATH] - una lista separada por dos puntos de los nombres de los archivos de la base de datos. |
-e, --existing | Solo muestra entradas para archivos existentes. |
-L, --follow | Usar para verificar si existen archivos si --existing se especifica la opción. El --follow opción omite enlaces simbólicos rotos. |
-i, --ignore-case | Ignora la sensibilidad a mayúsculas y minúsculas del patrón. |
-p, --ignore-spaces | Ignora la puntuación y los espacios al hacer coincidir patrones. |
-t, --transliterate | Utiliza iconv transliteración para ignorar acentos y signos diacríticos al hacer coincidir patrones. |
-l, --limit, -n [LIMIT] | Úselo para salir correctamente después de encontrar un [LIMIT] número de entradas. |
-0, --null | Separa las entradas de salida usando el ASCII NUL carácter en lugar de imprimir cada entrada en una nueva línea. |
-S, --statistics | Imprime las estadísticas sobre cada base de datos leída en salida estándar en lugar de buscar archivos. |
-q, --quiet | Oculta los errores encontrados al leer y procesar bases de datos. |
-r, --regexp [REGEXP] | Se utiliza para buscar una expresión regular básica [REGEXP] . Especificar esta opción no permite [pattern] argumentos. |
-w, --wholename | Hace coincidir solo el nombre completo de la ruta con los patrones especificados. |
-h, --help | Muestra el archivo de ayuda con una lista de todas las opciones disponibles. |
Las siguientes secciones enumeran ejemplos útiles del uso de locate
comando.
Buscar un archivo
La forma más sencilla de usar locate
El comando es ingresar el patrón que desea buscar.
Por ejemplo, busque todos los archivos que contengan mysql patrón en el nombre de archivo ejecutando el siguiente comando:
locate mysql
El resultado enumera todas las rutas absolutas de los archivos que contienen mysql patrón en el nombre del archivo.
Dar formato a la salida
Cuando el resultado de la búsqueda es una larga lista de archivos, canalice el locate
comando en less
para una mejor legibilidad y un desplazamiento más fácil.
Por ejemplo:
locate mysql | less
Navega por la salida presionando la barra espaciadora para avanzar, b para invertir, o Q para salir.
Mostrar los archivos existentes
Mientras que el locate
comando recupera resultados casi instantáneamente, la velocidad tiene un costo. A veces, los archivos eliminados aparecen en los resultados porque la base de datos que locate
reads no se ha actualizado desde que se eliminaron los archivos. Además, los archivos nuevos no aparecen en los resultados si se crearon después de la última actualización de la base de datos.
Elimine estas deficiencias usando el -e
opción para buscar en el sistema de archivos e incluir solo los archivos existentes en los resultados.
Por ejemplo:
En el ejemplo anterior, primero eliminamos un archivo usando rm
. Buscando el archivo con locate
muestra la ubicación del archivo eliminado. Sin embargo, al usar -e
opción, locate
no muestra resultados desde que se eliminó el archivo.
Contar los archivos existentes
Imprima el número de archivos coincidentes en lugar de los nombres de archivo y sus rutas absolutas especificando -c
opción.
Por ejemplo:
locate -c mysql
La salida contiene solo la cantidad de archivos que contienen el mysql cadena en el nombre del archivo. Toda otra información se suprime.
Deshabilitar errores durante la búsqueda
El -q
opción instruye a locate
para suprimir cualquier error que pueda aparecer al leer una base de datos.
En el siguiente ejemplo, locate
utiliza una base de datos diferente para realizar la búsqueda. El comando primero informa que la base de datos no existe.
Sin embargo, especificando -q
opción suprime el error:
Limitar el número de resultados de búsqueda
Limite el número de resultados de búsqueda con -n
opción para evitar resultados redundantes. Por ejemplo, limite la búsqueda a solo diez resultados ingresando:
locate *.txt -n 10
La salida muestra solo los primeros diez archivos que coinciden con el patrón de búsqueda.
Ignorar archivos que distinguen entre mayúsculas y minúsculas
De forma predeterminada, locate
realiza una búsqueda que distingue entre mayúsculas y minúsculas al procesar la consulta de entrada. Dar instrucciones a locate
para ignorar la distinción entre mayúsculas y minúsculas usando -i
opción.
En el siguiente ejemplo, primero buscamos example_file en minúsculas y locate
no mostró ningún resultado porque el nombre del archivo contiene letras mayúsculas.
La búsqueda del archivo en mayúsculas muestra la ubicación del archivo:
Realizando la misma búsqueda en minúsculas y especificando el -i
La opción ignora la distinción entre mayúsculas y minúsculas y muestra el archivo en la salida:
Buscar un archivo con un nombre exacto
De forma predeterminada, locate
analiza el patrón de entrada como una cadena y muestra todos los archivos que contienen el patrón de entrada dentro del nombre del archivo. Por ejemplo, buscando mysql muestra todos los archivos que contienen mysql cadena como parte del nombre del archivo, en lugar de archivos cuyo nombre completo sea mysql .
Busque un archivo con un nombre exacto utilizando -r
(expresión regular) opción.
Por ejemplo:
La salida muestra solo los archivos cuyo nombre de archivo coincide completamente con el patrón de entrada.
Entradas de salida separadas con ASCII NUL
Las entradas de salida que locate
produce están separados por una nueva línea (\n
) personaje. Usa el -0
opción para separar entradas con ASCII NUL
en lugar del carácter de nueva línea.
Por ejemplo:
locate -0 apache
El separador predeterminado ya no es el carácter de nueva línea y las entradas se separan con ASCII NUL
.
Ver estadísticas de la base de datos
El locate
El comando le permite ver varias estadísticas de la base de datos, incluida la cantidad de directorios y archivos almacenados en la base de datos. Para mostrar las estadísticas de la base de datos, especifique el -S
opción:
locate -S
El resultado indica qué base de datos locate
está usando actualmente, el número de directorios y archivos, y el tamaño de la base de datos en bytes.
Actualizar base de datos de localización
La base de datos que locate
utiliza automáticamente actualizaciones diarias a la misma hora. Para actualizar la base de datos manualmente y asegurarse de que el índice del archivo sea correcto, ejecute el siguiente comando:
sudo updatedb
El proceso de actualización tarda unos segundos en completarse, dependiendo de la cantidad de archivos en el sistema.
Elija una base de datos mlocate diferente
Dar instrucciones a locate
para usar una base de datos diferente a la predeterminada especificando -d
opción. La función es útil cuando se buscan resultados que no están presentes en el mlocate
predeterminado. base de datos.
Para especificar una base de datos diferente, use la siguiente sintaxis:
locate -d [new database path] [pattern]
Ignorar diacríticos y diferencias de acento
El locate
El comando utiliza letras ordinarias para la coincidencia de resultados, lo que significa que los nombres de archivo que contienen letras con signos diacríticos no aparecen en los resultados de la búsqueda. Usa el -t
opción para instruir a locate
ignorar tales diferencias entre letras e incluir signos diacríticos en los resultados.
Por ejemplo:
Buscando el nice-cafe patrón no muestra resultados en el ejemplo anterior porque el nombre de archivo contiene un signo diacrítico. Buscando el mismo patrón nuevamente y especificando -t
opción muestra el nice-café ruta del archivo como resultado, ignorando el signo diacrítico en el nombre del archivo.