重要: 最新の UEFI システムはファームウェアを 06
の下にマウントします ディレクトリを作成し、OS で使用できるようにします。 このコマンドを実行しないでください 最新のシステムでは、このファームウェアが削除され、本質的にマシンがブリックされるためです。
私が考えることができる最も単純なシナリオは、ドライブからすべてのデータを削除したい人です。これを行うには完全に正当な理由がある可能性があり、私が考えることができる最も簡単な方法は
rm -rf --no-preserve-root /
これは実際には 14
の例として与えられていることがわかります :
`--no-preserve-root'
Do not treat `/' specially when removing recursively. This option
is not recommended unless you really want to remove all the files
on your computer.
もう 1 つの完全に正当な理由は、27
してマウントしたファイル システムを削除したいということです。 -ed に。その場合、39
45
でシステムを削除します
他にも考えられる理由があると確信していますが、一般的に、私のシステムで私がやりたいことを何でもできるようにすることは、非常に合理的なアプローチのようです。注意するのが私の仕事です。システムは、私がやりたいことだけを実行できるようにする必要があります。私が望むものがばかげている場合、それは私の問題であり、OS の問題ではありません。
とにかく、これは比較的新しい制限であり、POSIX 仕様の第 7 バージョン (以前のものはこちら) で追加され、その 55
より前に 完全に有効なコマンドでした。歴史的なメモでは、63
そして 70
ディレクトリは常に 85
から保護されています 、90
の 1979 年以来ずっと 最初にディレクトリを削除する機能を獲得しました。詳しくはこちら。
102
の存在 スイッチは 追加 ではありません オーバーライドする追加機能 機能の非常に正気な削減。この切り替えは、コンピューターが指示されたことを実行する必要があり、必要なアクションを表現するためにコマンドを使用できる必要があるという哲学に基づいている可能性があります。このスイッチは UEFI よりも前のものであり、私の経験に基づくと、現在は廃止されていると言えます。
現代の慣例では、このスイッチがないと、115
コマンドは、初期化されていない変数または不要なスペースを使用する場合に、ルート ディレクトリが誤って削除されるのを防ぎます。
rm -rf /${my_directory}
rm -rf / var/log/httpd/*
楽しい脚注:保護はその意図ではありませんでした。 Sun Microsystems のブログによると、121
を削除 directory は現在の作業ディレクトリを暗黙のうちに削除します。 と 142
ディレクトリ。これが、規格委員会がこの特別な例外を許可した理由です。事故を防ぐためではありません。この変更は、Solaris 10 ビルド 36 で初めて導入されました。
http://archive.is/5lmc9