Gibt es einen Befehl zum Rückgängigmachen in der Unix-Befehlszeile?

8

Ich habe das Gefühl, dass ich es eines Tages brauchen werde, als hätte ich gerade etwas gelöscht, das ich nicht haben sollte, oder etwas umbenannt und kann mich nicht erinnern, wie es heißen soll usw.

Kirt
quelle
Kein mir bekanntes Betriebssystem unterstützt eine solche Funktion. Um das Rückgängigmachen eines rm -Rf /Vorgangs zu unterstützen, muss irgendwo eine vollständige Sicherung des Laufwerks vorhanden sein. Dies wird niemals möglich sein (oder erwünscht sein, da das Verwalten dieser Art von Backups immens viel Zeit in Anspruch nimmt). Das ist nur eine Sache, die ein Programm tun könnte. es macht nichts aus, etwas rückgängig zu machen wie mke2fs /dev/hdb1.
Krowe2
Ah, ich habe hier mehr darüber nachgedacht, wie man eine Paste rückgängig macht (oder Text in die Kommandozeile eingibt
Pat

Antworten:

11

Negativ. Unter Linux gibt es keine magische Schaltfläche zum Rückgängigmachen.

RobotHumans
quelle
3
Aber wenn Sie etwas mit einem Tippfehler vermasseln, können Sie häufig den Befehlsverlauf verwenden, um herauszufinden, was Sie tatsächlich getan haben und nicht, was Sie dachten.
Velociraptors
2
bash.org/?6899
Corey
1
guter Punkt Geschichte | grep partofwhatidid kann hilfreich sein
RobotHumans
7

Nein.

Unix bietet von Haus aus keine Funktion zum Rückgängigmachen. Die Philosophie ist, dass wenn es weg ist, es weg ist. Wenn es wichtig war, hätte es gesichert werden müssen .


Anstatt eine Datei zu entfernen, können Sie sie in ein temporäres "Papierkorb" -Verzeichnis verschieben. In einigen Desktop-Umgebungen wird die Datei mit dem Befehl "Löschen" in den Papierkorb verschoben. Beachten Sie jedoch, dass es nur von wenigen Anwendungen verwendet wird. andere entfernen einfach die Datei.

Viele Befehle können rückgängig gemacht werden, z. B. kann das Verschieben einer Datei rückgängig gemacht werden, indem die Datei zurück verschoben wird. Befehle, die eine Datei löschen oder überschreiben, können nicht oder nur schwer rückgängig gemacht werden. Einige von ihnen können durch Shell-Einstellungen robuster gegen versehentlichen Datenverlust gemacht werden. Im Speziellen:

  • In der Befehlszeile cpund mvüberschreibt jede vorhandene Zieldatei, aber Sie können sie auffordern:

    alias cp='cp -i'
    alias mv='mv -i'
    

    Ich empfehle diese beiden Aliase, weil ich sie nicht benötige , cpund mvmache zwei Jobs: Kopieren / Verschieben und Löschen. Das Nichtvorhandensein cpund mvLöschen von Dateien entspricht mehr der Unix-Philosophie (ein Befehl erledigt einen Job) und ist weniger fehleranfällig. (Das ist etwas völlig anderes als rm -idas, bei dem vor der Ausführung der Arbeit eine Bestätigung angefordert wird. Eine solche systematische Aufforderung löst in der Regel eine automatische Reaktion aus und wird so zu einem nutzlosen Ärger.)

  • Sie können festlegen, dass der >Umleitungsoperator nur das Erstellen von Dateien akzeptiert, sodass Sie schreiben müssen >|foo, um das Überschreiben einer vorhandenen Datei zuzulassen foo.

    set -o noclobber
    

Es gibt ein FUSE- Dateisystem, das automatisch Kopien alter Versionen speichert : copyfs , verfügbar für die meisten Unices (* BSD, Linux, OS X, Solaris). Das kann natürlich eine Menge Ressourcen verbrauchen.

Wenn Sie eine Datei in ein anderes Verzeichnis verschoben haben und sich ihren Namen (teilweise), aber nicht ihren Speicherort merken, können Sie sie mit dem locateBefehl suchen.


Der beste Schutz gegen solche Unfälle ist die Verwendung eines Versionskontrollsystems (cvs, bazaar, darcs, git, mercurial, subversion, ...). Das Erlernen dauert ein wenig, zahlt sich aber mittel- und langfristig aus.

Gilles
quelle
0

Es gibt keine "Rückgängig" -Option, nur wenn Sie die Papierkorbfunktion verwendet haben.

Um entfernte Dateien wiederherzustellen, hängt es wirklich davon ab, über welches Dateisystem Sie verfügen.

Es gibt:

Es unterstützt die meisten gängigen Dateisysteme.

HFS Plus

Für HFS Plus (OS X) gibt es einige kommerzielle Lösungen wie:

Lesen Sie mehr: Wiederherstellen von Dateien von formatierten HFS + -Partitionen


Eine vollständige Liste finden Sie unter:


Um ähnliche Situationen zu vermeiden, führen Sie die Sicherungen häufiger durch, verwenden Sie die Versionskontrolle oder lesen Sie, wie Sie rmin den Papierkorb verschieben .

Kenorb
quelle