我目前正在编译不同的PHP版本,并希望删除一些垃圾文件夹。
我有一个名为" php-5.4.7-src"的文件夹。我想删除但是当我这样做时
$ rm -Rf php-5.4.7-src
总会弹出
rm: cannot remove directory php-5.4.7-src/ext/standard/tests/general_functions: File exists
rm: cannot remove directory php-5.4.7-src/ext/standard/tests: File exists
rm: cannot remove directory php-5.4.7-src/ext/standard: File exists
rm: cannot remove directory php-5.4.7-src/ext: File exists
rm: cannot remove directory php-5.4.7-src: File exists
所以我做了
$ find .
和
$ find . -type f
然后弹出上面的文件夹,没有文件存在。 我也是所有文件夹的所有者,我也试图以root身份删除它们。
如何删除不存在的文件?
答案 0 :(得分:1)
我意识到这不能回答你的问题,只是一小部分风格可能会让你在将来免于头疼。如果您必须将脚本移动到另一种UNIX,那么它们有可能会破坏。执行递归删除的传统标志是-r
,而不是-R
。节省您必须按下shift键:)
现在可以回答你的问题。我知道你说你检查过运行进程,但这是一个inode可以保持打开的唯一方法,只有一个开放的inode将保持层次结构不被删除。还有其他一些进程,例如updated
经常在可能已经在您的目录中爬行的系统上运行。您可以尝试的一件事是执行sync
以确保已刷新所有挂起的写入。
Something 正在打开目录。您可能还想尝试lsof +D php-5.4.7-src
来查看具体内容。