默认情况下 rm 不删除不可写文件的想法是什么?

use*_*840 13 permissions rm

默认情况下 rm 不删除不可写文件的想法是什么?每次您要删除当前用户不可写的文件但您对目录具有写权限时,都会收到此警告,您需要按“y”确认删除:

rm: remove write-protected regular file 
Run Code Online (Sandbox Code Playgroud)

我想知道为什么以这种特殊方式处理不可写文件?我想到的一件事是,此类文件通常是包含用户机密数据(例如加密密码)的用户配置文件,因此 rm 在删除它们之前会发出警告。现在,真正的原因是什么?

kur*_*rtm 17

这是因为在这种情况下 UNIX 的行为有点违反直觉。许多人在将文件标记为只读并且有人能够删除它时感到非常惊讶。您只需要对包含目录的写权限即可删除文件。 rm出于礼貌而询问您,以防您希望它是只读的会保护它。

使用-f(force) 可以让它在不纠缠你的情况下完成。但请谨慎使用。

  • 我的一个朋友将其称为“真正快速阅读邮件”。:) (5认同)

Jei*_*ght 0

我认为你对它的提示是正确的,因为它被设置为不被写入。如果您要删除不可写文件,实际上您正在写入该文件。如果您不想收到提示,您可以随时创建一个别名,其中 rm 实际上是 rm -f。