Linux rückgängig machen?

146041
Adam Matan

Mögliches Duplizieren:
UNDO LINUX-Papierkorbbefehl

Hallo,

Gibt es eine einfache Möglichkeit, einen rmBefehl rückgängig zu machen ?

Die Frage ist rein theoretisch. Ich habe NIEMALS das Protokoll einer Benchmark-Warteschlange gelöscht, für deren Ausführung eine ganze Mittagspause erforderlich war.

30
dupe: http://superuser.com/questions/31171/undo-in-command-line-operation nagul vor 14 Jahren 1
... oder zumindest sehr eng verwandt, auch wenn die Frage selbst etwas allgemeiner formuliert ist Jonik vor 14 Jahren 1

3 Antworten auf die Frage

32
Ryan Thompson

Auf Ubuntu oder ähnlich:

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

Setzen Sie dann diesen Alias ​​in .bashrc oder das entsprechende Anmeldeskript für Ihre gewünschte Shell.

Das trash-cliPaket ist eine Befehlszeilenschnittstelle für denselben Papierkorb, der auch von GNOME und KDE verwendet wird. Alles, was Sie über den trashBefehl löschen, kann von GNOME / KDE wiederhergestellt werden und umgekehrt.

Die anderen Befehle in dem trash-cliPaket sind trash-list, trash-emptyund restore-trash.

+1 für Mülleimer-Cli, -1 für Aliasing rm. vor 14 Jahren 10
What's wrong with aliasing `rm`? I like having an undo button for my accidental deletions, even on the command line. Also, `trash-cli` explicitly facilitates this by accepting (and ignoring) many GNU `rm` options. Besides, the OP asked for a way to undo rm. This solution doesn't answer the question correctly without the alias. Ryan Thompson vor 14 Jahren 1
@Ryan: Weil man sich daran gewöhnt hat, dass rm etwas anderes bedeutet als das, was der Befehl rm tatsächlich macht, und dann einen Fehler macht, wenn er nicht als Alias ​​bezeichnet wird. Gewöhnen Sie sich stattdessen an den Papierkorbbefehl, und das kann nicht passieren. vor 14 Jahren 14
@Roger: Oder ... Sie können den Alias ​​"rm" verwenden und sich dann hypnotisieren, um zu vergessen, dass Sie das getan haben. Auf diese Weise können Sie 'rm' weiterhin verwenden, als ob es endgültig wäre ... aber wenn Sie ausrutschen und "oh nein !!" du bist nicht komplett vermasselt (dh verlassen Sie sich nicht auf die "wiederherstellbare" Funktionalität) mpen vor 13 Jahren 5
@ RyanThompson: Dies ist ein schöner Tipp, aber wie kann man das konfigurieren, um auch mit `sudo rm` zu funktionieren? takeshin vor 13 Jahren 0
Ich hoffe, dass Sie bald darauf eine Antwort haben werden: http://superuser.com/questions/192725/how-can-i-alias-a-command-for-sudo Ryan Thompson vor 13 Jahren 0
@Roger Sie könnten einen Alias ​​einrichten, um das Rückgängigmachen für Skripte von Drittanbietern zu ermöglichen. Lucas vor 10 Jahren 0
Zur Unterstützung des Nicht-Aliasing von `rm`: https://apple.stackexchange.com/a/17637/37190 Ioannis Filippidis vor 6 Jahren 0
15
dmckee

Die traditionelle Antwort lautet:

Sie stellen die Datei von der neuesten Sicherung wieder her. Sie haben eine aktuelle Sicherung, nicht wahr?

denn auf vielen Unix-Dateisystemen ist dies einfach nicht möglich oder sehr schwierig.

Wie andere bereits festgestellt haben, ist dies nicht mehr das Ende und alles andere, aber Fehler dieser Art zu machen ist immer noch der bevorzugte Ansatz.

Ich beabsichtige wirklich, alle meine Skripts in einem stündlich festgelegten bzr-Repository abzulegen. Adam Matan vor 14 Jahren 5
Die moderne Antwort lautet: Stellen Sie die Datei aus einem aktuellen Dateisystem-Snapshot wieder her. :-) knweiss vor 14 Jahren 3
Das ist eine coole Frage ... Normalerweise mache ich keine Backups von ~ / Downloads ... und löschte meinen Inhalt, indem ich 'rm -fr * (1) *' weiterleitete. Backups zu haben ist also nicht immer die Lösung. Trash-cli klingt kühl. erm3nda vor 8 Jahren 0
Nein, Backups zu haben, ist _ALWAYS_ die Lösung. Nur weil Sie sich dafür entschieden haben, etwas nicht zu sichern, macht das Sichern nicht die Lösung, es macht Sie dumm, wenn Sie nichts sichern. djsmiley2k vor 6 Jahren 0
4
Rich Bradshaw

Um hypophetische zukünftige Fehler zu vermeiden, sollten Sie Alias ​​rm in rm -i ...

Ich denke im Allgemeinen, dass dies niemals Fehler verhindern würde (das 'y' wird ziemlich automatisch eingegeben), verbrauchen jedoch viel Zeit und ermutigen zur Verwendung von He-Whose-Name-Must-Not-Be-Mended rm -rf. Adam Matan vor 14 Jahren 6
Es gibt Ihnen jedoch einen zusätzlichen Schritt, bevor Sie alles vermasseln. Ich bin im Allgemeinen nur mit den gleichen Parametern vor "ls", so dass ich sehen kann, was passieren wird. Rich Bradshaw vor 14 Jahren 0
Normalerweise lösche ich Dateien absichtlich, mir ist nur klar, dass ich sie später brauchte. Interaktiv würde also nicht helfen andrewtweber vor 8 Jahren 0