| 会员登录 立即注册

打印 上一主题 下一主题

Linux 黑话解释:什么是 sudo rm -rf?为什么如此危险?

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2021-9-25 08:28:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主
3AAA
2021-9-25 08:28:34 6528 5 看楼主


当你刚接触 Linux 时,你会经常遇到这样的建议:永远不要运行 sudo rm -rf /。在 Linux 世界里,更是围绕着sudo rm -rf有很多梗。



但似乎对于它也有一些混乱的认识。在 清理 Ubuntu 以腾出空间的教程中,我建议运行一些涉及sudo和rm -rf的命令。一位读者问我,如果sudo rm -rf是一个不应该运行的危险的 Linux 命令,我为什么要建议这样做。

因此,我想到了写一篇 Linux 黑话解释,以消除误解。

sudo rm -rf 在做什么?


让我们按步骤来学习。

rm命令用于在 Linux 命令行中删除文件和目录。
$ rm agatha$
但是因为有只读的 文件权限,有些文件不会被立即删除。它们必须用选项-f强制删除。
$ rm booksrm: remove write-protected regular file 'books'? y$ rm -f christie$
另外,rm命令不能被用来直接删除目录(文件夹)。你必须在rm命令中使用递归选项-r。
$ rm new_dirrm: cannot remove 'new_dir': Is a directory
因此最终,rm -rf命令意味着递归地、强制删除指定的目录。
$ rm -r new_dirrm: remove write-protected regular file 'new_dir/books'? ^C$ rm -rf new_dir$
下面是上述所有命令的截图。



如果你在 rm -rf命令前加入sudo,你就是在删除具有 root 权限的文件。这意味着你可以删除由root 用户拥有的系统文件。

所以,sudo rm -rf 是一个危险的 Linux 命令?


嗯,任何删除东西的命令都可能是危险的,如果你不确定你正在删除什么。

把 rm -rf命令看作一把刀。刀是一个危险的东西吗?有可能。如果你用刀切蔬菜,那是好事。如果你用刀切手指,那当然是不好的。

rm -rf命令也是如此。它本身并不危险。它只是用来删除文件的。但是,如果你在不知情的情况下用它来删除重要文件,那就有问题了。

现在来看看 sudo rm -rf /。

你知道,使用 sudo,你是以 root 身份运行一个命令,这允许你对系统进行任何改变。

/是根目录的符号。/var表示根目录下的var目录。/var/log/apt指的是根目录的log目录下的apt目录。



按照 Linux 目录层次结构,Linux 文件系统中的一切都从根目录开始。如果你删除了根目录,你基本上就是删除了系统中的所有文件。

这就是为什么建议不要运行 sudo rm -rf /命令,因为你会抹去你的整个 Linux 系统。

请注意,在某些情况下,你可能正在运行像 sudo rm -rf /var/log/apt这样的命令,这可能是没问题的。同样,你必须注意你正在删除的东西,就像你必须注意你正在用刀切割的东西一样。

我在玩火:如果我运行 sudo rm -rf /,看看会发生什么呢?


大多数 Linux 发行版都提供了一个故障安全保护,防止意外删除根目录。
$ sudo rm -rf /[sudo] password for abhishek:rm: it is dangerous to operate recursively on '/'rm: use --no-preserve-root to override this failsafe
我的意思是,人是会打错字的,如果你不小心打了 / var/log/apt,而不是/var/log/apt(/和var之间的空格意味着你给出了/和var目录来删除),你将会删除根目录。(LCTT 译注:我真干过,键盘敲的飞起,结果多敲了一个空格,然后就丢了半个文件系统 —— 那时候 Linux 还没这种故障安全保护。)



别担心。你的 Linux 系统会照顾到这种意外。

现在,如果你一心想用 sudo rm -rf /来破坏你的系统呢?你将必须使用它将要求你使用的-no-preserve-root选项与之配合。

不,请不要自己这样做。让我做给你看看。

所以,我在一个虚拟机中运行基本的操作系统。我运行 sudo rm -rf / --no-preserve-root,你可以在下面的视频中看到灯光熄灭(大约 1 分钟)。

清楚了么?


Linux 有一个活跃的社区,大多数人都会帮助新用户。 之所以说是大多数,是是因为有一些的邪恶坏人潜伏着捣乱新用户。他们经常会建议对初学者所面临的最简单的问题运行 rm -rf /。我认为这些白痴在这种邪恶行为中得到了某种至上主义的满足。我会立即将他们从我管理的论坛和群组中踢出去。

我希望这篇文章能让你更清楚地了解这些情况。你有可能仍然有一些困惑,特别是因为它涉及到根目录、文件权限和其他新用户可能不熟悉的东西。如果是这样的话,请在评论区告诉我你的疑惑,我会尽力去解决。

最后,请记住。不要喝酒胡搞Don’t drink and root。在运行你的 Linux 系统时要安全驾驶。

via: https://itsfoss.com/sudo-rm-rf/

作者:Abhishek Prakash选题:lujun9972译者:wxy校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出
回复

使用道具 举报

沙发
一起发财 发表于 2021-9-25 08:29:22 | 只看该作者
沙发
一起发财
2021-9-25 08:29:22 看楼主
正确做法是把 -rf 放在命令末尾,这样就不会因为误操作把根目录给干掉。
回复 支持 反对

使用道具 举报

板凳
酸甜苦辣咸 发表于 2021-9-25 08:30:01 | 只看该作者
板凳
酸甜苦辣咸
2021-9-25 08:30:01 看楼主
下一句就是:跑路
回复 支持 反对

使用道具 举报

地板
大邳小民 发表于 2021-9-25 08:31:55 | 只看该作者
地板
大邳小民
2021-9-25 08:31:55 看楼主
少了 /*
回复 支持 反对

使用道具 举报

5#
邳州河西 发表于 2021-9-25 08:33:22 | 只看该作者
5#
邳州河西
2021-9-25 08:33:22 看楼主
没意思
回复 支持 反对

使用道具 举报

6#
中医世家 发表于 2021-9-25 08:34:09 | 只看该作者
6#
中医世家
2021-9-25 08:34:09 看楼主
转发了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:6528 | 回复:5

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表