Cómo usar el comando find en Linux: encontrar archivos y directorios desde la terminal
Una de las situaciones más comunes cuando usamos Linux es recordar el nombre de un archivo, pero no la carpeta donde lo guardamos. Para resolver ese problema existe find, uno de los comandos más potentes y versátiles de la terminal.
A diferencia de un buscador gráfico, find permite localizar archivos y directorios utilizando diferentes criterios, como el nombre, el tipo, el tamaño o la fecha de modificación. Aunque dispone de decenas de opciones, aprender unas pocas alcanza para resolver la mayoría de las tareas cotidianas.
En esta guía de NotiLinux ya vimos cómo conocer el directorio actual utilizando pwd. Ese concepto cobra aún más importancia con find, ya que la búsqueda siempre comienza desde la ruta que indiquemos.
¿Qué es el comando find?
El comando find permite recorrer el sistema de archivos en busca de archivos o directorios que cumplan determinadas condiciones.
Su sintaxis básica es:
find [ruta] [criterio]La ruta indica dónde comenzará la búsqueda y el criterio define qué queremos encontrar.
Buscar un archivo por nombre
El uso más habitual consiste en buscar un archivo específico.
find . -name "informe.pdf"El punto (.) indica que la búsqueda comenzará en el directorio actual y recorrerá todas sus subcarpetas.
Buscar todos los archivos de una extensión
También podés localizar todos los archivos de un determinado tipo.
find . -name "*.pdf"Este ejemplo mostrará todos los archivos PDF encontrados desde el directorio actual hacia abajo.
Buscar un directorio
Si lo que necesitás encontrar es una carpeta, podés indicarlo mediante la opción -type d.
find . -type d -name "Documentos"Buscar únicamente archivos
Para limitar la búsqueda exclusivamente a archivos:
find . -type fDe esta manera se ignorarán los directorios.
Buscar archivos grandes
Cuando el espacio en disco empieza a escasear, find puede convertirse en un gran aliado.
find . -type f -size +500MEl comando mostrará todos los archivos mayores a 500 MB.
Buscar archivos modificados recientemente
También es posible localizar archivos según la fecha de modificación.
find . -mtime -7Este ejemplo mostrará los archivos modificados durante los últimos siete días.
Buscar en un directorio específico
No siempre es necesario comenzar desde el directorio actual.
find /home/mauro/Documentos -name "*.odt"La búsqueda se realizará únicamente dentro de esa ubicación.
Opciones más utilizadas
-name → buscar por nombre
find . -name "*.jpg"-type → limitar el tipo de resultado
find . -type fArchivos.
find . -type dDirectorios.
-size → buscar por tamaño
find . -size +1G-mtime → buscar por fecha de modificación
find . -mtime -30Errores comunes
Buscar desde la raíz del sistema sin necesidad
Por ejemplo:
find / -name "*.pdf"Este comando recorrerá prácticamente todo el sistema de archivos, por lo que puede tardar bastante tiempo y mostrar mensajes relacionados con permisos.
Siempre que sea posible, conviene limitar la búsqueda al directorio donde creemos que se encuentra el archivo.
Olvidar las comillas en los comodines
Es recomendable escribir:
find . -name "*.pdf"y no:
find . -name *.pdfLas comillas evitan que el intérprete de comandos expanda el comodín antes de ejecutar find.
Buenas prácticas
- Comenzar la búsqueda desde el directorio más específico posible.
- Utilizar
-typepara reducir los resultados. - Emplear
-sizey-mtimecuando busques archivos concretos. - Recordar que una búsqueda desde
/puede tardar bastante más que una realizada desde tu carpeta personal.
Enlaces útiles
Conclusión
El comando find es una de las herramientas más útiles de Linux cuando necesitamos localizar archivos o directorios rápidamente. Con apenas unas pocas opciones es posible realizar búsquedas muy precisas y ahorrar muchísimo tiempo, especialmente en sistemas con una gran cantidad de información.
A medida que avances en esta guía de comandos de NotiLinux descubrirás que find se complementa perfectamente con otras herramientas de la terminal. Dominar sus opciones básicas te permitirá trabajar de forma mucho más eficiente, tanto en tu computadora personal como en servidores Linux.
La entrada Cómo usar el comando find en Linux: encontrar archivos y directorios desde la terminal se publicó primero en NotiLinux.com.
