前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如果我在 Linux 上运行“sudo rm -rf /”会发生什么?

如果我在 Linux 上运行“sudo rm -rf /”会发生什么?

原创
作者头像
网络技术联盟站
发布2022-06-21 16:33:37
2.3K0
发布2022-06-21 16:33:37
举报

警告:本文中显示的所有步骤均在受控环境中执行,请不要在生产环境中遵循相同的步骤。

Linux 文件系统的工作方式与 Windows 系统不同,与将文件和配置存储在 、 或 Drive 中的 Windows 不同C:,D:LinuxE:将所有内容存储在根目录 (/)中。

Linux 中的根目录 (/) 是什么?

root 是 Linux 系统内所有子目录的父目录(层次结构中的顶部),包含与系统驱动器、引导文件、配置或用户目录相关的文件。

Linux 和所有基于 Unix 的操作系统都遵循这种架构,您可以将其视为一个 WindowsC:驱动器,其中包含系统运行所需的所有关键文件(用户、程序文件、Windows 等)。

rm使用该命令删除此目录意味着永久擦除根目录中的每个文件,从而使您的系统瘫痪。

rm命令的作用

Linux系统中的rm命令用于从命令行中删除指定的文件或目录。

例如,下面,我在我的主目录中创建了一个目录来演示 rm 命令在 Linux 中的工作。

代码语言:txt
复制
$ mkdir mydir

现在在Linux中,每当你尝试删除一个目录时,它都会提示目标“是一个目录”,如下图所示。

代码语言:txt
复制
$ rm mydir/
rm: cannot remove 'mydir/': Is a directory

这可以防止用户直接删除任何目录以避免文件丢失。

要绕过此限制,请使用-rf选项在不提示确认或显示错误消息的情况下强制删除目录,如下所示。

代码语言:txt
复制
$ rm -rf mydir/

执行上述命令mydir将从您当前的位置删除 没有任何确认或错误。

这个目录是我创建的,我可以删除,但是删除根目录(/)需要root权限或者sudo账号,以防止未经授权的用户执行恶意事件。

如果我在 Linux 上运行“sudo rm -rf /”会发生什么?

rm -rf如果您是 root 用户,sudo无论有无运行都会发生什么,它会删除您的系统文件吗?

让我们通过执行来找出答案。

代码语言:txt
复制
$ sudo rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

如您所见,系统阻止我们删除自身。

此功能称为安全锁,它可以防止无意中删除根目录以防止文件丢失。

在输出中,您可以看到可以使用该--no-preserve-root选项忽略这一点,出于任何原因有意删除您的整个系统,如下所示。

代码语言:txt
复制
$ sudo rm -rf / --no-preserve-root

一旦执行该命令,根目录中的所有文件和目录都将开始删除,并且扩展坞中的图标将开始消失,从而使您的整个系统崩溃。

由于系统进程的使用,某些文件可能不会被删除,但您的系统仍然无法使用。

使用“sudo rm -rf /”命令删除后如何恢复根目录?

除非您的系统使用btrfs 文件系统或任何其他应用程序来为您的操作系统拍摄快照,否则此操作无法撤消。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux 中的根目录 (/) 是什么?
  • rm命令的作用
  • 如果我在 Linux 上运行“sudo rm -rf /”会发生什么?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档