Unix/Linuxのエイリアスは、カスタムコマンドを作成したり、既存のコマンドの動作を変更したりできるショートカットです。エイリアスコマンドを使用すると、長いコマンドを省略したり、デフォルトでコマンドにオプションを追加して、使用しやすくなったり安全にしたりすることができます。
ただし、特にエイリアスがRMのような強力なコマンドの動作を変更する場合、悪い習慣を開発したり、異なるシステムで予期しない動作に遭遇したりしないようにする場合、慎重になる必要があります。
この簡単なチュートリアルでは、 RMからRM -Iをエイリアスすることが実用的な例を備えた悪い習慣である理由を学びます。また、LinuxのRMコマンドをエイリアスするためのベストプラクティスとより安全な代替案についても学びます。
目次
Unix/LinuxシステムでコマンドRMを使用すると、すぐに永続的にファイルを削除します。これは、重要なファイルが誤って削除されないように慎重に使用する必要がある強力なコマンドです。
一部の人々は、エイリアスrm = "rm -i"など、RMのエイリアスを作成して、より安全にします。このエイリアスは、RMコマンドを変更して、何かを削除する前に常に確認を要求します。
例を見せてください。そうすれば、よく理解できます。
エイリアスのないRMの例:
$ rm重要なfile.txt
このコマンドは、あなたが確信しているかどうかを尋ねることなく、重要なfile.txtをすぐに削除します。あなたがタイプミスをしたり、考えを変えたりすると、それは迅速ですが危険です。
エイリアスを備えたRMの例(RM -I):
$ rm重要なfile.txt
エイリアスを使用して、このコマンドは「通常のファイル 'faly-file.txt'を削除しますか?」と尋ねます。削除するにはy(yes)と入力するか、n(no)をキャンセルする必要があります。あなたの決定を再確認するためのステップを追加するので、それはより安全に感じます。
エイリアスrm = 'rm -i'は非常に危険です。
理由1-悪い習慣
常に確認を要求するRMコマンドに慣れた場合、削除するファイルをダブルチェックすることにあまり注意が払われる可能性があります。
ある日、そのエイリアスセットなしでユーザーアカウントを使用する場合、RMはすぐにファイルを削除する可能性があります。何が起こっているのかを理解するまでに、手遅れになる可能性があります。
この習慣は、このエイリアスなしでシステムでも危険な場合があります。これは、RMは確認を求めずにファイルをすぐに削除するためです。
理由2-一貫性のない動作
異なるコンピューターまたはシステム(オフィスコンピューター、サーバー、友人のラップトップなど)を使用する場合、RMコマンドには同じエイリアスがない場合があります。
この矛盾は間違いにつながる可能性があります。ここでは、確認を求められると予想されますが、重要なものを誤って削除します。
理由3-スクリプトと自動化の問題
RMを使用するスクリプトもエイリアスの影響を受けます。スクリプトが確認なしでファイルを削除することを期待している場合、エイリアスは応答を待っているのを止めることができます。これにより、自動化を破り、混乱を引き起こす可能性があります。
安全のためにエイリアスに頼る代わりに、慎重なコマンド使用を練習することをお勧めします。ここにいくつかのヒントがあります:
デフォルトのRMコマンドをRM -Iにエイリアスする代わりに、次のより安全な代替品のいずれかを使用できます。
RMコマンドのカスタムエイリアスを作成する場合は、RMIまたはRMCLIまたはMYRMなど、まったく別の名前を使用します。
たとえば、 RMIというエイリアスを作成します。
$ nano〜/.bashrc
最後に次の行を追加します。
エイリアスrmi = 'rm -i'
ファイルを保存して閉じます。
これからは、デフォルトの「RM」ではなく、ファイルを削除するためにRMIコマンドを使用する必要があります。
$ rmi somefile.txt
本当にファイルを削除する場合は、プロンプトが表示されます。
RM:通常のファイル「Somefile.txt」を削除しますか?
「Y」を押してファイルの削除を確認するか、「n」を押してスキップします。
エイリアスRMI = 'RM -I'などの別のエイリアスを作成することは、RMコマンドのデフォルト動作を無効にするよりも、より安全で効果的なアプローチです。
この方法により、RMの基本的な動作を変更せずにインタラクティブな削除オプションを作成することができ、エイリアスへの過度の依存による偶発的な削除のリスクを軽減できます。
エイリアスを使用することの利点rmi = 'rm -i' :
この代替案がより安全なファイルの削除に有益である理由は次のとおりです。
前の例では、ファイルを削除する前に確認を求める「RMI」と呼ばれるカスタムコマンドを作成しました。または、ロギングを含む小さなスクリプトを記述し、後でレビューまたは回復するためにファイルをゴミディレクトリに移動することもできます。
2.1。スクリプトを作成します
次の内容を含むRMCLIというテキストファイルを作成します。
#!/bin/bash #RMCLI:より安全なファイル削除スクリプト trash_dir = "$ home/.trash" log_file = "$ home/.rmcli.log" #Trashディレクトリが存在することを確認してください mkdir -p "$ trash_dir" #削除する代わりにファイルをゴミに移動します 「$@」のファイルの場合する タイムスタンプ= $(日付%y-%m-%d_%h-%m-%s) trash_path = "$ trash_dir/$(basename" $ file ")_ $ timestamp" MV -V "$ file" "$ trash_path" echo "[$ timestamp] $ file-> $ trash_path" >> "$ log_file" 終わり
Trash Directoryの場所やログファイル形式の変更など、ニーズに応じてスクリプトを自由に変更してください。ファイルを保存して閉じます。
2.2。スクリプトを実行可能にします:
スクリプトを保存した後、実行可能にする必要があります。これにより、コマンドとして実行できます。これを行うには、chmodコマンドを使用します。
$ chmod x rmcli
2.3。スクリプトをパスの場所に移動します。
便宜上、スクリプトをシステムのパスの場所に移動して、任意のディレクトリから実行できるようにする必要があります。個人的なスクリプトの一般的な場所は/usr/local/binです。
$ sudo mv rmcli/usr/local/bin
2.4。スクリプトの使用:
これで、RMを使用するのと同じように、RMCLIコマンドを使用できますが、スクリプトの安全機能を使用できます。
例えば:
$ rmcli somefile.txt
このコマンドは、somefile.txtを永久に削除するのではなく、ゴミディレクトリに移動します。
サンプル出力:
名前を変更しました 'somefile.txt' - > '/home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59'
〜/.trashディレクトリの内容をリストすることで確認できます。
$ ls〜/.trash
2.5。ファイルの回復:
ファイルを回復するには、Trash Directory(〜/.trash in the Example)に移動し、必要に応じてファイルを元の場所または他の場所に戻します。
$ cd〜/.trash
$ mv somefile.txt_2024-02-28_16-53-59〜/somefile.txt
2.6。ロギング:
スクリプトは、各「削除」をタイムスタンプでログに記録します。スクリプトで指定されているログファイルの場所が存在するか、書き込み可能であることを確認してください。このログを確認して、どのファイルがゴミに移動されたかを確認できます。
$ cat $ home/.rmcli.log [2024-02-28_16-53-59] somefile.txt-> /home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59
RMのもう1つのより安全な代替手段は、Trash-Cliのようなコマンドラインゴミ缶を使用することです。これは、ファイルを永久に削除するのではなく、Trash Directoryに移動します。これにより、必要に応じてファイルを回復できます。
Trash-Cliのインストールと使用方法を知るには、次のリンクを確認してください。
Trash-Cli:Unixのようなシステム用のコマンドラインTrashcan
BTRFS (B-Treeファイルシステム)やZFS (Zettabyteファイルシステム)などの無制限のスナップショットをサポートするファイルシステムを使用することは、偶発的なファイル削除や上書きに対して保護するための優れた戦略です。
スナップショットは、特定の時点でファイルシステムの本質的に読み取り専用コピーですが、以前のスナップショットとの違いのみを保存するため、空間と時間の両方で非常に効率的です。
opensuseでスナッパーを使用してBTRFSスナップショットを作成および管理する方法
RMからRM -Iをエイリアスすることは、良い安全対策のように思えるかもしれませんが、エイリアスが設定されていない環境での自信過剰と間違いにつながる可能性があります。
これらのヒントとベストプラクティスを採用することにより、UNIX/LinuxシステムのRMコマンドを使用した偶発的なファイル削除に関連するリスクを大幅に減らすことができます。
関連する読み取り:
以上がRMコマンドのエイリアスがLinuxで悪い練習である理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。