rm

Einer der drei am häufigsten benutzten Befehle der Linux-Kommandozeile ist der Befehl rm, der Dateien löscht und, mit der Option "-r", auch Verzeichnisse mit enthaltenen Dateien rekursiv entfernen kann. Das lässt schon erahnen, dass der rm-Befehl ein sehr effizientes Werkzeug zum Löschen von Daten ist, und Sie ihn mit einer gewissen Vorsicht benutzen sollten. Zum Glück können Sie die Gefährlichkeit des Kommandos rm, mit ein paar kleinen Kniffen und Kenntnissen, deutlich reduzieren, ohne diesem Werkzeug die Schärfe zu nehmen.

Der Befehl rm arbeitet normalerweise, wie die meisten Kommandozeilen-Tools bei Unix-kompatiblen Betriebssystemen wie Linux, ohne jede Rückmeldung. Das hat zwei wichtige Gründe. Erstens verlangsamen Ausgaben den Programmablauf, und zweitens können Sie mit diesen kleinen Programmen, mit wenig Aufwand, häufiger vorkommende Aufgaben automatisieren, indem sie die Befehle in Shell-Skripte schreiben. In einem solchen Skript sind Rückmeldungen der einzelnen Befehle im Allgemeinen störend und müssten jedes Mal unterdrückt werden. Deshalb machen Unix-Tools normalerweise keine Ausgaben, die nur der Information des Benutzers dienen würden.

Allerdings haben die meisten GNU-Tools - eine Neuimplementation der Unix-Tools, die unter Linux verwendet wird - eine Option "-v" mit der Sie die "Gesprächigkeit" (englisch: Verbosity) des Programms erhöhen können. Ein "rm -v" zeigt den Namen jeder Datei an, bevor sie gelöscht wird. Falls Sie sich vertippt haben, können Sie jetzt sehen, wenn falsche Dateien gelöscht werden und den Schaden begrenzen, indem Sie den rm Befehl durch Drücken der Tastenkombination Strg-C abbrechen. Einige Dateien sind dann natürlich schon verloren und darum findet man häufig die radikale Lösung, dem Befehl rm zwangsweise die Option "-i" mitzugeben. Dazu wird rm als Alias für das Kommando "rm -i" definiert.

Die Option "-i" veranlasst rm vor jeder Datei nachzufragen, ob sie tatsächlich gelöscht werden soll. Das wird schnell nervig und der Alias "rm=rm -i" führt meist dazu, dass Sie zum Löschen mehrerer Dateien gleich die Option "-f" angeben, die diese Rückfragen wieder unterdrückt. Ein Kommando "rm -f" ist aber noch gefährlicher als der Befehl ohne Optionen, da hiermit auch schreibgeschützte Dateien ohne Rückfrage gelöscht werden. Der Alias "rm=rm -i" bewirkt hier also genau das Gegenteil dessen, was er erreichen soll.

Eine bessere Lösung (die besonders Einprägsam ist, wenn Sie die DOS-Kommandozeile, beispielsweise von Windows her, kennen) bekommen Sie, wenn Sie sich zwei Aliase definieren. Einmal "rm=rm -v" und dann "del=rm -i". Dann können Sie normalerweise "del" verwenden, und werden vor dem Löschen noch einmal gefragt, und nur wenn Sie viele Dateien entfernen wollen, nehmen Sie den rm Befehl, der Ihnen dann aber noch anzeigt, was er löscht.

Zum Entfernen unbenutzter Verzeichnisse können Sie schließlich noch den Befehl rmdir verwenden. Dieser beseitigt nämlich nur leere Verzeichnisse, ein versehentliches Löschen von Dateien ist hier ausgeschlossen.

Montag, 26 März 2012 Posted in Linux Befehle FAQ
  • Sie haben Fragen?
    Tel.: 06181 - 502 30 10
    E-Mail: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

K

o

n

t

a

k

t