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

Comentarios
  1. hombre, te tardaste en publicarlo hace un año, esto me hubiera ahorrado horas y horas de trabajo extra

    gran tip!

    Responder

  2. Vaya. Al menos ahora no te volverá a pasar 😉

    Responder

  3. Papelera para la consola…

    Cinco pasos para que tu consola utilice una Papelera de Reciclaje (libtrash). ¿Alguna vez has metido la pata usando ‘rm’?…

    Responder

  4. 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!!

    Responder

  5. También es verdad. Gracias Casidiablo 🙂

    Responder

  6. 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.

    Responder

  7. Pues debería ser bastante sencillo modificarlo para que funcionara con KDE. Y sería muy útil.

    ¿Por qué no mandas un correo al creador?

    Esta es su web: http://pages.stern.nyu.edu/~marriaga/index.html
    Su correo está a pie de página si te animas.

    Responder

  8. Simplemente GRACIAS

    Responder

  9. 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.

    Responder

  10. KiFo

    ¿Y no es mas facil crear un directorio trash a mano y hacer un ln de rm que sea un mv al directorio trash?

    Responder

  11. Es una opción KiFo. O también puedes usar un alias para bash, que sería más elegante.

    Responder

  12. Muy buena la pagina…. tienes un nuevo lector frecuente.

    Saludos.

    Responder

  13. Muchas gracias Camilo 🙂

    Responder

  14. enhorabuena, pero no sólo por este articulo sino en general, pues publicas info muy interesante y de manera didáctica. Un saludo

    Responder

  15. Gracias carlos. Se aprecia el cumplido 🙂

    Responder

  16. 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.

    Responder

    • Piera

      Hola!!! hice lo mismo que tu en ubuntu y me ha traido algunos problemas, quisiera saber como lo eliminaste, desde ya muchas gracias

      Responder

  17. Adri.

    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.

    Responder

  18. Ah, muy interesante. Gracias Adri. 🙂

    Responder

  19. […] la atención, como el artículo Papelera para la consola (linux-es.org), basado en el original Papelera para la consola (mundogeek.net) que me ha enseñado algo de verdad […]

    Responder

  20. Javier

    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

    Responder

    • Pancho

      Amigo edita
      vi ~/.bashrc y borra la linea y listo …claro despues reinicias si no tienes entorno grafico

      Responder

  21. […] ha diversos articles en altres blogs que seguisc (com Lo hice y lo entendí, o Mundogeek) que n’han parlat més a fons, i ja fa més temps, explicant algunes passes per personalitzar més […]

    Responder

  22. karlitox

    El libtrash ¿se vincula con lo que se borra en el entorno grafico lxde?¿alguien me puede responder?

    Responder

  23. […] en información de TuxApuntes y MundoGeek AKPC_IDS += "2287,"; […]

    Responder

  24. 15 minutos antes de leer este articulo borre un archivo importantísimo con el “rm”, creo que no hay más mala suerte que eso :S

    Responder

Deja un comentario