Borrado con freno y marcha atrás

El uso equivocado o precipitado del comando rm se convierte en una trampa mortal de la que no es imposible salir, pues existen soluciones para recuperar ficheros borrados accidentalmente, aunque no son 100% fiables ni fáciles de aplicar, pero hace que echemos de menos la célebre «papelera de reciclaje» del escritorio, que nos suele sacar de más de un apuro.

El peor de los escenarios se da cuando ejecutamos el comando rm con la opción -r, una combinación que nos ahorra mucho tiempo a la hora de borrar estructuras de directorios y subdirectorios, pero que tiene efectos devastadores cuando se ejecuta por accidente sobre directorios equivocados. Y muy especialmente cuando se ejecuta como superusuario sobre ficheros y/o directorios del sistema.

Para evitar este tipo de catástrofes disponemos de una serie de comandos -poco conocidos- que funcionan igual que rm pero, en vez de eliminar los ficheros, los mueve a la papelera de reciclaje, con lo que siempre tenemos la posibilidad de volver a recuperarlos, o eliminarlos definitivamente si estamos seguros de que ya no son necesarios. Tales comandos vienen con el paquete trash-cli, disponible en la mayoría de distribuciones (al menos en las derivadas de Debian).

$ sudo aptitude install trash-cli

Una vez instalado podremos empezar a borrar de forma segura mediante el comando trash. Explicaré cómo hacerlo con un ejemplo:

$ touch fichero1 fichero2
$ ls -l
-rw-r--r-- 1 aag aag    0 feb  8 19:33 fichero1
-rw-r--r-- 1 aag aag    0 feb  8 19:33 fichero2
$ trash -v fichero1 fichero2
trash: `fichero1' trashed in ~/.local/share/Trash
trash: `fichero2' trashed in ~/.local/share/Trash
$ ls -l
total 0
$ trash-list
2016-02-08 19:35:02 /home/aag/fichero1
2016-02-08 19:35:02 /home/aag/fichero2

Si abrimos la papelera de reciclaje (situada en el escritorio) vamos a ver los dos ficheros que se han borrado, disponibles para ser recuperados si es necesario.

Papelera de reciclaje

Papelera de reciclaje

Si ya no necesitamos esos ficheros podemos borrarlo en la propia papelera o en la línea de comandos, de la siguiente forma:

$ trash-empty
$ trash-list

Si se borran ficheros como superusuario (con sudo, por ejemplo) también serán movidos a la papelera.

Ahora solo queda hacer una de estas dos cosas:

  • cambiar de hábitos y familiarizarse con el comando trash, para usarlo cada vez que queramos borrar un fichero o directorio (para lo cual se puede usar el parámetro -r, al igual que en rm)
  • no cambiar de hábitos y crear un alias para que, cada vez que ejecutemos rm, en realidad se esté ejecutando trash, con lo cual desaparecerá para siempre el peligro de meter la pata.
$ alias rm='trash'

Añadiendo este alias al fichero ~/.bashrc dispondremos de un nuevo comando de borrado, más seguro que el rm de toda la vida.

En la página de manual de trash se cita un comando trash-restore que no existe y que, supuestamente, serviría para restaurar los ficheros que están en la papelera.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s