martes, 23 de noviembre de 2010

Papelera de Reciclaje para la Consola/Terminal

Más de alguna vez utilizando la terminal de Ubuntu hemos borrado archivos o carpetas utilizando el comando rm nos encontramos con la sorpresa que los archivos desaparecen y no quedan en la papelera por lo que no podemos recuperarlos. Para solucionar esto podemos hacer lo siguiente:

Vamos a crear el siguiente alias para re-direccionar el borrado de archivos y carpetas hacia la Papelera de reciclaje. Podemos hacer esto en un solo comando así después de abrir una terminal (todo en una sola línea):
echo "alias rm='mv --target-directory=${HOME}/.local/share/Trash/files/'" >> .bash_aliases
Ahora podemos crear una archivo y carpeta de prueba, borrala y verificar que están en la papelera:
echo "hola" > hola.txt
mkdir para_borrar
cd para_borrar/
mkdir segunda_borrar/
cd
rm hola.txt
rm para_borrar/

Como pueden ver ahora en la papelera habrá un archivo llamado "hola.txt" y una carpeta llamada "para_borrar" con una subcarpeta "segunda_borrar".

IMPORTANTE es notar que ahora para borrar un directorio no necesitamos agregar el argumento -r como se hacía antes (rm -r carpeta). Ahora con rm borramos archivos y carpetas indistintamente.

ACTUALIZACIÓN/CONSULTA
El el nuevo alias no me está funcionando adecuadamente cuando lo utilizo en combinación con find, ya que no me manda los archivos a la papelera, por ejemplo:
find . -maxdepth 1 -iname \*.txt -exec rm {} \;
He encontrado una solución momentánea al asunto anterior. Supongamos que tenemos una serie de archivos de texto (txt) que queremos borrar desde la terminal, para ello podemos utilizar el siguiente comando:
find . -maxdepth 1 -iname \*.txt -exec mv -t /home/andres/.local/share/Trash/files/ {} \;
Lo anterior busca los arhivos .txt y los mueve a la papelera.

No hay comentarios.:

Publicar un comentario