我注意到在文档中可以通过以下标志rm
获得:rm --help
--no-preserve-root do not treat `/' specially
这是什么意思?实际上是否可以删除根目录?除了其内容之外? 这会带来什么后果?
答案1
您无法删除根目录本身。但是,您可以使用 rm 的递归删除所有内容的模式在那个目录——臭名昭著的rm -rf /
命令。
“保留根”模式停止rm
对根目录进行递归操作:
$ sudo rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
该--preserve-root
选项已添加到 GNUR M2003 年(提交 9be74f6f125b2be),并成为默认行为2006 年(提交 aff5a4f2ab86f)。
有人说这是因为恶作剧者#ubuntu一直告诉新手要跑rm -rf /
——很多人都跑了。有人说这是因为很容易输入错误 rm -rf / tmp/junk
有人说这是为了防止在rm -rf $dir/
$dir为空的情况下运行时发生意外。我们只知道,他被称为
无论如何,POSIX 要求的一部分如今。Solarisrm
也有类似的保护,同样如此OpenBSD。