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.:
Publicar un comentario