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 {} ;