我看到了很多资源,rm -r
但几乎没有任何内容,rm -d
尽管d
标志显然是关于删除目录的。
这两者到底有什么区别?rm -d
和 一样吗rmdir
? 比 更“安全”吗rm -r
?
答案1
我尝试了这两个命令,以下是我的结论:
rm -d
工作原理就像rmdir
(除非链接或类似的东西出现问题)。rm -r
删除目标目录并递归删除该目录内的所有内容(包括非空目录和任何类型的文件)
所以区别很明显。毫无疑问,这rm -r
是一个非常危险的命令,应该非常小心地使用(例如:rm -rf /
可能会删除你的系统;或者rm -rf *
可能会删除你当前的项目),而rm -d
只会让你删除空目录
警告
请记住,这rm -rd
是一个有效命令,它将像一样工作rm -r
,所以要小心。
答案2
rm -rd
和之间的区别rm -rf
在于,前者会在删除写保护的文件或目录之前提示您,而后者会在不提示的情况下直接删除写保护的文件(如果可以的话)。虽然rm -rd
和rm -rf
都是递归的,如果指向错误的目录,可能会很危险,但前者提供了更多的保护,防止您做您不想做的事情。