Der Befehl rm löscht Dateien und Verzeichnisse dauerhaft vom Dateisystem. Im Gegensatz zum Papierkorb auf grafischen Oberflächen gibt es hier keine einfache Wiederherstellung.

Syntax

rm [OPTIONEN] DATEI...
  • OPTIONEN - Flags, die das Verhalten von rm steuern.
  • DATEI - Eine oder mehrere Dateien oder Verzeichnisse, die gelöscht werden sollen.

Dateien löschen

Im einfachsten Fall übergibst du rm den Namen der Datei, die du löschen möchtest:

rm dokument.txt

Der Befehl löscht die Datei ohne Rückfrage und gibt bei Erfolg keine Ausgabe aus. Fehlt dir die Schreibberechtigung für das übergeordnete Verzeichnis, erhältst du die Fehlermeldung „Operation not permitted".

Bei schreibgeschützten Dateien fragt rm vor dem Löschen nach:

rm: Schreibgeschützte reguläre Datei 'config.bak' löschen?

Bestätige mit y und Enter, um die Datei zu entfernen.

Mehrere Dateien löschen

Übergib mehrere Dateinamen durch Leerzeichen getrennt:

rm datei1.txt datei2.txt datei3.txt

Mit Wildcards löschst du mehrere Dateien nach einem Muster. Dieser Befehl entfernt alle PNG-Dateien im aktuellen Verzeichnis:

rm *.png

Prüfe vorher mit ls *.png, welche Dateien betroffen sind.

Verzeichnisse löschen

Standardmäßig entfernt rm keine Verzeichnisse. Für leere Verzeichnisse verwende die Option -d:

rm -d leeres_verzeichnis

Für Verzeichnisse mit Inhalt brauchst du die Option -r (rekursiv). Damit werden das Verzeichnis und alle enthaltenen Dateien und Unterverzeichnisse gelöscht:

rm -r projektordner

Vorsicht: Dieser Befehl löscht den gesamten Verzeichnisbaum ohne weitere Rückfrage.

Wichtige Optionen

Bestätigung vor dem Löschen mit -i

Die Option -i fragt vor jeder einzelnen Datei nach Bestätigung:

rm -i *.log

Ausgabe:

rm: Reguläre Datei 'error.log' löschen? y
rm: Reguläre Datei 'access.log' löschen? n

Bei vielen Dateien ist die Option -I praktischer. Sie fragt nur einmal, wenn mehr als drei Dateien oder ein rekursives Löschen ansteht:

rm -I backup_*.tar.gz

Ausgabe:

rm: 7 Argumente löschen? y

Ausführliche Ausgabe mit -v

Die Option -v (verbose) zeigt jede gelöschte Datei an:

rm -v alte_daten.csv

Ausgabe:

Entferne 'alte_daten.csv'

Erzwungenes Löschen mit -f

Die Option -f unterdrückt alle Rückfragen und ignoriert nicht existierende Dateien:

rm -f temporaere_datei.tmp

Diese Option ist nützlich in Skripten, wo keine interaktive Bestätigung möglich ist.

Die Kombination rm -rf

Die Optionen -r und -f werden häufig kombiniert, um Verzeichnisse ohne Rückfragen zu löschen:

rm -rf build_output/

Vorsicht: Diese Kombination löscht alles im angegebenen Pfad unwiderruflich. Ein Tippfehler kann zu erheblichem Datenverlust führen. Prüfe den Pfad sorgfältig, bevor du den Befehl ausführst.

Übersicht der Optionen

OptionBeschreibung
-dLeere Verzeichnisse löschen
-rRekursiv löschen (Verzeichnisse mit Inhalt)
-iVor jeder Datei nachfragen
-IEinmal nachfragen bei mehr als drei Dateien
-fKeine Rückfragen, fehlende Dateien ignorieren
-vGelöschte Dateien anzeigen

Zusammenfassung

Der Befehl rm entfernt Dateien und Verzeichnisse dauerhaft. Anders als der grafische Papierkorb bietet die Kommandozeile keinen einfachen Weg zur Wiederherstellung. Verwende bei wichtigen Löschvorgängen die Option -i zur Bestätigung oder prüfe vorher mit ls, welche Dateien betroffen sind.

Verwandte Artikel