Dateien gezielt löschen mit rm

Mit rm löschst Du superschnell einzelne oder mehrere Dateien. Gezielt kannst Du Dateien nach Endungen auch gleichzeitig in mehreren Unterordnern löschen. Dazu kombinierst Du rm mit dem Befehl find. Bevor Du Dateien endgültig löschst, kannst Du Dir vorher zur Sicherheit mit echo die Dateien anzeigen, die gelöscht werden.

Dateien löschen mit rm

Um eine einzelne Datei zu löschen benutzt Du den Befehl rm. Um die Datei anleitung.pdf zu löschen, musst Du Dich im dazugehörigen Ordner befinden. Anschließend tippst Du folgendes in das Terminal:

rm anleitung.pdf

Willst Du gleich mehrere Dateien löschen tippst Du einfach mehrere Dateien hintereinander ein.

rm anleitung.pdf rechnung.pdf brief.odt

rm ist super-gefährlich, weil rm Dateien endgültig löscht. rm verschiebt Dateien nicht in den Papierkorb. Dazu nutzt Du besser den Befehl mv.

Dateien vorsichtig löschen mit rm -i

rm vernichtet Dateien. Wenn Du Dir nicht sicher bist und Du lieber einzel bestätigen willst, ob eine Datei gelöscht werden soll, dann nutzt Du dafür die Option -i. Das Terminal fragt Dich dann bei jeder Datei, ob diese tatsächlich vernichtet werden soll.

Verzeichnis samt Dateien löschen mit rm -r oder sicher in den Papierkorb verschieben

Ein Verzeichnis kann nicht direkt mit dem einfachen rm-Befehl gelöscht werden. Dafür benötigst Du die Option -R bzw. -r, die auch als rekursive Option bezeichnet wird. Der Befehl rm -r weist das Terminal an, den angegebenen Ordner sowie alle darin enthaltenen Dateien und Unterordner – und zusätzlich alle Dateien oder Ordner in diesen Unterordnern – vollständig zu löschen.

Es ist wichtig zu beachten, dass dieser Vorgang irreversibel ist; einmal gelöschte Daten können nicht wiederhergestellt werden. Die Option -r ist besonders kraftvoll und effizient, kann aber auch gefährlich sein, wenn sie unachtsam verwendet wird. Aus diesem Grund ist es entscheidend, die Verwendung des Befehls sorgfältig zu planen und sicherzustellen, dass der richtige Pfad angegeben wird.

Für Fälle, in denen du nicht durch Warnmeldungen unterbrochen werden möchtest, gibt es die Option -f (force), die kombiniert mit -r als rm -rf verwendet wird. Dieser Befehl führt dazu, dass das Terminal ohne Rückfragen das angegebene Verzeichnis und dessen Inhalt löscht. Die Verwendung von rm -rf sollte mit äußerster Vorsicht erfolgen, da keine Bestätigung angefordert wird und Fehler schwerwiegende Folgen haben können.

Alternative: Verschieben in den Papierkorb

Wenn du die Daten nicht unwiderruflich löschen, sondern eine Wiederherstellungsmöglichkeit offenhalten möchtest, kannst du das Verzeichnis in den Papierkorb verschieben. Hierfür kann der Befehl mv verwendet werden. Der Papierkorb auf einem Mac befindet sich normalerweise unter ~/.Trash. Um ein Verzeichnis sicher in den Papierkorb zu verschieben, verwende den Befehl:

mv /pfad/zum/verzeichnis ~/.Trash/

Diese Methode bietet den Vorteil, dass die Daten nicht sofort gelöscht werden und du sie aus dem Papierkorb wiederherstellen kannst, falls du sie später doch noch benötigst. Es ist eine sichere Alternative zur sofortigen und unwiderruflichen Löschung mit rm -rf. Wie bei jeder Operation, die Dateien verschiebt oder löscht, solltest du sicherstellen, dass der Pfad korrekt ist, um versehentliches Verschieben oder Löschen wichtiger Daten zu vermeiden.

Ordner nach Dateien mit definierter Dateiendung durchsuchen und löschen

Damit Du Dateien mit einer definierten Dateiendung auch in Unterordnern löschen kannst, kombiniert man rm mit find. find sucht zuerst die Dateien und führt dann mit der Option exec einen Befehl aus. In unserem Fall ist das der Löschbefehl rm.

Die Formel sieht dann wie folgt aus:

find $STARTVERZEICHNIS -name ‘*.$DATEIENDUNG’ -exec echo rm -rv {} ;

Mit $STARTVERZEICHNIS definierst Du den Startpunkt der Suche, z.B. das aktuelle Verzeichnis mit ./. Die Variable $DATEIENDUNG ersetzt Du mit einer Dateiendung, z.B. .m3u (Endung für MP3-Playlist). Damit der Befehl nicht direkt alle gefundenen Dateien löscht, geben wir erst einmal das Ergebnis mit echo aus.

Bist Du mit den Ergebnissen zufrieden, löschst Du einfach echo und rm löschst unwiderruflich alle gefundenen Dateien. Die geschweifte Klammern {} stehen als Platzhalter für die von find gefundenen Dateinamen. Das Zeichen ; terminiert den von find aufzurufenden Befehl. Damit es nicht unbeabsichtigt von der Shell interpretiert wird, muss der Befehl mit \.

So löschst Du mit dem folgenden Befehl alle Dateien mit der Endung .m3u in sämtlichen Unterordnern ausgehend vom Verzeichnis, in welchem Du Dich gerade befindest. Damit der Befehl wirklich alle .m3u-Dateien löschst, musst Du noch echo entfernen.

find ./ -name ‘*.m3u’ -exec echo rm -rv {} ;

Um Dateien mit unterschiedlichen Endungen einzuschließen, kannst du die or Verknüpfung von find nutzen:

find ./ -name ‘.jpg’ -or -name ‘.jpeg’ -exec echo rm -rv {} ;