¿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 fBuscar por tamaño
Muy útil para limpiar espacio en disco:
+100M: mayor a 100 megas-10k: menor a 10 kilobytes
find . -size +100MBuscar por fecha de modificación
Para archivos modificados en los últimos 7 días:
find . -mtime -7Archivos modificados hace más de 30 días:
find . -mtime +30Buscar por permisos
find /ruta -perm 644Buscar 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" -delete2. 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 findO 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!
