24 agosto 2020

Buscar archivos en Linux con find & locate en consola Linux


A la hora de buscar un archivo en linux por consola podemos usar un comando llamado find & locate, como su traducción al español permite encontrar archivos en nuestros sistemas Linux, además funciona en todas las distribuciones ya que es un comando propio de las distribuciones y muy útil a la hora se hacer una búsqueda

Buscar archivos y mostrar sus nombres

Para buscar todos los archivos dentro de un directorio con extensión .jpg

1
find /home/miusuario -name "*.jpg"

Para encontrar un archivo en todo el sistema, podemos buscarlo desde la carpeta raiz /

1
find / -name nombre_de_archivo

Buscar archivos por nombre de usuario

Si deseamos buscar un archivo por nombre de usuario podemos escribir:

1
find / -user nombre_de_usuario

Esto mostrará todos los archivos de ese usuario a partir de la carpeta raiz / y todas sus subcarpetas.

Buscar archivos por tamaño de fichero

Para buscar archivos vacíos (el . indica el directorio en el que nos encontramos):

1
find . -size 0c

Para buscar archivos de un tamaño en kilobytes:

1
find . -size 54k

Buscar por expresiones regulares

El comando find permite buscar utilizando expresiones regulares. Esto nos ofrece una potencia considerable. Por ejemplo si deseamos buscar archivos del tipo archivo01_01.txt, archivo02_03.txt, etc, podemos utilizar: 

1
find . -regex './archivo0[1-2]_0[1-3].*'

Además podemos anidar todas las opciones para hacer consultas más complejas.

Buscando archivos con el comando Locate

También existe otra forma de buscar archivos en el índice del sistema, el comando locate.

Antes de usar este programa primero revisamos si se encuentra instalado, sino lo instalamos de la siguiente manera:

CentOS, RHEL, Fedora

1
yum -y install mlocate

Debian, Ubuntu o derivados

1
apt install mlocate

Una vez instalado actualizamos el índice del sistema usando:

1
sudo updatedb

Es recomendable ejecutarlo antes de hacer un locate para añadir las rutas recientes, por ejemplo si acabamos de instalar un programa.

Este comando funciona de la siguiente forma

1
locate nombre_del_archivo

Y devolverá todas las rutas en donde aparece el nombre entrado, podemos consultar dentro de los resultados devueltos por ejemplo:

1
locate mi_archivo | grep bin

Devolverá todos las rutas del sistema que contengan el nombre mi_archivo y que además también aparezca el texto bin.

Para finalizar le sugiero actualizar siempre la base de datos de locate, usando como explique anteriormente:

1
sudo updatedb

NOTA: fuente original del artículo:

No hay comentarios.: