Zum Inhalt springen

Dateien löschen

Mit rm (Remove) werden Dateien und Verzeichnisse gelöscht.

Terminal-Fenster
rm datei.txt
rm datei1.txt datei2.txt datei3.txt # mehrere auf einmal

Ein leeres Verzeichnis lässt sich mit rmdir entfernen:

Terminal-Fenster
rmdir leerer-ordner/

Für nicht-leere Verzeichnisse ist rm -r (recursive) nötig:

Terminal-Fenster
rm -r ordner/ # Ordner und seinen gesamten Inhalt löschen
OptionBedeutung
-rRekursiv – für Verzeichnisse erforderlich
-iInteraktiv – fragt vor jedem Löschen nach
-IFragt einmal nach, wenn mehr als 3 Dateien oder rekursiv gelöscht werden
-vVerbose – zeigt jede gelöschte Datei an
-fForce – keine Fehlermeldung bei nicht-existierenden Dateien, keine Rückfrage
Terminal-Fenster
rm -ri ordner/ # rekursiv, aber mit Nachfrage bei jeder Datei
rm -Ir ordner/ # rekursiv, einmalige Sammelwarnung – guter Kompromiss

rm entfernt den Verzeichniseintrag (den Namen), der auf einen Inode zeigt. Der Inode – und damit die eigentlichen Daten auf der Festplatte – wird erst freigegeben, wenn kein Verzeichniseintrag mehr darauf zeigt und keine geöffneten Datei-Handles mehr existieren.

Das ist auch die Grundlage für Hard-Links: Solange noch ein weiterer Name auf denselben Inode zeigt, bleiben die Daten erhalten – mehr dazu im nächsten Artikel.