我在文档中注意到rm
通过rm --help
以下标志获得:
--no-preserve-root do not treat `/' specially
Run Code Online (Sandbox Code Playgroud)
这是什么意思?除了内容之外,实际上是否可以删除根目录?那会有什么后果?
use*_*686 22
您不能删除根目录本身。但是,可以使用rm的递归模式下删除所有在该目录-臭名昭著的rm -rf /
命令。
“保留根”模式停止rm
递归操作根目录:
$ sudo rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
Run Code Online (Sandbox Code Playgroud)
该--preserve-root
选项于 2003年添加到 GNU rm(提交 9be74f6f125b2be),并在 2006 年成为默认行为(提交 aff5a4f2ab86f)。
有人说这是因为#ubuntu 中的恶作剧者不断告诉新手跑rm -rf /
——很多人都这样做了。有人说这是因为太容易打错字了 rm -rf / tmp/junk
。有人说是为了防止rm -rf $dir/
$dir 为空时运行时发生意外。我们只知道,他被称为
无论哪种方式,它都是当今POSIX 要求的一部分。Solarisrm
也有类似的保护,就像OpenBSD 一样。
归档时间: |
|
查看次数: |
16982 次 |
最近记录: |