it-swarm.com.de

Können mit rm gelöschte Dateien / Verzeichnisse wiederhergestellt werden?

Ist es möglich, Dateien/Verzeichnisse, die vom Terminal gelöscht wurden, mit rm und rm -r wiederherzustellen? Wenn eine Datei von der grafischen Oberfläche gelöscht wird, kann sie möglicherweise aus dem Papierkorb wiederhergestellt werden. Wie können Sie eine Datei wiederherstellen, wenn sie mit dem Dienstprogramm rm entfernt wird?.

69
user3215

Zu diesem Zweck verwende ich das trash-cli -Paket und den folgenden Alias ​​in meinem ~/.bashrc

alias rm=trash

Das Paket trash-cli kann mit dem folgenden Befehl installiert werden: Sudo apt-get install trash-cli.

Die Dateien, die Sie entfernen, werden in den Papierkorb verschoben, und Sie können sie im Mülleimer von Nautilus sehen.

Sie können immer mit einer der folgenden Methoden auf das echte rm zugreifen:

command rm something
'rm' something
\rm something

Es gibt auch Befehle für den Zugriff auf den Papierkorb über das Terminal trash-list, restore-trash (oder trash-restore), trash-empty, die über das Paket trash-cli installiert werden können (siehe die entsprechenden Manpages).

Letzter Hinweis: Es ist nicht ratsam, einen solchen Alias ​​für Superuser zu verwenden, da dies den Systembetrieb stören kann.

63
enzotib

Wenn Sie es aus dem Terminal löschen, wird es dauerhaft gelöscht - die Wiederherstellung ist sehr schwierig und manchmal unmöglich.

Wenn Ihr Partitionstyp ext3 ist (überprüfen Sie ihn mit dem System->Administration->Disk Utility), schauen Sie sich ext3undel an.

Wenn dies nicht der Fall ist (wenn Sie Ubuntu mit Standardeinstellungen installiert haben), versuchen Sie es mit dem Programm extundelete.

Es gibt jedoch keine Garantie, dass Sie etwas wiederherstellen.

27
evgeny

Sie suchen nach: extundelete - Dienstprogramm zum Wiederherstellen gelöschter Dateien von der ext3/ext4-Partition

Um ein solches Paket zu finden, können Sie versuchen: _apt-cache search undelete_

Um das Dienstprogramm zu verwenden, installieren Sie es mit: _Sudo apt-get install extundelete_

Rufen Sie nach der Installation man extundelete auf und studieren Sie es sorgfältig.

13
H.-Dirk Schmitt

Nur als Alternative, wenn Sie genau wissen, um welchen Dateityp es sich handelt ...

Sudo apt-get install foremost

Öffnen Sie nun /etc/foremost.conf und Sie werden eine lange Liste auskommentierter Zeilen sehen. Wenn Ihr Dateityp vorhanden ist, kommentieren Sie die Zeile aus (möglicherweise möchten Sie auch die irrelevanten Zeilen entfernen).

Wenn Ihr Dateityp nicht existiert, fügen Sie Ihre eigene Zeile hinzu. Angenommen, ich möchte eine CSS-Datei wiederherstellen und weiß, dass sie etwa 40 KB groß ist. Ich könnte das hinzufügen:

css     n       40000   Theme\sName:     Plugin\sFixes

Die zweite Spalte bezieht sich auf die Groß- und Kleinschreibung, die dritte auf die Obergrenze der Größe, die vierte auf den Beginn der Datei (escape-Zeichen) und die letzte auf das Ende der Datei.

Verwenden Sie den folgenden Befehl (bearbeiten Sie den Datenträger entsprechend. Dies kann mit dem Befehl df überprüft werden.)

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

Als Nächstes wird in erster Linie ein Ordner mit dem Namen output erstellt, in dem alle wiederhergestellten Daten (in diesem Fall) gespeichert werden. Von dort aus können Sie diff oder meld verwenden, um die wiederhergestellten 'Dateien' zu vergleichen und festzustellen, welche am aktuellsten sind.

6
Reuben L.

Wenn Sie eine Datei auf der grafischen Benutzeroberfläche löschen, wird die Datei in ein spezielles Verzeichnis namens trash verschoben. Sie finden es in Ihrem home Verzeichnis, ~/.local/share/Trash/. Dateien, die aus diesem Verzeichnis "gelöscht" wurden, werden wirklich gelöscht. Diese echte Löschung geschieht, wenn Sie rm für eine Datei verwenden.

Es ist sehr schwer, gelöschte Dateien wiederherzustellen. Dateien im Dateisystem werden als Knoten in einem B-Baum oder dergleichen dargestellt. Wenn eine Datei mit rm gelöscht wird, wird der Baum aktualisiert, die Anzahl der Hardlinks reduziert und der entsprechende Eintrag in der Verzeichnisliste entfernt. Wenn Ihre Datei überhaupt einen festen Link hatte, ist Ihre Datei absolut sicher. Du kannst einen file / -samefile filename machen. Sie können die Datei durchsuchen, wenn Sie sich auch an die Inode-Nummer erinnern (dies ist kaum der Fall).

Ein anderer Fall ist, wenn keine der oben genannten Möglichkeiten zutrifft. Immer wenn Sie eine Datei rm, wird der Dateieintrag im Verzeichnis entfernt, wodurch die Anzahl der Hardlinks um eins verringert wird. Wenn die Anzahl der Hardlinks auf Null sinkt, wird der Zeiger auf die Datei auf dem Inode gelöscht oder zum Löschen markiert. In jedem Fall befindet sich Ihre Datei "noch" auf der Festplatte. Die Datei wird tatsächlich nur bei der nachfolgenden erneuten Bereitstellung von der Festplatte gelöscht. Die Wiederherstellung von Dateien zu einem solchen Zeitpunkt ist äußerst schwierig. Hierzu müssen der Dateisystembaum und die Inodes durchsucht werden, die die tatsächlichen Speicherorte der Festplattenblöcke darstellen. Es gibt ein beliebtes Tool, von dem ich gehört habe, das ich aber noch nie verwendet habe. Es heißt extundelete. Obwohl es keine Garantie gibt, lohnt es sich, es zu versuchen.

Wenn Sie Ihre Dateien erfolgreich wiederhergestellt haben oder nicht, beeilen Sie sich mit regelmäßigen Sicherungen. Unter Ubuntu ist das ganz einfach.

5
John Strood

Entschuldigung, aber Dateien, die von einer Befehlszeile mit "rm" und "rm -f" gelöscht wurden, umgehen den "Papierkorb", den Sie auf dem Gnome-Desktop haben.

Vielleicht möchten Sie auch fragen, ob es extfs-Tools zum "Wiederherstellen" gibt, wie es sie für FAT und NTFS gibt. (Ich kenne keine, aber ich wäre überrascht, wenn es keine gäbe.)

2
Stéphane

verwenden Sie das Hilfsprogramm "rm-trash", das behandelt, dass sie für den späteren Abruf in den Papierkorb verschoben werden. Es unterstützt alle Optionen des Befehls "rm".

Sudo add-apt-repository ppa:nateshmbhat/rm-trash
Sudo apt-get update
Sudo apt-get install rm-trash

"rm-trash" ist

  • soll anstelle von rm verwendet werden
  • behandelt alle Optionen, die rm annehmen kann
  • behandelt die Kollisionen von Dateinamen mit den Dateien, die sich bereits im Papierkorb befinden
  • behandelt einige Berechtigungsprobleme automatisch
  • wird rm von einem anderen Skript oder indirekt aufgerufen, wird automatisch der Systembefehl 'rm' verwendet
  • zeigt die entsprechenden Fehlermeldungen, wie sie in rm auftreten
1
Natesh bhat