GNU/Linux >> Linux の 問題 >  >> Linux

rm -rf -no-preserve-root が必要なシナリオはありますか?

重要: 最新の 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


Linux
  1. 再帰的なMkdir?

  2. 必要な場所でのみChown/Speedup Chown?

  3. .bashrcはどこにありますか?

  1. Perl がデフォルトでインストールされていない Unix プラットフォームはありますか?

  2. git のようなファイル システムはありますか?

  3. Linux でシステム コール テーブルを変更する必要があるのはなぜですか?

  1. リモート システムの /var パーティションのサイズを変更する (Linux Debian Lenny)

  2. システムから最近削除されたすべてのファイルを一覧表示する UNIX コマンドはありますか

  3. Linux:スワップ ファイルを配置する場所