2011-11-17 158 views
46
[email protected]$ whoami 
    max 
    [email protected]$ ls -la ./defines.php 
    -rwxrwxrwx 1 max max 1985 2011-11-16 02:01 ./defines.php 
    [email protected]$ chmod 0777 ./defines.php 
    [email protected]$ rm ./defines.php 
    rm: cannot remove `./defines.php': Permission denied 
    [email protected]$ 

如何删除此文件?rm:无法删除:权限被拒绝

+0

该文件是否在运行该命令的同一目录中?那么它应该只是'rm defines.php'。你为什么要预装'。/'? –

+0

其他的事情:它应该是'chmod 777' –

+1

它没有区别。 'file'和'。/ file'是等价的。 – Femaref

回答

123

的代码说明了一切:

[email protected]$ chmod 777 . 

好了,不说了一切。

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

想想这样 - 删除文件不会修改该文件。你不是在写文件,为什么要在文件上写“w”?删除一个文件需要编辑指向该文件的目录,所以你需要在该目录中使用“w”。

+2

OMG检查目录权限!这个答案给了我解决另一个问题的办法,这同样的逻辑适用于读取文件,而不仅仅是删除。 –