find
Archivos y directorios
Uso
find [path] -name '[pattern]' -type fRecorre un árbol probando cada entrada; entrecomilla el patrón como -name '*.log' o el shell lo expande antes de que find lo vea.
Opciones habituales
| Opción | Significado |
|---|---|
| -name | Match the file name, case sensitive; -iname ignores case |
| -type | Restrict to f (file), d (directory) or l (symlink) |
| -size | Filter by size, as in -size +100M |
| -mtime | Filter by age in days, as in -mtime +7 |
| -maxdepth | Limit how deep to walk; GNU wants it before the tests |
| -delete | Delete every match, no confirmation |
| -exec | Run a command on each hit, ending with \; or + |
| -print0 | Separate results with NUL, to pair with xargs -0 |
Ejemplos
find . -name '*.log' -mtime +7 -deleteDeletes log files older than a week.
find / -type f -size +1G 2>/dev/nullFinds files over a gigabyte, hiding permission errors.
find . -name '*.jpg' -exec mv {} photos/ +Moves every JPEG it finds.
Mover, borrar y buscar. Algunos no preguntan dos veces, y por eso -i se vuelve costumbre.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace find?
Recorre un árbol probando cada entrada; entrecomilla el patrón como -name '*.log' o el shell lo expande antes de que find lo vea.
Q. ¿Cómo se escribe?
find [path] -name '[pattern]' -type f — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 8; la lista completa está en man find. Este comando está en Archivos y directorios.
Comandos relacionados
página man: man find