Wie kann ich eine Datei wiederherstellen, die durch leere in Linux ersetzt wurde?

251
flipost

Ich habe pv als Befehl ausgeführt pv /path/file1 > file1und habe nicht bemerkt, dass ich mich im selben Verzeichnis wie 'Pfad' befinde. Die Eingabedatei ist also die Ausgabedatei

pv hat mir eine Nachricht gegeben:

pv: Eingabedatei ist Ausgabedatei: / Pfad / Datei1

aber die Shell hat die Datei auf null gekürzt

Ist es möglich, diese Datei irgendwie wiederherzustellen?

OS: Debian 8

0
Wenn Sie die unformatierte Dateipartition mit `dd 'in eine Datei kopieren, können Sie möglicherweise einen Teil der Datei im freien Speicherplatz finden, sofern sie nicht einer anderen Datei zugewiesen wurde. Andernfalls können Sie einen Teil davon mit einem einfachen C-Programm wiederherstellen, das die Datei im Anfügemodus öffnet, auf eine große Byte-Nummer positioniert, dann ein Byte schreibt und es schließt. Wenn keiner dieser Ansätze etwas findet, müssen Sie sich vom Backup erholen. Wenn es nicht gesichert wurde, war es (per Definition) nicht sehr wichtig. AFH vor 6 Jahren 0
Der technische Hinweis zu "pv" gab mir eine Nachricht [...], aber die Datei wurde auf null gekürzt ": Die Shell hat die Datei abgeschnitten; "pv" hat es bereits abgeschnitten. Kamil Maciorowski vor 6 Jahren 2

1 Antwort auf die Frage

0
flipost

Endlich konnte ich die Datei mit extundelete wiederherstellen

Hier ist was ich getan habe

  • Beenden Sie die sofortige Verwendung des Betriebssystems oder mounten Sie die Partition erneut als schreibgeschützt, wenn sie von keinem Prozess verwendet wird (ich hatte das Glück, dass sich der Pfad, in dem sich meine Datei befand, auf einer separaten Partition befand und nicht aktiv verwendet wurde).
  • Starten Sie von einem Rettungssystem aus oder bleiben Sie auf dem aktuellen System, wenn Sie sicher sind, dass kein Prozess die Partition verwendet, von der Sie ohne Ihr Wissen eine Wiederherstellung durchführen
  • ganze Partition sichern (mit ddzum Beispiel)
  • Installieren extundelete
  • Mounten Sie die Partition als Lese- / Schreibzugriff
  • Lösche die leere Datei (beachte den Pfad und den Namen der Datei)
  • cd in ein Verzeichnis auf einer anderen Partition als einer, von der Sie wiederherstellen (stellen Sie sicher, dass genügend Speicherplatz für die wiederhergestellte Datei vorhanden ist)
  • mounten Sie die Partition
  • laufen extundelete path/to/disk/label --restore-file path/to/deleted/file(zum Beispiel extundelete /dev/sdb1 --restore-file documents/important.txt)
  • Die wiederhergestellte Datei sollte im Verzeichnis RECOVERED_FILES angezeigt werden