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


13

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

rm: remove write-protected regular file 

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

回答:


16

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

-f(force)を使用すると、あなたを困らせることなくそれを行います。ただし、慎重に使用してください。


「rm -rf *」と入力するときは注意してください。
ChuckCottrill 2013年

4
私の友人はそれを「Read Mail Real Fast」と呼んでいます。:)
kurtm 2013年

0

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


正しく答えられなかったと思います。なぜrmがそのような警告を最初に発行するのか、なぜ書き込み専用ファイルとは異なる方法で扱われる読み取り専用ファイルなのかと思います。この警告が表示されるのはいつかわかりますが、なぜでしょうか。
user1042840 2013年

何かを読み取り専用に設定しても、変更されるとは想定されていないからです。削除されることも含まれます。rootで読み取り専用ファイルを削除するように指示した場合は、間違いがないことを確認する必要があります。それはあなたの選択を再考させます。
2013年

1
@Jeightそれは実際には正しくない。あなたはされません削除時にファイルへの書き込み。含んでいるディレクトリに書き込んでいます。
kurtm 2013年

@kurtmあなたは正しいです。これはタイプミスでしたが、根本的な理由は同じです。
2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.