Como borrar por consola con total seguridad
Publicado por Gnu Linux en 18 dUTC Julio dUTC 2007
Después de mucho tiempo sin escribir, me apetecía escribir algo de interés.
Cuantas veces habéis estado toqueteando cosas por consola, habéis borrado unos cuantos archivos con el comando rm y al siguiente paso os dais cuenta que habéis metido la pata por completo? Yo un par de veces, para que os voy a mentir…
Para evitar esto tan solo tendríamos que sustituir el comando rm por el mv hacia nuestra papelera o activar el modo interactivo del comando rm. El problema es que somos muy vagos y hacer un mv hacia la papelera conlleva introducir un parámetro adicional con la ruta de la papelera y el comando interactivo de rm es un poco “pelma” preguntándonos siempre si queremos borrar…
Para eso estamos aqui hoy. Si hacemos un alias del comando rm (según la wikipedia: “Un alias es un nombre que puede acompañar o reemplazar el nombre de una persona” en nuestro caso no sera una persona sino un comando) podemos hacer que cada vez que borremos, en realidad estemos moviendo todo lo que queremos borrar a la papelera. En nuestro caso sera:
alias rm=’mv –target-directory=/home/mygnulinux/.Trash $1′
El alias redefine el comando rm y mueve todos los parámetros que le indiquemos ($1) a rm a nuestra papelera que esta situada en la ruta /home/mygnulinux/.Trash
Nota: Si ejecutas alias rm… en una consola, al abrir otra hay que volverlo a hacer. Si quereis que cada vez que se abra una consola este ya puesto “de serie”, tan solo teneis que añadirlo en el fichero “.bashrc” situado en el directorio de vuestro usuario, en mi caso “/home/mygnulinux/.bashrc”
Eso es todo por hoy, espero que os sirva de ayuda.
Saludos: Lupo
Raul escribió
¿que pasa si quieres borrar mas de un fichero?
rm fichero1 fichero2
Esto no funcionaría
Raul escribió
¿y que tal un nuevo alias para vaciar la papelera?
alias emptyTrash=’rm -r /home/mygnulinux/.Trash/*′
Gnu Linux escribió
Sorprendentemente si que funciona, yo también me quede un poco extrañado ya que $1 solo hace referencia al primero de los parámetros y no al resto que le siguen, pero lo he probado y mas que probado en un ubuntu 7.04 y funciona a la perfección. Supongo que en el resto de distribuciones ocurre lo mismo.
Aunque yo iría un poco mas allá. Si realizas esto sobre una partición distinta, el proceso de mover los ficheros es un tanto pesado (bien sea en particiones diferentes como unidades extraíbles…). Si nos fijamos como lo hace GNOME, crea su propia papelera en la raíz de la partición sobre la que estemos trabajando. A ver si alguien encuentra como emular este proceso en la consola de una forma sencilla.
Un saludo Raul y gracias por tu aporte al blog.
nekrum escribió
Saludos
Aunque prefiero borrar directamente con rm y solo ser cuidadoso, encontre algo muy interesante para este caso LIBTRASH
http://www.vicente-navarro.com/blog/2008/01/24/la-libtrash-la-papelera-de-la-linea-de-comandos/