deshacer el rm de Linux? [duplicar]

Respuestas:

33

En ubuntu o similar:

$ sudo apt-get install trash-cli
$ alias rm=trash

Luego ponga ese alias en .bashrc o el script de inicio de sesión apropiado para su shell de elección.

El trash-clipaquete es una interfaz de línea de comandos para el mismo bote de basura que GNOME y KDE y otros usan. Por lo tanto, trashGNOME / KDE puede restaurar todo lo que elimine mediante el comando y viceversa.

Los otros comandos en el trash-clipaquete son trash-list, trash-emptyy restore-trash.

Ryan C. Thompson
fuente
11
+1 para trash-cli, -1 para aliasing rm.
1
¿Qué tiene de malo el aliasing rm? Me gusta tener un botón de deshacer para mis eliminaciones accidentales, incluso en la línea de comando. Además, trash-cliexplícitamente facilita esto al aceptar (e ignorar) muchas rmopciones de GNU . Además, el OP solicitó una forma de deshacer la firma. Esta solución no responde la pregunta correctamente sin el alias.
Ryan C. Thompson
15
@Ryan: Porque te acostumbras a rm a significar algo diferente de lo que realmente hace el comando rm, y luego cometes un error cuando no tiene alias. Acostúmbrate a usar el comando papelera y eso no puede suceder.
55
@Roger: O ... puedes alias rmy luego hipnotizarte para que olvides que lo hiciste. De esa manera, puedes seguir usando rmcomo si fuera final ... pero si te resbalas y dices "¡oh, no!" No estás completamente jodido. (es decir, no confíe en su funcionalidad "recuperable")
mpen
@RyanThompson: Este es un buen consejo, pero ¿cómo configurar esto para que funcione también sudo rm?
takeshin
15

La respuesta tradicional es:

Recupera el archivo de la última copia de seguridad. Tienes una copia de seguridad reciente, ¿no?

porque en muchos sistemas de archivos Unix esto simple no es posible o es muy difícil.

Como otros han señalado, este ya no es el problema final, pero no cometer errores de este tipo sigue siendo el enfoque preferido.

dmckee
fuente
55
Realmente tengo la intención de poner todos mis scripts en un repositorio bzr comprometido por hora.
Adam Matan el
3
La respuesta moderna es: Recupere el archivo de una instantánea reciente del sistema de archivos. :-)
knweiss
Esa es una buena pregunta ... Por lo general, no hago copias de seguridad de ~ / Descargas ... y borro mi contenido al pasar rm -fr *(1)*... cada archivo desapareció. Por lo tanto, tener copias de seguridad no siempre es la solución. Trash-cli suena genial.
m3nda
No, tener copias de seguridad SIEMPRE es la solución. El hecho de que elija no hacer una copia de seguridad de algo, no hace que la copia de seguridad no sea la solución, lo hace tonto, por no hacer una copia de seguridad de algo.
djsmiley2k - CoW
4

Para evitar futuros errores hipotéticos, es posible que desee alias rm a rm -i ...

Rich Bradshaw
fuente
66
En general, creo que esto nunca evitaría ningún error (la 'y' se escribe de manera bastante automática), pero consume mucho tiempo y aliento el uso de He-Whose-Name-Must-Not-Be-Men-mencionado rm -rf.
Adam Matan
Sin embargo, te da una oportunidad adicional antes de estropear las cosas. Generalmente solo uso lslos mismos parámetros antes, así puedo ver lo que va a pasar.
Rich Bradshaw
Por lo general, elimino archivos a propósito, solo me doy cuenta de que los necesitaba más tarde. Tan interactivo no ayudaría
andrewtweber