24 mayo 2016

Buscar y borrar archivos con find

Con el comando find no solo podremos buscar de manera avanzada archivos (por usuario, permiso, fecha de modificación, etc), sino también tomar una acción como borrar, mover, etc.

Ejemplo para borrar todos los achivos .tmp en todo el disco

vampii@gostir:[~]$ find / -name "*.tmp" -delete

Borrar todos los archivos que tengan más o menos N días

#Su fecha de creación mayor a 14 días
vampii@gostir:[~]$ find /directorio -ctime +14 -delete
#Su fecha de modificación menor a 20 días
vampii@gostir:[~]$ find /directorio -mtime -20 -delete

Mover todos los .mp3 a un directorio

#Busca dentro de home y mueve a /directorio-de-mp3s
#-iname es para insensitive, que no distinga mayúsculas/minúsculas
#OJO la línea termina con \;
vampii@gostir:[~]$ find /home -iname "*.mp3" -exec mv {} /directorio-de-mp3s \;

Buscar y Borrar todos los archivos de un usuario

vampii@gostir:[~]$ find / -user usuario1 -delete

Se pueden combinar múltiples parámetros como user, ctime y name

Tomado de: https://www.zeque.com.ar/buscar-y-borrar-archivos-con-find/