无法通过 rm -rf 删除没有用户使用的空文件夹

无法通过 rm -rf 删除没有用户使用的空文件夹

这是一台 Solaris 机器(Unix)

我有一个文件夹包含一些子文件夹,但其中没有文件。

root # ls -al `find trash`
trash:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxr-xr-x   9 ----     ----        1024 Oct  8 06:20 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 src

trash/src:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 tob

trash/src/tob:
total 4
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..

我尝试删除它但失败了:

root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists

我尝试寻找挂载点但失败了:

root # mount | grep `pwd`

我尝试寻找使用 pwd 运行的进程但失败了:

root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:

有没有什么线索告诉我如何删除这个文件夹而不格式化磁盘。我还是 unix 新手,所以如果您正在寻找更多信息,请告诉我命令。

答案1

可能是某个过程正在重建托布rm 删除文件后直接删除。这是一篇关于如何处理它的博客文章

删除此文件只会将其替换为另一个文件。有两种解决方案:手动删除 NFS 服务器上的文件,或者(如果您没有此类访问权限)终止其进程。

如果文件不在 NFS 上,建议检查哪个进程具有该文件的句柄,然后终止它。检查方法如下:

fuser -u <file>

终止该进程后,您应该能够删除该目录。

相关内容