+4 Punkte
in Blog von (106k Punkte)
Löschen Sie gelöschte Dateien unter Linux

2 Antworten

+5 Punkte
von (106k Punkte)
 
Beste Antwort

Löschen Sie gelöschte Dateien unter Linux
Linux, wie gelöschte Dateien wiederhergestellt werden

In diesem Artikel werden wir sehen, wie wir gelöschte Dateien unter Linux einfach wiederherstellen können .

Haben Sie versehentlich eine Datei gelöscht?

Machen Sie sich keine Sorgen, befolgen Sie diese Schritte und hoffentlich können wir die Datei oder Dateien wiederherstellen.

Wir werden den Prozess mit dem Test Disk Tool durchführen

Es ist ein einfaches Tool, mit dem Sie keine Probleme haben.

Mach dir vor allem keine Sorgen.

Solange Sie nicht auf das Laufwerk schreiben, bleibt die gelöschte Datei bestehen, damit wir sie wiederherstellen können.

Abhängig von der Dateigröße und dem freien Speicherplatz auf Ihrem Laufwerk können die gelöschten Dateien unbegrenzt bestehen bleiben.

Löschen Sie gelöschte Dateien unter Linux

Schritt 1

Als erstes müssen wir das TestDisk-Tool installieren.

Die meisten Linux-Distributionen haben TestDisk bereits im offiziellen Repository.

Wir öffnen das Terminal / die Befehlskonsole und schreiben Folgendes:

  1. sudo apt install testdisk

Wenn Sie ein Arch Linux-Benutzer sind, können Sie TestDisk von AUR installieren.

Wenn Sie manuell installieren möchten, können Sie dies über diesen Link tun .

Schritt 2

Führen Sie TestDisk im Terminal mit dem folgenden Befehl aus:

  1. Testdisk

Schritt 3

Wenn Sie das Programm öffnen, sehen Sie so etwas.

Keine Sorge! Die Schnittstelle ist sehr einfach.

Um zu navigieren, müssen Sie die Pfeiltasten verwenden und "Enter" auswählen.

Wir geben Enter in der ersten Option: CREATE A NEW LOG FILE

Schritt 4

Jetzt, zu diesem Zeitpunkt, sollten Sie Ihre Festplatte bereits sehen und sehr bald können Sie Ihre gelöschten Dateien wiederherstellen.

Wenn Sie Ihre Festplatte nicht wie im Image sehen konnten, führen Sie Schritt 2 mit dem folgenden Befehl aus:

  1. sudo testdisk

Jetzt sollten Sie kein Problem haben und können fortfahren

Schritt 5

Wir wählen das Laufwerk aus, auf dem wir die Dateien wiederherstellen möchten, und geben Enter ein

Schritt 6

Es ist wenig übrig!

TestDisk wählt automatisch die richtige Einstellung aus, damit Sie sich um nichts kümmern müssen.

Jetzt geben wir eine Eingabe

Schritt 7

Aufheitern! Sie sind im Begriff zu beenden, es sind nur noch 3 Schritte übrig.

Wir geben eine Eingabe in die erweiterte Option des Programms

Schritt 8

Am Ende des Programms sehen wir eine Option mit der Aufschrift "Wiederherstellen". Wir geben eine Eingabetaste ein

Schritt 9

Testdisk sucht nach den Dateien auf der Festplatte und erstellt eine Dateiliste.

Gelöschte Dateien werden rot angezeigt

Schritt 10

Wählen Sie nun mit den Pfeiltasten (nach oben und unten) die Datei oder Dateien aus, die Sie wiederherstellen möchten, und drücken Sie die Taste  , um die Datei wiederherzustellen.

Nach dem Drücken der C- Taste werden Sie von TestDisk gefragt, wo die wiederhergestellte Datei gespeichert werden soll. Standardmäßig wird sie im Startordner gespeichert.

Brillant! Wir haben unsere versehentlich gelöschte Datei bereits wiederhergestellt.

Linux, wie gelöschte Dateien wiederhergestellt werden

Haben Sie bereits gelernt, gelöschte Dateien wiederherzustellen? !! Der Prozess war einfach, oder?

Haben Sie es geschafft, Ihre Dateien wiederherzustellen? Hinterlasse einen Kommentar und wenn du ein Problem hast, werde ich dir helfen, es zu lösen.


+3 Punkte
von (79.5k Punkte)

Ausgabe
Auflösung
Ursache
Diagnoseschritte

Warum wird nach dem Löschen einer Datei in Red Hat Enterprise Linux kein Speicherplatz von der Festplatte freigegeben?

 Enterprise Linux 

Ausgabe

  • Warum wird nach dem Löschen einer Datei in Red Hat Enterprise Linux kein Speicherplatz von der Festplatte freigegeben?
  • Beim Löschen einer oder mehrerer großer Dateien wird die Datei erfolgreich gelöscht, aber die Größe des Dateisystems spiegelt die Änderung nicht wider.
  • Ich habe einige Dateien gelöscht, aber der freie Speicherplatz auf dem Dateisystem hat sich nicht geändert.
  • Das Betriebssystem hielt mehrere sehr große Protokolldateien geöffnet, von denen einige bis zu ~30 GB groß waren. Die Datei wurde zuvor gelöscht, aber nur das Stoppen und Neustarten des jvm/java-Prozesses gab den Speicherplatz frei. Der lsofBefehl zeigt die folgende Ausgabe, bevor der Java-Prozess neu gestartet wird

    COMMAND     PID      USER   FD      TYPE    DEVICE   SIZE/OFF       NODE NAME
    : 
    java      49097    awdmw   77w      REG     253,6 33955068440    1283397 /opt/jboss/jboss-eap-5/jboss-as/server/all/log/server.log (deleted)
    
  • Wenn Sie eine df ausführen, zeigt der Speicher 90+% Auslastung an, es wird jedoch nicht wirklich viel in diesen Speicherplatz geschrieben.

Auflösung

Ordentliches Herunterfahren des relevanten Prozesses

Rufen Sie zunächst eine Liste der gelöschten Dateien ab, die noch von Anwendungen geöffnet sind:

$ lsof | egrep "deleted|COMMAND"
COMMAND       PID    TID TASKCMD     USER   FD  TYPE  DEVICE    SIZE/OFF      NODE NAME
ora         25575   8194 oracle    oracle   33   REG   65,65  4294983680  31014933 /oradata/DATAPRE/file.dbf (deleted)

Hinweis: Überprüfen Sie entweder den Dateisystempfad im NAME-Feld oder die Gerätenummer unter DEVICE, um dem gewünschten Dateisystem zu entsprechen.

Die lsofAusgabe zeigt, dass der Prozess mit pid 25575die Datei /oradata/DATAPRE/file.dbfmit der Dateideskriptornummer (fd) geöffnet gehalten hat 33.

Nachdem eine Datei identifiziert wurde, geben Sie den von der Datei verwendeten Speicherplatz frei, indem Sie den betroffenen Prozess beenden. Wenn ein ordnungsgemäßes Herunterfahren nicht funktioniert, geben Sie den killBefehl aus, um es durch Verweis auf die PID.

Dateigröße kürzen

Alternativ ist es möglich, das System zu zwingen, den von einer in Gebrauch befindlichen Datei verbrauchten Speicherplatz freizugeben, indem das System gezwungen wird, die Datei über das procDateisystem zu kürzen. Dies ist eine fortgeschrittene Technik und sollte nur ausgeführt werden, wenn der Administrator sicher ist, dass dies keine negativen Auswirkungen auf laufende Prozesse hat. Anwendungen sind möglicherweise nicht so konzipiert, dass sie mit dieser Situation elegant umgehen, und können zu inkonsistentem oder undefiniertem Verhalten führen, wenn Dateien, die verwendet werden, auf diese Weise abrupt abgeschnitten werden.

$ echo > /proc/pid/fd/fd_number

Zum Beispiel aus der lsofobigen Ausgabe:

$ file /proc/25575/fd/33
/proc/25575/fd/33: broken symbolic link to `/oradata/DATAPRE/file.dbf (deleted)'
$ echo > /proc/25575/fd/33

Der gleiche Grund führt zu einer unterschiedlichen Festplattennutzung von duBefehl und dfBefehl, siehe Warum zeigt df eine größere Festplattennutzung an als du?

Um die verwendete Dateigröße (in Blöcken) zu ermitteln, verwenden Sie den folgenden Befehl:

# lsof -Fn -Fs |grep -B1 -i deleted | grep ^s  | cut -c 2- | awk '{s+=$1} END {print s}'

Ursache

Auf Linux- oder Unix-Systemen wird durch das Löschen einer Datei über rmoder über eine Dateimanageranwendung die Verknüpfung der Datei mit der Verzeichnisstruktur des Dateisystems aufgehoben ; Wenn die Datei jedoch noch geöffnet ist (von einem laufenden Prozess verwendet), ist sie für diesen Prozess weiterhin zugänglich und belegt weiterhin Speicherplatz auf der Festplatte. Daher müssen solche Prozesse möglicherweise neu gestartet werden, bevor der Speicherplatz dieser Datei auf dem Dateisystem freigegeben wird.

Diagnoseschritte

Mit Log Reaper können Sie die lsofDaten visualisieren und schnell auf genau die Teilmenge eingrenzen, die Sie sehen möchten


2.8k Fragen

3.2k Antworten

0 Kommentare

3 Nutzer

...