无法删除目录

无法删除目录

在我的 OS X 主机上,我在删除目录“foo”时遇到问题。

mymac:.Trashes joe$ ls
foo
mymac:.Trashes joe$ ls foo/
Ảnh011.jpg  Ảnh012.jpg  Ảnh013.jpg
mymac:.Trashes joe$ ls -l foo/
ls: Ảnh011.jpg: No such file or directory
ls: Ảnh012.jpg: No such file or directory
ls: Ảnh013.jpg: No such file or directory
mymac:.Trashes joe$ rm -rf foo/
rm: foo/: Directory not empty
mymac:.Trashes joe$ sudo rm -rf foo/
Password:
rm: foo/: Directory not empty

正如你所看到的,目录“foo”下有一些我只能运行ls的文件;运行ls -l返回错误。我无法删除单个文件或目录。使用“清空回收站”也不起作用。我还尝试过“磁盘实用程序”->“验证磁盘”和“修复磁盘”。

编辑:根据要求,这里有更多信息

mymac:.Trashes joe$ ls -del foo/
drwxrwxrwx  2 joe  staff  16384 13 May 11:19 foo/
mymac:.Trashes joe$ ls -del foo
drwxrwxrwx  2 joe  staff  16384 13 May 11:19 foo
mymac:.Trashes joe$ LC_ALL=C
mymac:.Trashes joe$ ls -ABeli foo/
total 1812
18972612676 -rwxrwxrwx  1 joe  staff  305951 13 May 11:19 Ảnh011.jpg
19123958587 -rwxrwxrwx  1 joe  staff  309745 13 May 11:19 Ảnh012.jpg
18511775654 -rwxrwxrwx  1 joe  staff  310907 13 May 11:19 Ảnh013.jpg
mymac:.Trashes joe$ find foo/
foo/
foo//Ảnh011.jpg
foo//Ảnh012.jpg
foo//Ảnh013.jpg

答案1

看来,您的条目名称似乎foo未链接到文件的有效节点。我不确定这是如何发生的,或者为什么rm -rf即使删除了该条目也不从目录中删除。

但是,如果您将目录条目与有效的文件节点关联起来,它可能会删除吗?换句话说,也许是这个?

touch foo/Ảnh011.jpg
rm foo/Ảnh011.jpg

嗯。还有人认为// 下面的结果是出乎意料的吗?

mymac:.Trashes joe$ find foo/
foo/
foo//Ảnh011.jpg
foo//Ảnh012.jpg
foo//Ảnh013.jpg

我原以为它会如下所示。 (无论它是什么)可能//是解决问题的线索吗?

foo/Ảnh011.jpg
foo/Ảnh012.jpg
foo/Ảnh013.jpg

答案2

您是否尝试过先重命名文件?这些文件的开头有一个特殊字符“Ả”。尝试先重命名文件,然后删除它们。

答案3

上面的回复很好,但还有一件事你应该知道。

默认情况下,“ls”(或“ls -l”)不显示名称以“.”开头的文件。 (又名“点文件”)

为了确保您看到所有文件,请使用“ls -a”。

尽管不确定您是否还有其他以“.”开头的文件,但这是可能的。在 'foo/' 中,这就是为什么它不为空。

也就是说,它们应该已使用“/bin/rm -rf foo”删除,因此该目录中必定存在其他问题。

答案4

尝试使用此命令删除文件,然后删除文件夹。

find . -iname '*.jpg' -exec rm {} \;

相关内容