Papelera para la consola

¿Qué ocurre cuando hacemos un rm en la consola para borrar un un archivo o directorio y de repente nos damos cuenta de que nos hemos equivocado? Tendremos que buscar un software de recuperación.

¿No habría sido mejor que se moviera a una papelera, como ocurre con el equivalente gráfico? Buenas noticias, se puede hacer, y muy fácilmente.

Basta con instalar el paquete libtrash

sudo aptitude install libtrash

y añadir en el .bashrc una nueva variable de entorno LD_PRELOAD (que carga en memoria la librería dinámica que le indiquemos) con la ruta a la librería

echo «export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4» >> ~/.bashrc

Cierra la consola y vuelve a abrirla. Ahora vamos a probar nuestros nuevos superpoderes. Creamos un archivo cualquiera

echo «hola» > hola.txt

y ahora lo borramos

rm hola.txt

el archivo habrá ido a parar a un directorio Trash, que es el que nos hace de papelera.

Pero esto puede mejorar aún más: libtrash tiene un archivo de configuración que nos permite indica el directorio a utilizar como papelera, entre otras cosas. Si le indicamos .Trash, que es el archivo que usa Gnome como papelera, ¡cuando borremos un archivo este ira a parar a la papelera de Gnome y podremos borrarlo desde allí de forma gráfica!

echo «TRASH_CAN = .Trash» > ~/.libtrash

27 comentarios en «Papelera para la consola»

  1. Pingback: meneame.net

  2. Hola zootropo.

    Muy buen artículo, solo una cosita… aclarar que despues de hacer esto:

    echo «export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4» >> ~/.bashrc

    No es necesario cerrar la consola y volverla a abrir. Basta simplemente con ejecutar el comando:

    source ~/.bashrc

    Y listo!!

  3. Muy buena entrada, yo ya le he pegado un meneo.

    La he estado probando y funciona muy bien, pero como uso KDE, no he sido capaz de integrarlo con la papelera, por dos motivos, KDE gestiona la papelera de otra forma a Gnome, no solo mete el archivo en la carpeta ~/.local/share/Trash/files si no que crea un archivo de texto en la carpeta ~/.local/share/Trash/info,que le indica la ruta en donde ha de ser restaurado si así lo queremos y la fecha del borrado.

    Y no soy capaz de que haga eso libtrash, además en el archivo de configuración de libtrash, tanto local como el de etc,no se pueden poner barras en la ruta de la carpeta usada como papelera, aunque eso lo pude solucionar con un enlace a otra carpeta.

    Buscaré algo así compatible con KDE o como configurarlo, por que su uso me parece fundamental, que algún día sin querer siempre borramos algo que no debíamos.

  4. Pues tienes razón, le enviaré un mail,pero en inglés no se yo si me explicaré del todo bien.Me parece que es portugués, no estoy seguro, aunque vive en NewYork y como yo soy gallego, no se si escribirle en Gallego xD

    Ya comentaré si logro algo.

  5. Hola compañeros, yo seguí todos los pasos en mi ubuntu y despues de ello cada vez que ejecutaba un comando desde la shell (un ls – l por ejemplo) me marcaba lo siguiente:
    Fallo de segmentacion (core dumped)
    Solucion: desintalar con aptitude la libreria libtrash y todo volvió a su estado normal.
    Saludos y espero que si a alguien le pasa le sirva de ayuda.

  6. Sobre libtrash y KDE, le pregunté al creador:

    I don’t actually run KDE, but you can tell libtrash where you want it to store deleted files by editing the libtrash.conf file inside the tarball and setting TRASH_CAN to the name of the dir inside the user’s home directory where you want files to be placed. Another option is to configure KDE to use ~/Trash (the default libtrash trash can location) as its trash can.

  7. Pingback: Lo hice y lo entendí » La libtrash, la papelera de la línea de comandos

  8. a mi me salio ese error de Fallo de segmentacion y no me dejaba iniciar aplicaciones desde la consola y luego hice lo que puso wolvelopez, desinstale el libtrash, PERO ahora me aparece este error cuando inicio alguna aplicacion

    ERROR: ld.so: object ‘/usr/lib/libtrash/libtrash.so.2.4’ from LD_PRELOAD cannot be preloaded: ignored.

    y quisiera saber como solucionarlo, solo diganme como dejar como estaba mi sistema
    antes de usar los comandos

    echo «export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4» >> ~/.bashrc

    echo «TRASH_CAN = .Trash» > ~/.libtrash

  9. Pingback: El Racó de Xavi » Blog Archive » Libtrash, paperera en linux

  10. Pingback: Activar la papelera de reciclaje para la Consola | Thalskarth's Maëlstrom

  11. Pingback: Libtrash, paperera en linux - Linux - El Racó de Xavi

Responder a Oscar Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.