Inicio·Comandos de terminal

find

Archivos y directorios

Uso

find [path] -name '[pattern]' -type f

Recorre 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ónSignificado
-nameMatch the file name, case sensitive; -iname ignores case
-typeRestrict to f (file), d (directory) or l (symlink)
-sizeFilter by size, as in -size +100M
-mtimeFilter by age in days, as in -mtime +7
-maxdepthLimit how deep to walk; GNU wants it before the tests
-deleteDelete every match, no confirmation
-execRun a command on each hit, ending with \; or +
-print0Separate results with NUL, to pair with xargs -0

Ejemplos

find . -name '*.log' -mtime +7 -delete

Deletes log files older than a week.

find / -type f -size +1G 2>/dev/null

Finds 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