如果“rm -rf”不起作用,但“ls -a”没有显示任何文件,该怎么办?

如果“rm -rf”不起作用,但“ls -a”没有显示任何文件,该怎么办?

我在 encfs 容器中有一个文件夹 foo(来源:/local/home/me/Documents 挂载点:/u/me/Documents),我无法删除它。

> pwd
/u/me/Documents

> mount
[..]
encfs on /local/home/me/Documents type fuse.encfs (rw,nosuid,nodev,default_permissions,user=me)

> ls -la foo
drwxr-xr-x  2 me mygrp 4096 Nov  6 10:35 ./
drwx------ 31 me mygrp 4096 Nov  6 10:47 ../

> mv foo bar

> ls -lad bar
drwxr-xr-x 2 me mygrp 4096 Nov  6 10:35 bar/

> rm -rf bar
rm: cannot remove ‘bar’: Directory not empty

> lsof bar

> echo $?
1

> mv bar /tmp
mv: inter-device move failed: ‘bar’ to ‘/tmp/bar’; unable to remove target: Is a directory

> echo "Arghhhhghgh"
Arghhhhghgh

> uname -a
Linux mybox 3.8.0-33-generic #48-Ubuntu SMP Wed Oct 23 09:16:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

> stat bar
  File: ‘bar’
  Size: 4096        Blocks: 8          IO Block: 1048576 directory
Device: 1ch/28d Inode: 81005508    Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 4711/    me)   Gid: (  311/   mygrp)
Access: 2013-11-06 10:56:47.594878110 +0100
Modify: 2013-11-06 10:35:10.000000000 +0100
Change: 2013-11-06 10:56:47.591878043 +0100
 Birth: -

当退出代码不同于 0 时,我会使用“echo $?”明确表示这一点。

编辑:我刚刚重启了机器,以防在安装了一些更新后我错过了这个。结果还是一样。即使重新安装也无济于事。有没有针对 encfs 的 fsck?

编辑:我发现了另一个可能有用的信息:容器本身是通过 Drobox 同步的。我识别了相应的文件夹(具有加密文件名),并在其中找到了一个.dropbox.attr文件,其行为相同,这实际上就是我认为已安装文件夹不可移动的原因。我禁用了 Dropbox 客户端,卸载了容器,但仍然无法删除,甚至无法重命名它!此外,chown 不起作用。除了 chmod 之外的所有操作都给我一个权限被拒绝。即使使用 root 也没有成功。该文件是一个文本文件,我可以打开它:

{"mac": {"com.apple.FinderInfo": {"data": "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}}}

甚至可以改变内容并保存。

答案1

请再三检查您是否拥有权限。

我无法删除它的原因是,该文件夹是通过 NFS 挂载的,所以我的本地根无法执行任何操作。包含该.dropbox.attr文件的文件夹只有读取和执行权限,因此rm .dropbox.attr无法以普通用户身份运行。

相关内容