Aktivierung einer Bestätigung beim Löschen von Dateien & Ordner mit dem Befehl rm
Die meisten Befehlszeilenbenutzer wissen, dass der „rm“-Befehl zum Entfernen und Löschen von Dateien ziemlich leistungsfähig ist und in der Lage ist, nahezu jede vorstellbare Datei innerhalb des Dateisystems zu löschen – ob sie entfernt werden sollte oder nicht. Sobald Sie Platzh alter und sudo hinzugefügt haben, sind rm und srm exponentiell potenter und potenziell gefährlicher, sodass fortgeschrittene Benutzer, die der rm-Funktion eine Sicherheitsebene hinzufügen möchten, einen Bestätigungsdialog mit den Befehlen rm und srm aktivieren können.Dies bietet auch einen hilfreichen Schutzmechanismus für diejenigen, die die Befehlszeile lernen und eine Überprüfungsebene zwischen dem sofortigen Löschen von Dateien und ihrer Befehlsausführung platzieren möchten.
Dieser Trick besteht aus zwei Teilen, der erste ist einfach, das richtige Flag zu kennen, um eine Bestätigung zu aktivieren und zu verwenden, bevor eine Datei oder ein Ordner mit rm gelöscht wird, und der zweite verwendet einen Alias, um das oben Genannte zu erreichen entfernen mit Bestätigung in die neue Standardoption für den Befehl rm. Beide Tricks funktionieren in Mac OS X, Linux und den meisten anderen Unix-Varianten, sodass es weitgehend betriebssystemunabhängig ist und auch mit dem leistungsstarken Befehl srm secure remove funktioniert. Dies richtet sich offensichtlich an fortgeschrittene Benutzer, die mit der Befehlszeile vertraut sind, da die Verwendung von rm und srm keine geeigneten Tools für Anfänger sind.
Verwenden des rm-Befehls mit Bestätigung vor dem Löschen von Dateien und Ordnern
Die Syntax zum Aktivieren einer Bestätigung vor dem Entfernen von Dateien mit rm (oder srm) ist einfach ein Flag -i, das so verwendet wird:
rm -i Dateiname
Wenn Sie beispielsweise eine Datei mit dem Namen „theSampleFile.zip“ löschen und vor dem Entfernen des Befehls eine Bestätigung wünschen, verwenden Sie die folgende Syntax:
rm -i die Beispieldatei.zip
Sobald Sie die Eingabetaste drücken, werden Sie gefragt, ob Sie den betreffenden Dateinamen entfernen möchten oder nicht, wobei der Befehl die genaue Datei wiederholt, bevor er sie wie folgt löscht:
% rm -i theSampleFile.zip theSampleFile.zip entfernen? y
Das Drücken von 'y' und Return antwortet mit einem 'yes', um die Datei zu löschen, und das Drücken von 'n' und der Return-Taste antwortet mit einem no und die Datei wird nicht entfernt.
Die rm -i-Syntax funktioniert sogar mit -r, um eine Bestätigung zu erh alten, bevor Verzeichnisse und Dateiinh alte enth altener Unterordner rekursiv gelöscht werden:
rm -ir /Beispiel/Ordner/
Auch hier müssen Sie ein y oder n eingeben, bevor der Befehl für jede einzelne Datei im Verzeichnis ausgeführt wird.
Das gleiche Bestätigungsdialogfeld mit srm verwendet auch das Flag -i:
srm -i /Example/file.zip
Auch hier verwenden Sie die Tasten y und n, um das Entfernen bestimmter Dateien zu bestätigen oder abzulehnen.
So aktivieren Sie standardmäßig eine „rm“-Befehlsbestätigung mit einem Alias
Öffnen Sie Ihr .bash_profile oder .profile und Sie können einen Alias wie diesen erstellen, um die standardmäßige 'rm'-Syntax in 'rm -i' als neuen Standard zu ändern.
alias rm='rm -i'
Sie können die gleiche Art von Alias mit srm wie folgt erstellen:
alias srm='srm -i'
Es reicht aus, beide zu eindeutigen Zeilen innerhalb des Profils hinzuzufügen. Wenn Sie dann die Shell aktualisieren, können Sie auf beide über bash, zsh, tcsh oder die von Ihnen verwendete Shell zugreifen.
Haben Sie weitere Tipps für Fortgeschrittene zum Schutz von rm und srm in der Befehlszeile, bevor Sie Dateien entfernen? Lass es uns in den Kommentaren wissen. Und wenn Sie nur wollen .