Hacks para Unix-like: contenedor de basura

De Wikilibros, la colección de libros de texto de contenido libre.
Saltar a: navegación, buscar
Crear un contenedor de basura
Entorno de usuario
Dificultad : Muy fácil
Necesitas :
Programas relacionados :
Comandos relacionados :

mkdir
mv
rm
alias

Archivos relacionados : ~/.bashrc
~/.cshrc
Estandares relacionados :
Enlaces relacionados relacionados :

Por qué crear un contenedor de basura[editar]

En algunos sistemas unix no existe el concepto de contenedor de basura (o papelera), por lo cual cuando borramos un archivo (con el comando rm) este se pierde. Muchos usuarios prefieren un enfoque basado en un contenedor de archivos borrados donde van a parar aquellos archivos que son ""borrados", que en realidad únicamente son movidos a una carpeta intermedia denominada comúnmente papelera

Cómo crear nuestro contenedor de basura o papelera[editar]

Para crear nuestra papelera, lo primero es crear nuestro directorio para la papelera,


mkdir ~/.trash

Para simular el comportamiento de un contenedor de basura podemos hacer uso de un pequeño script, situándolo en el directorio ~/bin/ y cambiando los permisos de necesarios.

#!/bin/sh
# Script papelera, mueve los archivos a la carpeta .trash
mv $1 ~/.trash/

chmod +x ~/bin/trash

El siguiente paso es sustituir el comando rm por nuestro script, para alterar el comportamiento de un comando en un shell se puede usar un alias editando nuestro archivo de shell correspondiente (puede ser por ejemplo ~/.cshrc o ~/.bashrc). Con esto al escribir rm sobre la línea de comandos esta interpretará automáticamente que queremos llamar a nuestro script, que a su vez ejecutara un comando mv

alias rm papelera

Para vaciar la papelera que hemos creado debemos llamar al comando rm (hay que asegurarse de que se llama a rm y no al alias que se ha configurado), para ello se indica con una '\' que queremos que se ignoren el alias definido, otra opción sería crear un script más complejo mediante el cual se pueda vaciar la papelera.

\rm ~/.trash/*

Libtrash[editar]

Otra opcion muy interesante para tener nuestra contenedor de basura es libtrash