¿Cómo usar el comando find en Linux?
Buscar archivos en Linux desde la terminal puede parecer una tarea complicada, pero con el comando find
se vuelve una herramienta poderosa y precisa. Ya sea que quieras ubicar un archivo por nombre, extensión, tamaño, permisos o fecha de modificación, find
te permite hacerlo todo desde una sola línea de comandos.
En esta guía te explicamos cómo funciona find
, sus opciones más comunes y ejemplos prácticos que podés aplicar en tu día a día.
¿Qué es y para qué sirve el comando find?
find
es un comando que permite buscar archivos y directorios en una jerarquía completa de carpetas. A diferencia de comandos como ls
o locate
, find
realiza una búsqueda en tiempo real y con muchísimas condiciones posibles.
Su estructura básica es:
find [ruta] [criterios] [acciones]
Ejemplo simple para buscar un archivo por nombre en el directorio actual y sus subdirectorios:
find . -name "archivo.txt"
Buscar por nombre de archivo
1. Buscar archivos por nombre exacto:
find /ruta -name "documento.txt"
2. Buscar sin distinguir mayúsculas/minúsculas:
find /ruta -iname "documento.txt"
3. Buscar por extensión:
find . -name "*.log"
Buscar por tipo de archivo
Podés usar -type
para especificar si querés archivos normales, directorios, enlaces simbólicos, etc.
-type f
: archivos comunes-type d
: directorios-type l
: enlaces simbólicos
find /var/log -type f
Buscar por tamaño
Muy útil para limpiar espacio en disco:
+100M
: mayor a 100 megas-10k
: menor a 10 kilobytes
find . -size +100M
Buscar por fecha de modificación
Para archivos modificados en los últimos 7 días:
find . -mtime -7
Archivos modificados hace más de 30 días:
find . -mtime +30
Buscar por permisos
find /ruta -perm 644
Buscar archivos con permisos exactos o, usando /
, que al menos coincidan en parte:
find . -perm /222
(Archivos que pueden ser escritos por alguien)
Ejecutar acciones sobre los resultados
Una de las grandes ventajas de find
es que podés combinarlo con otros comandos.
1. Eliminar archivos encontrados:
find . -name "*.bak" -delete
2. Copiar archivos encontrados:
find . -name "*.conf" -exec cp {} /ruta/destino/ \;
3. Cambiar permisos a múltiples archivos:
find . -type f -name "*.sh" -exec chmod +x {} \;
El símbolo {}
se reemplaza por cada archivo encontrado, y \;
cierra el comando.
¿Dónde aprender más?
Desde la terminal:
man find
O podés visitar el manual oficial de GNU find.
Conclusión
El comando find
es una herramienta extremadamente versátil que todo usuario de Linux debería dominar. Con él podés localizar archivos de forma precisa y realizar acciones automáticas que ahorran tiempo y esfuerzo.
Ya sea para mantener limpio tu sistema, buscar archivos grandes, o aplicar comandos en lote, find
se adapta a casi cualquier necesidad. ¡No lo subestimes!