Wie oft ist es einem schon passiert: „rm -rf *“ und schon sind die Dateien futsch. Gegen diese Wildcard-Killer ist jedoch ein Filesystem-Kraut gewachsen: Die „-i“ Datei. Wie funktioniert es?

Die Shell löst beim „*“ alle Dateien des aktuellen Verzeichnisses auf, dann wird die Argumentenliste an den „rm“-Befehl weitergeleitet. Die erste Datei heißt wird dabei nach „-i“ aufgelöst, was für das „rm“-Kommando interaktives Löschen bedeutet. Eine solche Datei im Root- und im Home-Verzeichnis schützt vor so manchem Datenverlusst.

Eine solche „-i“-Datei lässt sich jedoch nicht so einfach erzeugen. Zum Beispiel „touch -i“ funktioniert nicht. Man kann die Datei aber über „touch ./-i“ anlegen und über „rm ./-i“ löschen.

4 thoughts on “Dateien gegen versehendliches Löschen schützen

    1. Der Alias ist auch eine gute Idee, hat aber einige Probleme. Bei externen Datenträgern, die zwischen verschiedenen Rechnern bzw. Usern geteilt werden, funktioniert das so nicht. Zusätzlich muss man darauf achten bei Skripten diesen Alias auszunehmen, denn da möchte man ja eben nur in Ausnahmefällen eine interaktive Aufforderung. Danke übrigens für den Link auf explainshell.com – das kannte ich noch nicht 🙂

    1. Ist mir bekannt, geht aber nur mit Dateisystemen, die Attribute in der Art unterstützen. Oftmals ist das Ändern der Dateiattribute auch nicht gewünscht. Das -i ist aus meiner Sicht ein wirksamer Wildcard-Schutz. Selbstverständlich funktioniert dies nur bei Kommandos, die auch einen -i aka Interactive-Switch besitzen. Also alles sehr einsatzspezifisch, aber nicht weniger praktisch. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Name *

14 + 4 =