我不能使用rmdir删除目录,因为目录中似乎有一个同名的文件无法删除

时间:2016-04-01 16:31:22

标签: macos bash terminal command

大家好,我是编程的初学者,并试图谷歌这个答案,但没有快乐。

我正在关注Zed Shaw"命令行速成课程"用rmdir打了一堵墙。

我使用mac并知道删除.DS_Store等隐藏文件并为我的目录执行此操作。但是,它仍然说该目录不为空,ls -la似乎显示一个共享目录名的文件:

请参阅下面的目录joe

drwxr-xr-x  3 MyLaptop staff  102  1 Apr 16:52 .

drwxr-xr-x  4 MyLaptop  staff  136 31 Mar 22:32 ..

drwxr-xr-x  3 MyLaptop  staff  102  1 Apr 16:51 joe

我试图删除此文件,但它不允许我这样做,我无法删除目录,任何人都可以建议解决方案吗?

2 个答案:

答案 0 :(得分:3)

一个文件。一行开头的d告诉您它是一个目录。实际上,它是您要删除的确切目录。

rmdir命令要求joe目录为空。要检查joe是否为空,请使用:

$ ls -la joe

首先进入该目录:

$ cd joe
$ ls -la

您在ls -la的父目录中使用joe,因此joe本身会显示在内容中。

请检查joe中的文件并使用rm删除它们。 ...条目实际上并不重要,因为它们是对当前目录和父目录的引用。

请注意,rm也可以删除目录,因此您只需执行rm -r joe即可删除joe joe中的所有文件目录本身。

答案 1 :(得分:0)

您也可以使用

$ rm -r joe

rm命令的-r选项将递归删除目录的内容和目录本身。

从rm手册页:

     -r, -R, --recursive
     remove directories and their contents recursively