Ich wollte alle Backup-Dateien in einem Verzeichnis löschen, also wollte ich rm *~
im Terminal tippen. Leider traf ich dieEingebenvor dem Schlagen derTildeund es sind unglückliche Dinge passiert. Obwohl ich alle gelöschten Dateien wiederhergestellt habe, möchte ich wirklich nicht, dass das noch einmal passiert. Könnte ich die Ausführung eines solchen Befehls verbieten, ohne eine entsprechende Berechtigung zu erhalten, etwa die eines Superusers?
Antwort1
Ich bin kein Fan davon, eingebaute Befehle zu überschreiben, aber inmeine .bashrc(Teil vonTilde, meine „Punktdateien“) mache ich explizit Folgendes:
alias rm='rm -i';
Dies sorgt dafür, rm
dass vor dem Löschen um Erlaubnis gefragt wird. Das hat mich schon ein paar Mal gerettet. Sie können es jederzeit mit überschreiben rm -f
.
Antwort2
In Bash escape ich den rm
Befehl einfach, um die -i
Option zu überschreiben. So: \rm file*
Ich liebe diese -i
Option. Auch sie hat mich vor mir selbst gerettet.
Antwort3
Nachdem Sie sich ein- oder zweimal in den Fuß geschossen haben, lernen Sie, den Finger vom Abzug zu nehmen, bis Sie sicher sind, dass Sie richtig gezielt haben.
Mit anderen Worten: Lernen Sie, immer dann eine Pause zu machen und zu überprüfen, ob Sie es richtig gemacht haben, wenn Sie rm
mit Platzhaltern beginnen.