Diese Frage bezieht sich auf Wie werden gelöschte Dateien wiederhergestellt? aber es ist etwas anders in der Natur.
Angenommen, ich habe eine Datei mit dem Namen ~/something
open in einem Texteditor. Angenommen, ich öffne ein Terminal und führe den folgenden Befehl aus, während die Datei noch im Texteditor geöffnet ist:
rm ~/something
Dadurch wird die Datei gelöscht. Angenommen, ich habe meine Meinung geändert und wollte die Datei zurückbekommen. Die Datei ist im Texteditor noch geöffnet, sodass sie noch nicht von der Festplatte oder dem Dateisystem entfernt wurde .
Gibt es eine Möglichkeit, es wiederherzustellen?
delete
data-recovery
Nathan Osman
quelle
quelle
Antworten:
Ich weiß nicht, ob es Texteditoren gibt, die die Datei geöffnet halten, während Sie sie bearbeiten. Normalerweise (dh in Emacs) wird die Datei in einen Puffer im RAM eingelesen und dann die Datei geschlossen. Sie bearbeiten nur im RAM. Wenn Sie den Puffer speichern, wird die Datei geöffnet, geschrieben und wieder geschlossen. Sie können
ps auxw | grep your_editor
die PID Ihres Editors ermitteln und dannlsof -p your_PID
die noch geöffneten Dateien anzeigen.Wenn sich die Datei jedoch noch im Puffer Ihres Editors befindet, können Sie sie einfach speichern.
Aber das war nicht Ihre Frage. Stellen Sie sich also vor, Sie verwenden sie
cat
als Editor, und die Datei ist noch offen:Sie können
lsof -n
alle geöffneten Dateien anzeigen undgrep
nach Ihrem Dateinamen suchen.In der zweiten Spalte sehen Sie die PID Ihres
cat
Befehls. Sie können in das entsprechende Verzeichnis im Dateisystem / proc und in dasfd
Unterverzeichnis (Dateideskriptor) wechseln:Jetzt können Sie die "Datei" einfach
1
in eine andere Datei kopieren :Und sehen Sie, es ist da:
quelle
Speichern Sie einfach die Datei im Texteditor. Sollte sehr gut funktionieren.
Übrigens werden Sie häufig mit der Meldung "Nicht gespeichert speichern?" Aufgefordert, wenn Sie die Datei noch in einem Editor geöffnet haben und versuchen, das Fenster zu schließen, da der Texteditor auch bemerkt, dass die Datei gelöscht wurde und derzeit "nicht gespeichert" ist «(Zumindest an diesem Ort).
(Nitstorm, bitte benutze die Kommentare nicht für Antworten;)
quelle