Weg mit dem Datenmüll – in dieser Folge geht es um die Befehle rm (für englisch remove: etwas wegnehmen, entfernen) und rmdir (für remove directory: ein Verzeichnis entfernen). Um den Frühjahrsputz, der in der letzten "Zu Befehl"-Folge angekündigt wurde, komplett zu machen, lernen Sie heute einige Tricks und Kniffe zum Löschen von Dateien und Verzeichnissen.
Sind Sie sich sicher…?
Normalerweise führt der Aufruf rm datei prompt zum gewünschten Ergebnis. Ohne den Benutzer wieder und wieder zu fragen, ob er die Datei wirklich löschen will, tut Linux das, was man ihm sagt. Unix-typisch gilt: Weg ist weg – einmal gelöschte Daten sind futsch. Möchte man daher doch lieber die Frage rm: remove `datei'? haben, hängt man an das rm einfach die Option -i dran. Wiederholung aus der letzten Folge: Statt -i kann man die lange Form --interactive verwenden und sich überlegen, ob man das Kommando in dieser Art als Alias aufnimmt (alias rm="rm -i"). Und auch hier gilt wieder: Vorsicht, wenn Sie an einem fremden System ohne die Neudefinitionen von Standardkommandos arbeiten!
Und wann fragt das System von selbst nach? Wenn es sich um als read only gekennzeichnete Dateien handelt.
huhn@huehnerstall ~ > rm datei rm: remove `datei', overriding mode 0400?
Wenn alle diese "lästigen" Abfragen aber einmal nicht gewünscht sein sollten, kann man sie mit der Erweiterung rm -f (--force) umgehen. Diese Option hebt die Wirkung des --interactive-Flags und des Schreibschutzes für Dateien auf und ist mit Vorsicht zu genießen.
Das große Reinemachen
Falls es einmal um ganze Verzeichnisse geht, die verschwinden sollen, kommt die Option -r für --recursive ins Spiel. Mit diesem Kommando putzen Sie rekursiv bis in den letzten Winkel das Verzeichnis samt aller Unterverzeichnisse leer. Ein rm -rf / von root ausgeführt heißt also nicht "read mail really fast", sondern entsorgt kurzerhand und sehr sorgfältig das komplette System.
Wem dies zu riskant ist, verwendet statt rm -r das Kommando rmdir (remove directory). Dieser Befehl löscht nur leere Verzeichnisse. Sollten sich also einmal Dateien versteckt halten, wird man gewarnt: rmdir: verzeichnis: Directory not empty.



