Ein Alias in UNIX/Linux ist eine Verknüpfung, mit der Sie benutzerdefinierte Befehle erstellen oder ändern können, wie sich vorhandene Befehle verhalten. Mit dem Befehl alias können Sie einen langen Befehl abkürzen oder standardmäßig Optionen zu den Befehlen hinzufügen, sodass sie einfacher oder sicherer zu bedienen sind.
Sie müssen jedoch vorsichtig sein, wenn Sie Aliase verwenden, insbesondere wenn sie das Verhalten kraftvoller Befehle wie RM ändern, um zu vermeiden, dass schlechte Gewohnheiten zu entwickeln oder unerwartete Verhaltensweisen über verschiedene Systeme hinweg zu stoßen.
In diesem kurzen Tutorial lernen wir, warum RM zu RM -ich eine schlechte Praxis mit einem praktischen Beispiel ist . Wir werden auch die Best Practices und die sichereren Alternativen zum Befehl rm in Linux kennenlernen.
Inhaltsverzeichnis
Wenn Sie den Befehl RM auf einem UNIX/Linux -System verwenden, löscht er Dateien sofort und dauerhaft. Es ist ein leistungsstarker Befehl, der sorgfältig verwendet werden muss, um nicht versehentlich wichtige Dateien zu löschen.
Einige Leute schaffen einen Alias für RM, wie alias rm = "rm -i", um es sicherer zu machen. Dieser Alias ändert den Befehl rm, immer um Bestätigung zu bitten, bevor er etwas löscht.
Lassen Sie mich Ihnen ein Beispiel zeigen, damit Sie es besser verstehen können.
Beispiel für RM ohne Alias:
$ rm wichtig-file.txt
Dieser Befehl löscht sofort wichtige file.txt, ohne zu fragen, ob Sie sicher sind. Es ist schnell, aber riskant, wenn Sie einen Tippfehler machen oder Ihre Meinung ändern.
Beispiel für RM mit Alias (RM -I):
$ rm wichtig-file.txt
Mit dem Alias fragt dieser Befehl nun: "Entfernen Sie die reguläre Datei 'wichtige file.txt'?" Sie müssen y (ja) eingeben, um es zu löschen, oder n (nein), um zu stornieren. Es fühlt sich sicherer an, weil es einen Schritt hinzufügt, um Ihre Entscheidung zu überprüfen.
Der Alias rm = 'rm -i' ist sehr gefährlich, weil;
Grund 1 - Schlechte Gewohnheiten
Wenn Sie sich an den Befehl rm gewöhnen, der immer um Bestätigung bittet, werden Sie möglicherweise weniger vorsichtig mit der Doppelüberprüfung, welche Dateien Sie löschen.
Wenn Sie eines Tages ein Benutzerkonto ohne diesen Alias -Set verwenden, löscht RM möglicherweise sofort Dateien. Wenn Sie erkennen, was passiert, könnte es zu spät sein.
Diese Gewohnheit kann auch bei Systemen ohne diesen Alias gefährlich sein, da RM Dateien sofort löscht, ohne eine Bestätigung zu fordern.
Grund 2 - inkonsistentes Verhalten
Wenn Sie verschiedene Computer oder Systeme (wie einen Bürocomputer, einen Server oder einen Freund eines Freundes) verwenden, hat der Befehl rm möglicherweise nicht denselben Alias.
Diese Inkonsistenz kann zu Fehlern führen, bei denen Sie erwarten, dass Sie um Bestätigung gefragt werden, aber nicht zutreffen, und versehentlich etwas Wichtiges löschen.
Grund 3 - Skript- und Automatisierungsprobleme
Skripte, die RM verwenden, werden ebenfalls vom Alias betroffen. Wenn ein Skript erwartet, Dateien ohne Bestätigung zu löschen, kann der Alias dazu führen, dass es auf eine Antwort warten kann. Dies kann die Automatisierung brechen und Verwirrung verursachen.
Anstatt sich aus Sicherheit auf einen Alias zu verlassen, ist es besser, sorgfältige Gebrauchsgebrauch zu üben. Hier sind einige Tipps:
Anstatt den Standard -RM -Befehl rm -i zu alia zu machen, können Sie eine der folgenden sichereren Alternativen verwenden:
Wenn Sie einen benutzerdefinierten Alias für den Befehl rm erstellen möchten, verwenden Sie ganz einen anderen Namen, z. B. RMI oder RMCLI oder MYRM usw.
Zum Beispiel werde ich einen Alias namens RMI erstellen.
$ nano ~/.bashrc
Fügen Sie am Ende die folgende Zeile hinzu:
alias rmi = 'rm -i' '
Speichern Sie die Datei und schließen Sie sie.
Ab sofort sollten Sie den Befehl rmi zum Löschen von Dateien anstelle des Standard -RM -Standards verwenden.
$ RMI SOLDFILE.TXT
Sie werden aufgefordert, wenn Sie die Datei wirklich löschen möchten.
RM: Entfernen Sie die reguläre Datei 'seltsFile.txt'?
Drücken Sie 'y', um die Datei -Löschung zu bestätigen, oder drücken Sie 'n', um sie zu überspringen.
Das Erstellen eines separaten Alias wie alias rmi = 'rm -i' ist in der Tat ein sicherer und effektiverer Ansatz, als das Standardverhalten des RM -Befehls zu überschreiben.
Mit dieser Methode können Sie eine interaktive Löschungoption haben, ohne das grundlegende Verhalten von RM zu ändern, wodurch das Risiko von versehentlichen Deletionen aufgrund der Übersteuerung des Alias verringert wird.
Vorteile der Verwendung von alias rmi = 'rm -i' :
Hier ist der Grund, warum diese Alternative für die sicherere Löschung der Datei von Vorteil ist:
Im vorherigen Beispiel haben wir einen benutzerdefinierten Befehl namens "RMI" erstellt, der vor dem Löschen von Dateien eine Bestätigung auffordert. Alternativ können Sie ein kleines Skript schreiben, das Protokollierung enthält und Dateien in ein Müllverzeichnis für eine spätere Überprüfung oder Wiederherstellung verschiebt.
2.1. Erstellen Sie das Skript
Erstellen Sie eine Textdatei mit dem Namen RMCLI mit den folgenden Inhalten:
#!/bin/bash # RMCLI: Ein sichereres Datei -Löschenskript Trash_dir = "$ home/.trash" Log_file = "$ home/.rmcli.log" # Stellen Sie sicher, dass ein Müllverzeichnis besteht mkdir -p "$ müd_dir" # Dateien auf Müll verschieben Sie anstatt zu löschen für Datei in "$@"; Tun Zeitstempel = $ (Datum%Y-%M-%d_%H-%M-%S) Trash_path = "$ trash_dir/$ (Basisname" $ file ") _ $ timestamp" MV -v "$ file" "$ tRash_path" echo "[$ timestamp] $ file -> $ tRash_path" >> "$ log_file" Erledigt
Fühlen Sie sich frei, das Skript entsprechend Ihren Anforderungen zu ändern, z. B. das Ändern des Müllverzeichnisses oder das Protokolldateiformat. Speichern Sie die Datei und schließen Sie sie.
2.2. Machen Sie das Skript ausführbar:
Nach dem Speichern des Skripts müssen Sie es ausführbar machen. Auf diese Weise können Sie es als Befehl ausführen. Verwenden Sie dazu den Befehl chmod:
$ chmod x rmcli
2.3. Bewegen Sie das Skript an einen Ort in Ihrem Weg:
Aus Gründen der Bequemlichkeit sollten Sie das Skript an einen Ort auf dem Weg Ihres Systems verschieben, damit Sie es aus jedem Verzeichnis ausführen können. Ein allgemeiner Ort für persönliche Skripte ist/usr/local/bin:
$ sudo mv rmcli/usr/local/bin
2.4. Verwenden des Skripts:
Jetzt können Sie den Befehl rmcli genauso verwenden, wie Sie RM verwenden würden, jedoch mit den Sicherheitsfunktionen Ihres Skripts.
Zum Beispiel:
$ RMCLI SOLDFILE.TXT
Dieser Befehl verschiebt einige file.txt in das Trash -Verzeichnis, anstatt es dauerhaft zu löschen.
Beispielausgabe:
Umbenannt in 'säuglye.txt'-> '/home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59'
Sie können es überprüfen, indem Sie den Inhalt des ~/.trash -Verzeichnisses auflisten.
$ ls ~/.trash
2.5. Dateien wiederherstellen:
Um Dateien wiederherzustellen, navigieren Sie zum Müllverzeichnis (~/.trash im Beispiel) und verschieben Sie die Dateien nach Bedarf an ihren ursprünglichen Standort oder an anderer Stelle.
$ cd ~/.trash
$ mv seltsFile.txt_2024-02-28_16-53-59 ~/seltsfile.txt
2.6. Protokollierung:
Das Skript protokolliert jede "Löschung" mit einem Zeitstempel. Stellen Sie sicher, dass der im Skript angegebene Protokolldateisposition vorhanden ist oder beschreibbar ist. Sie können dieses Protokoll überprüfen, um zu sehen, welche Dateien in den Müll verschoben wurden.
$ cat $ home/.rmcli.log [2024-02-28_16-53-59] sorgeile.txt-> /home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59
Die andere sicherere Alternative zu RM verwendet einen Befehlsleitungsmüll wie Trash-Cli , der Dateien in ein Müllverzeichnis verschiebt, anstatt sie dauerhaft zu löschen. Dies ermöglicht bei Bedarf die Wiederherstellung von Dateien.
Um zu wissen, wie Sie Trash-Cli installieren und verwenden, überprüfen Sie bitte den folgenden Link:
Müllcli: Ein Befehlszeilen-Trashcan für Unix-ähnliche Systeme
Die Verwendung eines Dateisystems, das unbegrenzte Snapshots wie BTRFS (B-Tree-Dateisystem) oder ZFS (Zettabyte-Dateisystem) unterstützt, ist eine hervorragende Strategie für die Sicherung vor versehentlicher Dateilöschung oder -überschreibung.
Snapshots sind im Wesentlichen nur schreibgeschützte Kopien des Dateisystems zu einem bestimmten Zeitpunkt, sind jedoch sowohl im Bereich als auch in der Zeit sehr effizient, da sie nur die Unterschiede zum vorherigen Snapshot speichern.
So erstellen und verwalten Sie BTRFS -Schnappschüsse mit Snapper in OpenSuse
Während Aliasing RM zu RM -ich wie eine gute Sicherheitsmaßnahme scheint, kann dies zu Überbewusstsein und Fehlern in Umgebungen führen, in denen der Alias nicht festgelegt ist.
Durch die Übernahme dieser Tipps und Best Practices können Sie die Risiken, die mit der Löschung von Dateien mit dem Befehl rm auf UNIX/Linux -Systemen verbunden sind, erheblich reduzieren.
Verwandte Lesen:
Das obige ist der detaillierte Inhalt vonWarum Aliasing RM -Befehl eine schlechte Praxis unter Linux ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!