Borrado masivo de ficheros a partir de un patrón
22.3.06
En Linux los editores de texto se utilizan muy a menudo ya que son necesarios para programar, generar salidas de consola y otras tareas. Todo ello crea mucha basura a modo de ficheros de respaldo que suelen encontrarse ocultos. Por ejemplo, un fichero foo que sea modificado con el editor gedit genera otro de respaldo denominado foo~ cada vez que se guarda el primero. Lo mismo ocurre con LaTeX, el cual crea un fichero de respaldo con las mismas características anteriormente citadas cada vez que se realiza una compilación.
Mediante la orden de consola find /home/invitado/ -name *~ se puede obtener un listado de los ficheros de respaldo que se encuentran en y bajo el directorio personal de un hipotético usuario llamado invitado. En primer lugar, find recorre el directorio antes citado y obtiene el nombre de cada fichero que se encuentra en él. Gracias a la opción -name *~ verifica si cada fichero acaba en ~ y, por tanto, cumple el patrón *~ que es el utilizado por el editor gedit para llamar a sus ficheros de respaldo.
Si lo que quisiéramos buscar fueran ficheros mp3 bastaría con cambiar el patrón a *mp3 de la orden anterior. Si nuestro objetivo fuera buscar ficheros pdf, el patrón correcto sería *pdf.
Desarrollando un poco más la orden anterior, podemos realizar una limpieza periódica de todos esos ficheros de respaldo. Para ello bastaría una sencilla instrucción en la consola:
find /home/invitado/ -name *~ -exec mv {} /home/invitado/.Trash \;
Una vez localizados los ficheros que cumplen el patrón solicitado, find lo envía a la papelera de ese usuario al ejecutar -exec mv {} /home/invitado/.Trash \;
Es también muy util introducir esta línea en crontab para que esta tarea se realice periódicamente en segundo plano.
>> Publicado en Categoría: Linux
Mediante la orden de consola find /home/invitado/ -name *~ se puede obtener un listado de los ficheros de respaldo que se encuentran en y bajo el directorio personal de un hipotético usuario llamado invitado. En primer lugar, find recorre el directorio antes citado y obtiene el nombre de cada fichero que se encuentra en él. Gracias a la opción -name *~ verifica si cada fichero acaba en ~ y, por tanto, cumple el patrón *~ que es el utilizado por el editor gedit para llamar a sus ficheros de respaldo.
Si lo que quisiéramos buscar fueran ficheros mp3 bastaría con cambiar el patrón a *mp3 de la orden anterior. Si nuestro objetivo fuera buscar ficheros pdf, el patrón correcto sería *pdf.
Desarrollando un poco más la orden anterior, podemos realizar una limpieza periódica de todos esos ficheros de respaldo. Para ello bastaría una sencilla instrucción en la consola:
find /home/invitado/ -name *~ -exec mv {} /home/invitado/.Trash \;
Una vez localizados los ficheros que cumplen el patrón solicitado, find lo envía a la papelera de ese usuario al ejecutar -exec mv {} /home/invitado/.Trash \;
Es también muy util introducir esta línea en crontab para que esta tarea se realice periódicamente en segundo plano.
>> Publicado en Categoría: Linux
| Permalink | Enlaces a este artículo | Enviar por correo-e |
Marcadores sociales: Meneame | Fresqui | Facebook | FriendFeed | Google Bookmarks | Yahoo! My Web | Technorati | Twitter | Delicious |
1 Comentarios:
- El 3/22/2006 05:58:00 p. m., tuvo la amabilidad de comentar aquí:
-
Sobre los principiantes de Linux tienen una trágica tendencia a confundir mv (move) con rm (remove). Un error en mv es subsanable pero rm es definitivo. Hubiera cabido una advertencia al respecto. Por lo demás, será un artículo muy últil para principiantes.