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

69

Ist es möglich, Dateien / Verzeichnisse, die vom Terminal gelöscht wurden, mit rmund wiederherzustellen rm -r? 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?

user3215
quelle
Tools zum Wiederherstellen gelöschter Dateien (in beliebiger Form) finden Sie unter askubuntu.com/q/3883
Decio Lira
Verwenden Sie nicht "rm", wenn Sie die Dateien in Zukunft wiederherstellen möchten. Sie können das Dienstprogramm "rm-trash" verwenden: github.com/nateshmbhat/rm-trash
Natesh bhat

Antworten:

63

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

alias rm=trash

Und das trash-cliPaket durch den followoing 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 jederzeit rmmit einer der folgenden Methoden auf den Real zugreifen :

command rm something
'rm' something
\rm something

Darüber hinaus gibt es die Mülltonne vom Endgerät für den Zugriff auf Befehle trash-list, restore-trash(oder trash-restore), trash-emptyinstallierbar von Paket trash-cli (dann ihren Mann Seiten sehen).

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

Enzotib
quelle
19
Es ist ein Workaround, aber es beantwortet die Frage nicht wirklich.
Evgeny
Ich denke, der Benutzer würde auch wissen, ob es eine Methode gibt, um dasselbe Verhalten über die Befehlszeile zu erreichen. Wenn nicht, bin ich bereit, meine Antwort zu entfernen.
Enzotib
3
Das ist gut. Ich habe einige Kenntnisse gewonnen.
User3215
27

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 ist ext3(ü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 den Standardeinstellungen installiert haben ), versuchen Sie es mit dem extundeleteProgramm.

Es gibt jedoch keine Garantie, dass Sie etwas wiederherstellen.

evgeny
quelle
Es wäre wirklich nützlich für Desktop-Editionen.
User3215
Ich bezweifle, dass dies für SSD-Laufwerke effektiv funktioniert, bin aber froh, etwas anderes zu hören
matt
13

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 man extundeletees nach der Installation auf und studieren Sie es sorgfältig.

H.-Dirk Schmitt
quelle
6

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

sudo apt-get install foremost

Öffnen /etc/foremost.confSie nun und Sie sehen eine lange Liste der auskommentierten Zeilen. 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. Überprüfen Sie dies mit dem dfBefehl)

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 mithilfe von diffoder melddie wiederhergestellten "Dateien" vergleichen und feststellen, welche am aktuellsten sind.

Reuben L.
quelle
Danke vielmals. Es hat perfekt funktioniert. Ich habe versehentlich meine phpQuelldatei rm -fr php/mit 2 phpDateien entfernt. Weniger als 2 Minuten waren sie perfekt erholt. In der .confDatei habe ich hinzugefügt:php n 40000 <?php ?> ASCII
Shakiba Moshiri
5

Wenn Sie eine Datei auf der grafischen Oberfläche löschen, wird die Datei in einem speziellen "Puffer", einem Verzeichnis mit dem Namen, "verschoben" trash. Sie finden es in Ihrem homeVerzeichnis ~/.local/share/Trash/. Dateien, die aus diesem Verzeichnis "gelöscht" wurden, werden wirklich gelöscht. Diese echte Löschung geschieht, wenn Sie rmeine 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 gelöscht wird rm, 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. Sie können ein tun file / -samefile filename. 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 rmeine Datei erstellen, 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 benutzt habe 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.

John Strood
quelle
2

Tut mir leid, 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.)

Stéphane
quelle
Oh es ist ok!. Ich dachte, es könnte von einem Ort geborgen werden.
User3215
1

Verwenden Sie das Dienstprogramm " rm-trash ", das die Dateien für den späteren Abruf in den Papierkorb legt und alle Optionen des Befehls "rm" unterstützt.

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 an, wie sie in auftreten rm
Natesh Bhat
quelle