Löscht man eine Datei oder einen Ordner in der Shell mittels rm, dann ist diese(r) für immer Geschichte. Das Wiederherstellen von Daten von mit ext3/4 und Co. formatierten Platten ist meist recht aufwändig. Nicht ohne Grund gibt es daher in den großen Desktopumgebungen Mülleimer, aus denen sich heraus gelöschte Dateien ohne große Probleme Wiederherstellen lassen. Wer öfters mal im Terminal arbeitet, der kann mit dem Paket trash-cli den ganz normalen Müll der Desktopumgebung (egal ob GNOME, KDE oder Xfce) auch aus der Shell heraus verwenden.

Um den „Desktop-Müll“ aus dem Terminal heraus zu verwenden müsst Ihr das Paket trash-cli installieren. In Debian und Ubuntu findet Ihr trash-cli in den Paketquellen. Ich denke dass sich das Paket auch bei Fedora und OpenSUSE finden lassen müsste…

$ sudo apt-get install trash-cli

Nach der Installation des Pakets seid Ihr eigentlich schon fertig. Anstatt rm könnt Ihr nun trash zum Löschen einer Datei und/oder von Verzeichnissen verwenden. Weitere Befehle listen den Inhalt des Mülls auf oder stellen gelöschte Dateien wieder her.

# Ein paar Dateien erzeugen...
$ touch example1.txt example2.txt example3.txt

# Ab in den Müll damit...
$ trash example1.txt example2.txt

# Müll auflisten lassen...
$ list-trash
2010-07-30 23:00:54 /home/foo/tmp/test_trash/example2.txt
2010-07-30 23:00:54 /home/foo/tmp/test_trash/example1.txt

# Datei wiederherstellen...
$ restore-trash 
   0 2010-07-30 23:00:54 /home/foo/tmp/test_trash/example2.txt
   1 2010-07-30 23:00:54 /home/foo/tmp/test_trash/example1.txt
What file to restore [0..1]: 1

# Ist sie auch wirklich da...
$ ls
example1.txt  example3.txt

Nach dem Löschen einer Datei mittels trash findet Ihr sie in eurem Mülleimer wieder. Generell würde ich persönlich trash nur dann Verwenden, wenn ich Daten aus meinem Homeverzeichnis heraus lösche. Bei einem sudo trash /usr/foo/… landen Dateien im Müll, zu denen man gar keine Rechte hat…

Gelöschte Dateien landen im Müll

Von daher würde ich persönlich auch rm nicht über ein Alias ersetzen, sondern rm noch in seiner ursprünglichen Funktion erhalten. Nicht dass man irgendwann eine „böse“ Überraschung erlebt.

Vorheriger ArtikelHeiße Eisen: Einloggen per Gesichtserkennung
Nächster ArtikelBewegter Mockup der GNOME Shell
Hallo, ich bin Christoph - Linux-User, Blogger und pragmatischer Fan freier Software. Wie ihr ohne Zweifel bemerkt haben solltet, schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Twitter oder natürlich dem Blog folgen.

7 Kommentare

  1. Wenn man noch einen symbolischen Link mit dem Namen rm auf trash ins bin Verzeichnis des Benutzerordners macht, muss man sich nicht mal umgewöhnen!

    cd ~/bin
    ln -s /usr/bin/trash rm

    • Hallo Pita, dafür würde ich keinen symbolischen Link, sondern – wie gesagt ein Alias verwenden. Wenn du deinen Symlink verwendest, dann würden auch Skripte (bspw. die Paketverwaltung trash verwenden, das kann/könnte böse folgen haben. Aber ich würde auch nicht rm ersetzen, sondern trash und rm bewusst einsetzen.

  2. Laut der Webseite des Machers:
    Don’t use apt-get, this would install a very old version of trash-cli that contain a serious bug that could destroy your data. I asked Debian to update theirs package but without luck.

    Ich habe mir die aktuelle Version (http://code.google.com/p/trash-cli/wiki/Download) 0.11.2 (stable) installiert, diese enthält zusätzlich den Befehl trash-empty <days> womit es möglich ist den Trash zu leeren. Das war mir mit der Version in den Quellen nicht möglich.

    In 0.11.2 ist allerdings der Befehl trash-put <datei> um Dateien in den Müll zu verschieben. Näheres steht aber auf der Entwickerleiste.

    Allerdings ist auch die als stable deklarierte Version 0.11.2 von April 2009, also auch schon ein ganzes Weilchen her.

    Grüße, Klotz

  3. Laut der Webseite des Machers:
    „Don’t use apt-get, this would install a very old version of trash-cli that contain a serious bug that could destroy your data. I asked Debian to update theirs package but without luck.“

    Ich habe mir die aktuelle Version (http://code.google.com/p/trash-cli/wiki/Download) 0.11.2 (stable) installiert, diese enthält zusätzlich den Befehl „trash-empty <days>“ womit es möglich ist den Trash zu leeren. Das war mir mit der Version in den Quellen nicht möglich.

    In 0.11.2 ist allerdings der Befehl „trash-put <datei>“ um Dateien in den Müll zu verschieben. Näheres steht aber auf der Entwickerleiste.

    Allerdings ist auch die als stable deklarierte Version 0.11.2 von April 2009, also auch schon ein ganzes Weilchen her.

    Grüße, Klotz

    • Hallo Markus, ich bin mir auch nicht ganz sicher wie aktuell die von Ubuntu ausgelieferte Version von trash-cli ist, bzw. wie aktuell der Patch-Stand ist. Bislang konnte ich allerdings noch keine Probleme feststellen.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein