使用‘rm -rf /’命令可以达到什么效果?

使用‘rm -rf /’命令可以达到什么效果?

我经常想知道,如果你运行,系统实际上会走多远rm -rf /。我怀疑操作系统能否自我清除(?)

奖励问题:命令执行完之后,会rm自行移除吗?

更新: 我已经使用 VirtualBox 在几个主要的 unix 发行版中测试了这一点,答案准确地描述了发生的情况。如果给出了正确的参数,rm 将删除磁盘上的所有物理数据位。但是,当我使用 GNU 以外的 rm 版本时,我遇到了一些问题。例如,我相信 BusyBox 有自己的版本,它不允许您删除尽可能多的数据。

这个问题本周超级用户问题.
阅读 2011 年 7 月 7 日博客条目了解更多详情或提交你自己的本周问题。

答案1

如果您使用rmGNU coreutils(如果是常规的 Linux 发行版则很可能如此),rm -rf /则会被内置保护拒绝(根据手册页和维基百科,还没有尝试过)。

您可以使用 覆盖此保护--no-preserve-rootrm它将删除所有可能删除的文件,而不会在尝试删除每个文件后停止。当然,它不会删除虚拟文件系统(如/proc和 )/sys,但那无关紧要——它将删除磁盘上的所有内容。

命令完成后,您的磁盘将被清空,包括操作系统。内核和当前进程将继续从内存中运行,但许多进程将因无法访问某些文件而终止。操作系统将无法在下次启动。

答案2

对于那些喜欢在听电子音乐的同时以视觉方式做此类事情的人来说。

在 Linux 上运行 rm- rf(视频)

如果您能在进程开始死亡时说出它们的名称,则可以获得加分。

答案3

设置虚拟机并尝试一下?

它会走得很远...如果你使用 GUI,你可能会很高兴地注意到事情更明显地恶化。(菜单上的图标停止加载等)

如果您放手,操作系统将几乎无法恢复,尽管您可能能够轻松恢复一些数据。

无论哪种方式,您都需要重新安装操作系统。

答案4

我记得在过去的日子里人们曾对此进行过仔细的思考alt.sysadmin.recovery,那时还没有这样的东西/proc,而/dev只是一个包含一堆不寻常的 inode 条目的常规目录……

...但是,在某些 Unix 版本上(我记得是 HP-UX,但这可能完全错误),你可以不是删除正在运行的程序的最后一个目录条目。(共享库?它们是什么?)

在这样的系统上,如果您以维护模式启动一个系统(因此除了您的shell之外没有运行任何东西,甚至没有init,也没有挂载任何辅助文件系统)并且这样做了exec /bin/rm -rf /,那么您将得到一个完全空的根文件系统。除了并能生存下来/bin/bin/rm

恐怖魔鬼寺的居民认为这是理所当然的。

相关内容