web-dev-qa-db-ja.com

デフォルトで書き込み不可のファイルを削除しないrmの背後にある考え方は何ですか?

デフォルトで書き込み不可のファイルを削除しないrmの背後にある考え方は何ですか?現在のユーザーに対して書き込み不可のファイルであるファイルを削除したいが、ディレクトリに対する書き込み権限がある場合は常にこの警告が表示され、削除を確認するために「y」を押す必要があります。

rm: remove write-protected regular file 

なぜ書き込み不可能なファイルがそのような特別な方法で扱われるのでしょうか。私の頭に浮かぶのは、そのようなファイルは通常、暗号化されたパスワードなどのユーザーシークレットデータを含むユーザー設定ファイルであるため、削除する前にrmが警告することです。さて、本当の理由は何ですか?

13
user1042840

この場合、UNIXの動作は直感に反するためです。多くの人々は、ファイルを読み取り専用にマークし、誰かがそれを削除できることに驚いています。ファイルを削除するには、含まれているディレクトリへの書き込み権限のみが必要です。 rmは、それが読み取り専用であることで保護されることを望んでいた場合に備えて、礼儀としてあなたに求めています。

-f(force)を使用すると、困ることなく実行できます。ただし、慎重に使用してください。

16
kurtm

書き込まれないように設定されているので、プロンプトを出すのは正しいと思います。書き込み不可能なファイルを削除する場合は、実際にはそのファイルに書き込んでいます。プロンプトを表示したくない場合は、常にrmが実際にはrm -fであるというエイリアスを作成できます。

0
Jeight