deshacer el rm de Linux? [duplicar]


31

Posible duplicado:
comando DESHACER LINUX Papelera

Hola,

¿Hay alguna forma simple de deshacer un rmcomando?

La pregunta es puramente teórica; NUNCA he borrado el registro de una cola de referencia que tardó toda la hora del almuerzo en ejecutarse.



1
... o al menos muy estrechamente relacionados, incluso si la pregunta en sí misma está formulado para ser un poco más general
Jonik

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.


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.


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 ...


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.