Androide

Comando localizar en linux

Ubuntu | 12.- La terminal (shell bash) | 3.- Localización de ficheros y directorios

Ubuntu | 12.- La terminal (shell bash) | 3.- Localización de ficheros y directorios

Tabla de contenido:

Anonim

Una de las operaciones más comunes cuando se trabaja en Linux es buscar archivos y directorios. En los sistemas Linux, hay varios comandos que le permiten buscar archivos y find y locate son los más utilizados.

El comando locate es la forma más rápida y sencilla de buscar archivos y directorios por sus nombres.

En este tutorial, explicaremos cómo usar el comando de locate .

Instalación de locate (comando de localización no encontrado)

Dependiendo de la distribución y de cómo se aprovisionó el sistema, el paquete de localización puede o no estar preinstalado en su sistema Linux.

Para verificar si la utilidad de locate está instalada en su sistema, abra su terminal, escriba locate y presione Enter . Si el paquete está instalado, el sistema mostrará locate: no pattern to search for specified , de lo contrario verá algo como el locate command not found .

Si locate no está instalado, puede instalarlo fácilmente utilizando el administrador de paquetes de su distribución.

Instalar locate en Ubuntu y Debian

sudo apt update sudo apt install mlocate

Instalar locate en CentOS y Fedora

sudo yum install mlocate

Cómo locate trabajo

El comando locate busca un patrón determinado a través de un archivo de base de datos generado por el comando updatedb . Los resultados encontrados se muestran en la pantalla, uno por línea.

Durante la instalación del paquete mlocate, se crea un trabajo cron que ejecuta el comando updatedb cada 24 horas. Esto garantiza que la base de datos se actualice regularmente. Para obtener más información sobre el trabajo cron, consulte el archivo /etc/cron.daily/mlocate .

La base de datos se puede actualizar manualmente ejecutando el comando updatedb como root o usuario con privilegios de sudo:

sudo updatedb

El proceso de actualización llevará algún tiempo, dependiendo de la cantidad de archivos y directorios y la velocidad de su sistema.

Los archivos creados después de la actualización de la base de datos no se mostrarán en los resultados de localización.

En comparación con el comando de búsqueda más potente que busca en el sistema de archivos, la locate funciona mucho más rápido pero carece de muchas funciones y solo puede buscar por el nombre del archivo.

Cómo usar el comando de locate

La sintaxis para el comando de locate es la siguiente:

locate PATTERN…

En su forma más básica, cuando se usa sin ninguna opción, el comando de locate imprimirá la ruta absoluta de todos los archivos y directorios que coincida con el patrón de búsqueda y para el cual el usuario tiene permiso de lectura.

Por ejemplo, para buscar un archivo llamado .bashrc , escribiría:

locate.bashrc

La salida incluirá los nombres de todos los archivos que contienen la cadena .bashrc en sus nombres:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

El archivo /root/.bashrc no se mostrará porque /root/.bashrc el comando como un usuario normal que no tiene permisos de acceso al directorio /root .

Si la lista de resultados es larga, para una mejor legibilidad, puede canalizar la salida al comando less :

locate.bashrc | less

El comando de locate también acepta patrones que contienen caracteres globales como el carácter comodín * . Cuando el patrón no contiene caracteres globales, el comando busca *PATTERN* , por eso en el ejemplo anterior se muestran todos los archivos que contienen el patrón de búsqueda en sus nombres.

El comodín es un símbolo utilizado para representar cero, uno o más caracteres. Por ejemplo, para buscar todos los archivos .md en el sistema usaría:

locate *.md

Para limitar los resultados de búsqueda, use la opción -n seguida de la cantidad de resultados que desea que se muestren. Por ejemplo, el siguiente comando buscará todos los archivos .py y mostrará solo 10 resultados:

locate -n 10 *.py

Por defecto, locate realiza búsquedas sensibles a mayúsculas y minúsculas. La opción -i ( --ignore-case ) tels locate para ignorar mayúsculas y minúsculas y ejecutar una búsqueda que no distingue entre mayúsculas y minúsculas.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Para mostrar el recuento de todas las entradas coincidentes, use la opción -c ( --count ). El siguiente comando devolvería el número de todos los archivos que contienen .bashrc en sus nombres:

locate -c.bashrc

6

De forma predeterminada, locate no comprueba si los archivos encontrados todavía existen en el sistema de archivos. Si eliminó un archivo después de la última actualización de la base de datos, si el archivo coincide con el patrón de búsqueda, se incluirá en los resultados de búsqueda.

Para mostrar solo los nombres de los archivos que existen en el momento en que se ejecuta la locate use la opción -e ( --existing ). Por ejemplo, lo siguiente devolvería solo los archivos .json existentes:

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Conclusión

El comando locate busca en el sistema de archivos archivos y directorios cuyo nombre coincida con un patrón dado. La sintaxis del comando es fácil de recordar y los resultados se muestran casi al instante.

Para obtener más información sobre todas las opciones disponibles del comando de locate escriba man locate en su terminal.

terminal localizar