Borrar archivos no deseados gracias a la orden find

La orden find tiene una gran capacidad para encontrar archivos por nuestro sistema de ficheros, y eso lo podemos aprovechar para eliminar los archivos encontrados – aunque para ello hay que asociarla con la orden rm, lo cual es tremendamente simple:

find ........... -exec rm {} \;

las llaves {} representan los ficheros encontrados por find y los puntos suspensivos son los parámetros de dicha orden. Aquí van algunos ejemplos:

find . -empty

Esto busca los archivos vacíos en el directorio actual (y luego sus subdirectorios).

find /home -nouser

Esta vez, find busca los archivos dentro del subárbol /home que pertenezcan a un usuario que ya no existe en nuestro sistema. También podría usarse el parámetro -nogroup, para grupos eliminados.

find . -links x

Ahora, busca archivos con un nº de enlaces indicado por x.

Para más ejemplos, lo mejor es experimentar con la orden find; al principio puede resultar incómoda, pero cuando te acostumbres a usarla verás que tiene unas capacidades que no tiene ningún programa gráfico “más fácil”, sobre todo en cuanto a la capacidad para combinarla con otras órdenes.

 

Huelga decir que no tiene por qué ejecutarse la orden rm tal cual. Se pueden usar sus propios parámetros o quizá prefiramos mover los archivos a la papelera en vez de borrarlos tal cual (o moverlos a un directorio-fichero de backup, etc). También podríamos ejecutar rm dentro de un script que llamemos con -exec, el cual podría encargarse de filtrar aún más los resultados dados por rm (por ej, moviendo unos a la papelera y otros borrarlos directamente). Las posibilidades son incontables, gracias a la potencia de la orden find y la capacidad de la shell para combinar las distintas órdenes.

Para finalizar, si alguien tiene sus propios tips sobre el uso de esta orden, sería interesante que lo comentara, es un asunto que me parece tremendamente útil y curioso.

Actualización: he encontrado en el disco duro unas notas que tenía sobre el uso de find y creo que merecen estar aquí.

Busca archivos, directorio e incluso texto, usando estas opciones de find:

-type d/f/l –> Especifica que es un directorio (d) / fichero (f) / enlaces (l)
-name "Documents" –> Lo que buscamos (Distingue entre mayusculas y minusculas)
-iname "Resumen" –> Lo que buscamos (NO distingue entre mayusculas y minusculas)
-print –> Que lo muestre por pantalla (No suele ser necesario)
-size +10k –> Que sea superior a 10 Kb
-atime +5 –> Que se haya accedido hace 5 dias
-exec –> Ejecuta una comando –> … -exec cp {} /tmp \; –> {} –> Archivos de la busqueda
-ok –> Ejecuta un comando (Pide confirmacion) –> -ok cp {} /tmp \;
-user usuario –> Filtra por dueño de directorio/archivo
-group grupo –> Filtra por grupo
About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: