Estaba programando un programa(valga la redundancia) en C++ con el cual el makefile podía usar prefix,y estaba usando bin,pero hice algo mal y se creo un directorio bin adentro de /bin el cual traía los archivos,asi que los borre,con rm -rf (como root) luego en un mal pensamiento en vez de hacer exit o cd ~, cambie a / (cd ..) pero se me fue el dedo y
rm -rf bin
De nuevo y esta vez no borrro el bin que creo el makefile,sino que el bin del sistema
:O
Así que adiós /bin de Gentoo :(
Y como saben /bin contiene archivos muy importantes,existen formas de recuperar los datos,pero las herramientas que se usan estan en /bin, también al reiniciar se perdía definitivamente y no pude entrar por ssh,y ya era noche así que mejor decidi apagar y reinstalar otro dia,de todas formas ya tenia mucha basura en gentoo y no habia actualizado el kernel,asi que mejor a reinstalar :D.
El hecho es que el comando rm es muy peligroso y se me ocurrió que en vez de eliminar definitivamente,moverlo al trash para poder recuperar el contenido.
Esto se puede hacer de muchas formas:
Fácil ,solo crear un alias que cambie rm por mv:
alias rm="mv -t ~/.local/share/Trash/files --backup=t"
Esto nos mueve lo que sea archivo/carpeta a la papelera de reciclaje(podemos cambiar el destino) y crea un backup por si ya hemos movido alguno de nombre similar.
Asi que para usar este comando solo hacemos esto:
echo 'alias rm="mv -t ~/.local/share/Trash/files --backup=t"' >> ~/.bashrc && source ~/.bashrc
Ahora al hacer,(por ejemplo yo):
rm /bin
Lo mueve a la papelera y lo puedo mover desde otra partición de nuevo.
Pero hay dos cosas:
Lo bueno : Como cambia rm si se nos va el dedo nos movera el archivo a la papelera.
Lo malo : Que al querer vaciar la papelera o lo hacemos desde un explorador de archivos(nautilus,etc) o tenemos que hacer un unalias:
unalias rm
Para poder usar rm de nuevo y hacer,por ejemplo
rm -rf trash/*Pero al terminar tendríamos que hacer nuevamente
echo 'alias rm="mv -t ~/.local/share/Trash/files --backup=t"' >> ~/.bashrc && source ~/.bashrc
Así que esa es una opción:
Otra opción:
La misma pero con otro nombre,en vez de cambiar el comando rm,podemos usar delete por ejemplo:
echo 'alias delete="mv -t ~/.local/share/Trash/files --backup=t"' >> ~/.bashrc && source ~/.bashrc
Lo malo : Es que si tecleamos rm,pasara lo mismo(se ejecutara),tendremos que aprender a usar este alias
Lo bueno : Que podremos vaciar la papelera desde terminal y no tendremos que asignar de nuevo un alias.
Otra opción:
Crear un script:
Enlace
Lo metemos en una carpeta,la que queramos de nuestro Home o en /usr/bin con permisos de ejecución:
Por ejemplo oculto en nuestro home quedaria en esta ruta:
~/.script.sh
Le damos permisos de ejecucion:
chmod +x ~/.script.sh
Creamos un alias,por ejemplo:
echo 'alias rm="bash ~/.script.sh"' >> ~/.bashrc && source ~/.bashrc
Y al hacer rm,se ejecutara el script que programe:
También funciona con carpetas y con wildcards como se vio en la imagen,hiba a implementar vaciar papelera,pero se me podía ir el dedo de nuevo :P
Lo deje comentado para que lo modifiquen a sus necesidades,otra cosa es que hay mas maneras de hacer esto,pero a mi me gusta programar lo que uso,y bueno si conocen mas comenten :D
Jajaja borraste /bin ya tengo con que molestarte, apuesto a que esta fue tu reacción despues de haberlo borrado XD pero esta mal lo que cuentas; si hiciste rm -rf /bin no era rm -rf bin,ya que desde el primer rm -rf /bin se hubiera borrado /bin y no /bin/bin
ResponderBorrarXDD si algo asi XDD,me equivoque en el texto citado fu:
Borrarrm .rf bin
como dices para que se borre la carpeta del directorio en donde esta uno,pero no te creas prima ya te veo borrando el /bin de tu ipadcilla XDDD y ahí quien sabe que pase :O
Me equivoque de nuevo :S
Borrarfue:
rm -rf bin
Ya lo edite :D