我正在尝试删除以前创建的名为a\
的文件。
我试图使用:
1)
rm -rf a\\
2)
rm -rf a\\/
但两者都不起作用。我试图登录终端,但我无法删除。我写了a
,然后点击了tab
,它显示了a\\/
,但它仍无效。终端都没有。我明白了:
sudo rm -rf a\\/
rm: cannot remove `a\\': Operation not permitted
有什么建议吗?
答案 0 :(得分:3)
我假设您使用Ubuntu是因为sudo?
首先确保您与要删除的文件位于同一目录中,请执行以下操作:
print(getcwd());
其次尝试将您尝试删除的文件的所有者更改为www-data(或apache,具体取决于您的服务器),然后查看是否可以从php脚本中删除该文件。
如果这样可行,那么您遇到的问题就是权限相关。
有很多方法可以解决这个问题。
答案 1 :(得分:0)
您应该在PHP代码中使用exec("rm -rf a\\\\");
。
Php使用\\
来转义\
并且系统使用相同的内容,因此您需要两次转义\
答案 2 :(得分:0)
您应尝试使用/path/to/file
或./a\\
指定文件的完整路径。逃脱的东西已经解释过了。