Best Practices zum Aliasing des RM-Befehls und zur Erhöhung seiner Sicherheit

Best Practices zum Aliasing des RM-Befehls und zur Erhöhung seiner Sicherheit

Vor einiger Zeit habe ich versehentlich meinen Home-Ordner gelöscht, weil ich ihn rm -rf *auf dem falschen Terminal ausgeführt habe, dessen Arbeitsverzeichnis der Home-Ordner war!

Ich wünschte, ich hätte einen Alias ​​für den rmBefehl, aber das war nicht der Fall.

Jetzt plane ich, ein Skript als Alias ​​für zu erstellen rm.

Können Sie Best Practices vorschlagen?

Danke.

Antwort1

Wenn Sie ein individuelles wünschen rm, geben Sie ihm nicht rmden Namen, sondern einen Ihrer Wahl, myrm, deleteoder was auch immer.

Der rm='rm -i'Alias ​​ist ein Horror, denn nach einer Weile der Nutzung erwarten Sie, rmdass Sie standardmäßig aufgefordert werden, Dateien zu löschen. Natürlich werden Sie es eines Tages mit einem Konto ausführen, für das dieser Alias ​​nicht festgelegt ist, und bevor Sie verstehen, was los ist, ist es zu spät.

In jedem Fall sind Backups eine gute Möglichkeit, sich auf den Verlust oder die Beschädigung von Dateien vorzubereiten.

Eine schnelle Alternative, die Sie vor versehentlichem Löschen oder Überschreiben von Dateien schützt, ist die Verwendung eines Dateisystems, das unbegrenzte Snapshots unterstützt, wie ZFS. Wenn häufige Snapshots automatisch erstellt werden, können Sie die Dateien in dem Zustand wiederherstellen, in dem sie sich beim letzten Snapshot vor dem Vorfall befanden.  

Antwort2

Wenn Sie Aliase speichern möchten, aber nicht riskieren möchten, sich daran zu gewöhnen, dass die Befehle auf Ihrem System anders funktionieren als auf anderen, können Sie dies rmwie folgt deaktivieren

alias rm='echo "rm is disabled, use remove or trash or /bin/rm instead."'

Dann können Sie Ihren eigenen sicheren Alias ​​erstellen, zB

alias remove='/bin/rm -irv'

oder verwenden Sie trashstattdessen.

Antwort3

Sie könnten es mittrashstattdessen. Denken Sie nur daran, es ab und zu zu leeren ...

Antwort4

Ich verwende das folgende Skript.

#!/bin/sh

trash=$HOME/tmp
mv "$@" $trash
nohup find "$trash" -type f -atime +7 -exec /bin/rm '{}' \; 2>&1 &

Wenn Sie eine Datei versehentlich löschen, können Sie sie aus dem wiederherstellen $HOME/tmp.

Das Skript verschiebt gelöschte Dateien in ein tmpVerzeichnis und löscht diese beim nächsten Durchlauf des Löschskripts, wenn der Zugriffszeitpunkt 7 Tage später liegt (halbautomatische Bereinigung des $HOME/tmpVerzeichnisses).

verwandte Informationen