Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

La papelera del sistema, eliminar o recuperar ficheros

.
.
A menudo nos olvidamos de limpiar o borrar todo lo que tenemos en la papelera del sistema, con lo cual estamos perdiendo espacio en disco. A veces de muchos Gigas. Y si la máquina tiene varios usuarios el problema aumenta considerablemente.
Antes de nada vamos a conocer un poco el directorio de la papelera del sistema (Trash). La papelera de cada usuario se encuentra en la ruta:
[code]$ home/nombre_de_usuario/.local/share/Trash[/code] Lo primero que podemos hacer es averiguar el tamaño de la papelera:
[code]$ du -h ~/.local/share/Trash[/code] Listando el directorio nos encontramos con dos subcarpetas, files & info:
[code]$ ls -la ~/.local/share/Trash
files info[/code] # En la carpeta files, van a parar todos los ficheros que eliminamos. En el ejemplo siguiente hay un solo fichero, pero ocupa de 5 Gigas:

001.carpeta_files

 

 

# En la carpeta info, se crea un fichero de metadatos con el mismo nombre que el fichero que eliminamos, pero con la extensión “.trashinfo“. Con esta extensión se puede saber desde donde y cuando fue borrado un fichero.

002.fichero_info

 

 

Lo podemos observar lanzando un comando cat al fichero borrado:

003.cat_info

 

 

 

Información muy importante si luego queremos recuperarlo y restaurarlo a su carpeta original en el caso de que accidentalmente lo hayamos borrado. En este caso se eliminó de la carpeta /home/man1/linuxhispano.

Esta extensión “.trashinfo” nos facilita la vida en el caso de querer restaurarlo a su ruta original, para ello tendríamos que mover el fichero borrado (que estaría dentro de la carpeta files, en la papelera) a la ruta original y ya tendríamos el fichero restaurado en su carpeta:

[code]$ ~/.local/share/Trash/files$ mv fichero_basura /home/man1/linuxhispano[/code]

A continuación propongo dos opciones para mantener limpia nuestra papelera del sistema sin tener que instalar ninguna aplicación . O bien se puede instalar una app que facilite el trabajo como propone Alberto Hornero con trash-cli.

1. Creando un script interactivo con zenity y el comando alias para borrar el contenido de las carpetas files & info de la papelera. Cambiando el nombre de usuario. En este caso el script para borrar la papelera seria “basura.sh”

Creamos un fichero de texto llamado basura.sh en nuestra /home (si no somos root) o en /usr/local/bin (si somos root) y pegamos el script:                                                             [code]#!/bin/bash

zenity –question –text “Vaciar la papelera?” && rm -rf /home/nombre_de_usuario/.local/share/Trash/files/* rm -r /home/nombre_de_usuario/.local/share/Trash/info/*[/code]

Guardamos y le damos permisos de ejecución:

[code]$ chmod +x basura.sh[/code]

Y le damos el nombre de comando que queramos con el comando alias. En mi caso, invocando basura, levantará el script:

[code]$ alias basura=”./basura.sh”[/code]

alias

 

 

 

 

 

 

 

 

2. Ejecutando una limpieza automática a diario con crontab :

[code]$ crontab -e[/code]

Y colocando el siguiente comando de auto limpieza diaria en la ultima linea de nuestro crontab y cambiando el nombre de usuario

[code]@daily rm -rf /home/nombre_de_usuario/.local/share/Trash/files/* rm -r /home/nombre_de_usuario/.local/share/Trash/info/*[/code]

Yo habitualmente utilizo el comando shred, que elimina los ficheros sin pasar por la papelera.[icon_check]

Leer entrada anterior
Convertir un entero a cadena con formato en C++

Hace un tiempo vimos cómo convertir un entero a cadena en C++. Ahora, imaginad que queremos darle a un entero...

Cerrar