2011-05-05 18:30:54 +0000 2011-05-05 18:30:54 +0000
116
116

Einen "rm -rf ~"-Befehl rückgängig machen?

Ich hatte einen Ordner mit dem Namen ‘~’, den ich nicht wollte, also habe ich in der Befehlszeile

rm -rf ~

eingegeben und versehentlich meinen Home-Ordner gelöscht (da ~ zu /home/Benutzername aufgelöst wurde). Gibt es einen Weg zurück oder muss ich das Konto im Grunde von Grund auf neu erstellen?

Antworten (12)

148
148
148
2011-05-05 18:34:16 +0000

Im Allgemeinen gibt es keinen einfachen Weg zurück.

Sie könnten von Ihrem täglichen Backup wiederherstellen.

67
67
67
2011-05-06 02:20:40 +0000

Andere (wie @RiMMER , @Adam und @James T ) haben erwähnt, dass es bei den meisten Dateisystemen möglich ist, die meisten oder alle Daten wiederherzustellen (vielleicht ohne Dateinamen), da die Daten nicht wirklich gelöscht, sondern nur aus der Dateitabelle entfernt werden. Dies gilt nicht nur für Linux - das Gleiche gilt für Windows und Mac.

Das Wichtigste hat jedoch noch niemand erwähnt - TURN OFF YOUR COMPUTER. JETZT..

Viele Programme - einschließlich des Internet-Browsers, den Sie gerade benutzen - speichern Daten im Cache auf der Festplatte, und so ziemlich alles, was Sie tun, kann dazu führen, dass Ihr Computer die Größe der Auslagerungsdatei ändert oder in diese schreibt. Beide Dinge schreiben in freie Sektoren auf der Festplatte und überschreiben möglicherweise Ihre wertvollen Daten.

Schalten Sie also Ihren Computer aus, nehmen Sie die Festplatte heraus und stecken Sie sie in einen anderen Computer. Binden Sie die Festplatte als schreibgeschützt ein, und stellen Sie die Dateien auf einer separaten Festplatte wieder her. Wenn Sie alles wiederhergestellt haben, was von Interesse ist - und nur dann - schreiben Sie die Dateien zurück auf das ursprüngliche Laufwerk.

13
13
13
2011-05-06 02:41:43 +0000

Ich glaube, dass jeder Linux-Benutzer irgendwann diese schmerzhafte Lektion aus erster Hand lernen muss, bevor er tatsächlich die Wichtigkeit von Backups lernt, ebenso wie auf Details zu achten und vorsichtig zu sein.

Wenn Sie zum Beispiel seltsam aussehende Dateien löschen, könnten Sie zuerst Befehle auf dieser seltsamen Datei ausführen, die keine Nebenwirkungen haben und die keine Änderungen an Ihren Daten vornehmen. Hätten Sie z. B.

cd ~

ausgeführt, bevor Sie versucht haben, den Ordner zu löschen, hätten Sie gesehen, dass stattdessen das Verzeichnis in Ihren Heimatordner und nicht in den Ordner ~ gewechselt wurde. Sobald Sie genug Schritte zur Fehlerbehebung durchlaufen haben, um den richtigen Befehl zu lernen, müssten Sie korrekt cd in den Ordner ~ eingeben, dann könnten Sie Ihre Pfeiltaste nach oben drücken, um den letzten Befehl aus dem Verlauf zu ziehen und dann cd in rm ändern und dann und nur dann versuchen, den Ordner zu löschen.

Ich schlage vor, solche Schritte zu unternehmen, bevor Sie irgendeine Aktion durchführen, die dauerhaft ist. Es ist nicht dauerhaft oder idiotensicher, aber Sie haben eine viel bessere Chance, diese “Ups”-Momente zu vermeiden, wenn Sie bei der Durchführung von Aktionen, die Nebeneffekte haben, so sorgfältig vorgehen.

7
7
7
2011-05-05 19:00:15 +0000

Wenn Sie das ext3-Dateisystem verwenden, dann ist ext3grep Ihr neuer bester Freund. Ein gutes Tutorial (neben vielen anderen) zur Verwendung von ext3grep finden Sie hier .

6
6
6
2011-05-05 18:49:12 +0000

Sie können versuchen, testdisk zu verwenden, um einzelne Dateien wiederherzustellen. Dies funktioniert anscheinend nur bei ext2 und NTFS (ist aber trotzdem einen Versuch wert).

Wenn Sie ext3 oder ext4 haben, können Sie bekannte Datei s mit photorec wiederherstellen, was am Ende wahrscheinlich mehr wiederherstellt, als Sie wollen. Photorec stellt Dateien ohne die Dateinamensinformationen wieder her, so dass es mühsam sein kann, die Dateien durchzugehen.

4
4
4
2011-05-06 14:31:40 +0000

Wenn Sie ein ausreichend großes externes Laufwerk haben, haben Sie eine weitere, möglicherweise sicherste Option. Sie benötigen genügend Platz, um die gesamte Home-Partition inklusive freiem Speicherplatz zu speichern.

Booten Sie von einer CD und mounten Sie das Home-Laufwerk überhaupt nicht. Mounten Sie das externe Laufwerk. ddieren Sie die Partition des Home-Laufwerks in eine Datei auf dem externen Laufwerk. mounten Sie die Datei als Loopback-Gerät und führen Sie Ihre Undeleting-Arbeiten an diesem Image durch, in der Gewissheit, dass Sie Ihr ursprüngliches Dateisystem nicht beschädigen können. Je nach Dateisystem können Sie viele Dinge ausprobieren, von denen einige potentiell zerstörerisch sind.

Das hat mich einmal mit einer Beta-Version von Reiser4 gerettet, als ich nicht wusste, was es tun würde, selbst wenn ich es nur lesend gemountet hätte. Ich habe damals irgendwo gelesen, dass Journal-Writes noch möglich waren.

Es ist auch eine gute Technik, um Daten von einem sterbenden Laufwerk zu retten.

2
2
2
2011-05-05 18:46:33 +0000

Es gibt Techniken, um Dateien wiederherzustellen, indem man die Inodes untersucht, die nicht wiederverwendet worden sind. Je mehr Daten nach der Löschung in das Dateisystem geschrieben werden, desto unwahrscheinlicher ist es, dass Sie Ihre Daten wiederherstellen können. Die beste Strategie zur Wiederherstellung nach einer versehentlichen Datenlöschung ist die Wiederherstellung aus einem Backup.

2
2
2
2011-05-07 18:27:57 +0000

Es tut mir leid um Ihre Daten. Alle anderen haben sich zu Ihrem Datenproblem geäußert, aber hier sind einige Informationen, wie Sie das nächste Mal vorgehen können, wenn Sie einen Ordner mit dem Namen ~ sehen.

  1. Finden Sie denjenigen, der ihn erstellt hat, und stellen Sie sicher, dass er es nie wieder tut.
  2. Verwenden Sie nicht -rf oder andere verrückte, mächtige Argumente an rm, um das Löschen durchzuführen. Gehen Sie stattdessen schön langsam vor und stellen Sie sicher, dass Sie sehen können, was passiert. Es ist möglich, die Tilde einzugeben, ohne dass sie zu Ihrem Home-Verzeichnis expandiert, indem Sie sie in der Shell escapen. Theoretisch könnten Sie rm -rI \~ eingeben, Sie können aber auch einen Schritt weiter gehen.
  3. Zuerst cd \~, um IN diesen Ordner zu gelangen, vielleicht sogar mit pwd, um zu überprüfen, dass Sie dort angekommen sind. 10. Entfernen Sie den Inhalt des Ordners, während Sie dort sind. Seien Sie auch hier vorsichtig, aber räumen Sie den Ordner mit rf -rI * aus, und wenn nötig, nehmen Sie auch .*.
  4. Gehen Sie nun mit cd .. wieder nach oben und entfernen Sie das Verzeichnis mit rmdir \~.
2
2
2
2011-05-06 05:30:57 +0000
alias rm="rm -i"

Angenommen, Sie verwenden die Bash-Shell (schreiben Sie dies in Ihre .bashrc-Datei, damit es in neuen Shells, die Sie öffnen, bestehen bleibt).

Dies sollte dazu führen, dass rm Sie bittet, zu bestätigen, was Sie löschen wollen, was nett ist, besonders wenn Sie -rf machen, aber es wird auch ‘~’ zum vollständigen Pfad zu Ihrem Heimatverzeichnis in der Eingabeaufforderung erweitern, was Ihnen einen Hinweis darauf geben sollte, dass Sie nicht eine Datei ‘~’, sondern tatsächlich Ihr Heimatverzeichnis löschen.

$ rm -rf ~
rm: examine files in directory /nas/users/u12345/unix (yes/no)? n

Dies ist technisch gesehen keine Antwort auf Ihre Frage, könnte Ihnen aber helfen, solche Probleme in Zukunft zu vermeiden.

EDIT: Einige Leute raten Ihnen vielleicht von dieser Technik ab, da Sie dadurch weniger vorsichtig mit dem “rm”-Befehl sind. Meiner Erfahrung nach ist das weit von der Wahrheit entfernt. In Wirklichkeit ist der Effekt des Alias, Sie davon abzuhalten, “rm -rf” zu benutzen - da Sie wissen, dass es zu vielen Eingabeaufforderungen führt, die Sie nicht beantworten wollen - und um ein “rm -rf” ohne Eingabeaufforderung zu bekommen, müssen Sie den rm-Befehl bewusst als /bin/rm (oder was auch immer) bezeichnen. Das führt zu einer viel bewussteren und absichtlichen Verwendung des “rm”-Befehls im Allgemeinen - da Sie der Verwendung von rm immer die geistige Entscheidung “rm oder /bin/rm” voranstellen müssen - sowohl auf Ihrem Server als auch auf jedem anderen, auf dem Sie gerade angemeldet sind. Und eine Welt, in der jeder nachdenken würde, bevor er rm benutzt, wäre in der Tat eine sicherere!

1
1
1
2011-05-06 07:04:37 +0000

Ich kopiere einfach .snapshot und stelle die Dateien wieder her. Aber ich mache das bei der Arbeit und habe keine Ahnung, woher das .snapshot-Verzeichnis kommt. Ich dachte, das sei vielleicht eine Linux-Funktion.

1
1
1
2018-06-10 04:22:55 +0000

Recovery Tools - Command Line :

*Recovery Tools - Gui : *

*Infos : *

In meiner persönlichen Erfahrung habe ich meine Daten mit “UFS Explorer” und photorec

(1) = Nicht quelloffen, nicht frei

(2) = Nicht quelloffen, frei

(3) = Quelloffen und frei

(4) = Haben ntfs-Unterstützung

(5) = Haben Verzeichnisstruktur-Funktion

-3
-3
-3
2011-05-06 00:07:52 +0000

rm ist für immer.

Obwohl Ihnen das jetzt nicht hilft, könnten Sie in Zukunft rm nicht mehr verwenden oder, um sich wirklich zu zwingen, ein Skript mit dem Namen rm hinzufügen, das die Dateien in einen Papierkorb-Ordner verschiebt, den Sie ein anderes Mal aufräumen (so können Sie Fehler machen und sind nicht SOL).