大家好,我是编程的初学者,并试图谷歌这个答案,但没有快乐。
我正在关注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
我试图删除此文件,但它不允许我这样做,我无法删除目录,任何人都可以建议解决方案吗?
答案 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