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 vonrmsteuern.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
| Option | Beschreibung |
|---|---|
-d | Leere Verzeichnisse löschen |
-r | Rekursiv löschen (Verzeichnisse mit Inhalt) |
-i | Vor jeder Datei nachfragen |
-I | Einmal nachfragen bei mehr als drei Dateien |
-f | Keine Rückfragen, fehlende Dateien ignorieren |
-v | Gelö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.