max@serv$ whoami
    max
    max@serv$ ls -la ./defines.php 
    -rwxrwxrwx 1 max max 1985 2011-11-16 02:01 ./defines.php
    max@serv$ chmod 0777 ./defines.php 
    max@serv$ rm ./defines.php 
    rm: cannot remove `./defines.php': Permission denied
    max@serv$

如何删除此文件?

推荐答案

代码说明了一切:

max@serv$ chmod 777 .

好吧,它并不是说一切.

在UNIX和Linux中,删除文件的能力由该文件的访问位决定.它由包含文件的目录的访问位决定.

可以这样想——删除文件并不会修改该文件.你不是在写文件,那么为什么文件上的"w"很重要呢?删除一个文件需要编辑指向该文件的目录,因此该目录上需要"w".

Linux相关问答推荐

为什么我在退出SD-Bus容器时出现错误?

Git - 打印以不同编码混合的文件

仅查找并保留有效邮箱并删除无效记录,AWK

+后移动下一行到当前行

如何在 Linux 上打印带有屏蔽值的环境名称?

ln命令报错target not a directory

为什么控制台不接受反向换行?

Ubuntu 20 不支持 MAP_FIXED_NOREPLACE

在android上使用lldb-server进行lldb调试?

ENQCMD 指令的好处和微操作是什么?

使用 bash 中的数字对 RPM 内核字符串进行版本排序返回不正确的结果

编译过度对齐的动态分配变量时出现 icpc 错误

如何在 Linux 命令行上解析 CSV 文件?

使用 gdb 将地址转换为行

为什么 Linux 不通过 TSS 使用硬件上下文切换?

将 $_GET 参数传递给 cron 作业(job)

polkitd未注册身份验证代理的解释

如何显示正在运行的进程列表 Python?

可以通过 SSH 连接的所有用户的列表

如何制作和应用SVN补丁?