Páginas

19 de mayo de 2015

Añadir Papelera de Reciclaje al Terminal

rm
El uso del comando rm acarrea ciertos peligros, puesto que, si cometemos un error no hay forma de recuperar lo que hemos borrado. Sin embargo, a través del uso de alias y la ayuda de cron podemos hacer un par de mejoras y evitarnos un dolor de cabeza.

Excelente! ¿Qué debemos hacer?

Bash soporta alias de órdenes, usados para crear abreviaciones o nombres alternativos para ordenes actuales. Podemos usar la orden alias para ver los que están definidos.
Para definir un nuevo alias se utiliza la siguiente sintaxis:
alias comando personalizado='comando real'
por ejemplo:
$ alias lista='ls -l'
$ lista
total 3
drwxr-xr-x 2 usuario grupo 4096 may 15 13:12 Documentos
drwxr-xr-x 2 usuario grupo 4096 may 12 11:05 Descargas
drwxr-xr-x 2 usuario grupo 4096 may 15 05:47 Escritorio
Al ejecutar una orden, la shell busca primero en los alias y luego en la variable de entorno PATH
Lo primero que debemos hacer es crear un directorio que nos sirva para almacenar los archivos que eliminaremos
mkdir $HOME/Papelera
El siguiente paso es crear un alias para la orden rm que mueva lo que deseamos eliminar al directorio Papelera
alias rm='mv -t $HOME/Papelera'
La opción -t en el comando anterior hace que el resto de los argumento se muevan al directorio especificado
Si deseamos que el alias esté disponible para futuras sesiones bash debemos añadirlo en el $HOME/.bashrc
Ahora, cada vez que ejecutamos rm, en vez de eliminar, enviaremos el archivo al directorio Papelera

Eliminando la papelera de forma automática

Muchas veces, para liberar espacio en disco, eliminamos archivos. Es necesario hacer que cada cierto tiempo se borre por completo el contenido de la papelera para no llenar nuestro disco duro. Para tal fin usaremos cron
Cron es un demonio utilizado para ejecutar tareas de forma automática en determinado periodo de tiempo. Su sintaxis es la siguiente:
Chuleta_Cron
Existe /etc/crontab (general del sistema, incluye un apartado para añadir el usuario que ejecuta) y /var/spool/cron/crontabs/usuario (uno por cada usuario)
El comando crontab -e permite añadir (mediante un editor de textos como nano o vi) una entrada nueva. Nuestra línea quedará de la siguiente forma:
# h m dom mon dow comando

00 12 * * 5 /bin/rm $HOME/Papelera/*
La linea de cron anterior eliminará la papelera todos los viernes a las 12 del medio día
Se utiliza la ruta absoluta de rm puesto que este ahora es un alias
Espero haber abarcado todo.
Saludos :D


from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/ZR3EiqC5-T0/
via IFTTT