Papelera para la consola
« Etiquetas ID3 de los MP3s en el menú contextual de Nautilus | Segunda temporada de Heroes »
¿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
Relacionadas
hombre, te tardaste en publicarlo hace un año, esto me hubiera ahorrado horas y horas de trabajo extra
gran tip!
Vaya. Al menos ahora no te volverá a pasar
Papelera para la consola…
Cinco pasos para que tu consola utilice una Papelera de Reciclaje (libtrash). ¿Alguna vez has metido la pata usando 'rm'?…
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!!
También es verdad. Gracias Casidiablo
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.
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.
Simplemente GRACIAS
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.
¿Y no es mas facil crear un directorio trash a mano y hacer un ln de rm que sea un mv al directorio trash?
Es una opción KiFo. O también puedes usar un alias para bash, que sería más elegante.
Muy buena la pagina…. tienes un nuevo lector frecuente.
Saludos.
Muchas gracias Camilo
enhorabuena, pero no sólo por este articulo sino en general, pues publicas info muy interesante y de manera didáctica. Un saludo
Gracias carlos. Se aprecia el cumplido
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.
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.
Ah, muy interesante. Gracias Adri.
[...] 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 [...]
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