Durch den Artikel unter https://itsfoss.com/sudo-rm-rf/ bin ich ins Grübeln gekommen. Ich habe nämlich eine Abneigung gegen den -f
Parameter von rm
. Aber warum, und was meine ich mit der Überschrift?
Die Überschrift greift einen alten Scherz auf. Beim Einloggen auf einem Linux-System wird man gelegentlich auf ungelesene Mails hingewiesen, gerne an den User root adressiert. Neulinge kann man gut foppen indem man ihnen sagt dass die das per “Read Mail Real Fast Root” Kommando machen soll, oder eben per rm -rf /
– Naive Anfänger löschen damit ihre Root-Partition, in früheren Zeiten wäre man gelegentlich durch ein gemountetes /cdrom
gerettet worden…
Was mich aber an dem eigentlichen Problem stört, ist, dass Neulinge von Linux-Distributionen früh an den -f
Parameter (--force
) gewöhnt werden. Diese Distributionen misstrauen dem User nämlich und setzen einen Alias für rm auf rm -i
, was bei JEDER. EINZELNEN. DATEI. fragt ob man sie denn wirklich ehrlich und in echt löschen will. Das nervt relativ schnell, und verleitet zur “Lösung” den -f
Parameter zu verwenden.
Anstatt sich ein rm -f
anzugewöhnen, und zum Löschen von Verzeichnissen rm -rf
zu verwenden, empfehle ich das Entfernen des Aliases. Dann macht ein rm
genau das was es soll, es löscht Dateien, und fragt in Sonderfällen nach. Will ich ein Verzeichnis löschen ist es meist ohnehin bereits leer und ich kann rmdir verwenden. Und sollte ich mich vertan haben, muss ich auf das hoffentlich vorhandene Backup zurückgreifen.
Die “nukleare Option” rm -rf
nutze ich also nicht aus Gewohnheit, sondern immer nach einer Abwägung ob das jetzt wirklich sein muss. Und wenn, dann mache ich erst ein ls -la dasmusswech
um mich zu vergewissern was ich lösche. Und dann gebe ich rm -rf
ein, gefolgt von ALT+.
– damit hole ich das Argument des letzten Befehls aus der History und kann gar nicht das falsche Verzeichnis löschen.