我是 UNIX(MAC OS X bourne shell POSIX)的新手,我知道rmdir
只会删除一个空目录,但在什么情况下您实际上想要使用rmdir <directory name>
而不是仅仅使用rm -r <directory name>
?是否有一个我未能理解的智能用例,如果我了解了它,我的编程会更好一点?谢谢。
答案1
rmdir
更安全:如果目录包含任何文件,它会拒绝删除该目录。如果您尝试删除错误的目录,或者该目录仍包含您需要的(可能是隐藏的)文件,该怎么办?
还有历史原因:最初,该rm
程序没有-r
开关,因此rmdir
需要删除目录。当时这rmdir
是一个不平凡的程序,但今天它只是rmdir(const char*)
C 函数的一个包装器。
答案2
rmdir
我在删除目录时使用预计为空,这样如果其中仍有文件,它就会失败。rm -rf
如果我输入错误,使用可能会弄丢我想要保留的文件。