如果我在根目录中执行“rm -rf *”会发生什么?

如果我在根目录中执行“rm -rf *”会发生什么?

我只是在想

rm -rf *

命令。该rm命令删除其后面的所有文件,该-rf位指示扩展该rm命令以包括目录,并且*意味着一切。

所以,我思考如果我这样做会发生什么:

cd 
rm -rf *

这会毁掉一台电脑吗?我不太熟悉根目录中的所有内容的作用,但似乎其中很多本质上都在运行计算机。

那么如果我这样做会发生什么呢?会有多糟糕?它会损坏计算机吗?

更远

作为一个有趣的附加点,是否有任何像这样基本的命令可以在终端中完成,这将是非常具有破坏性的?

答案1

如果您运行命令序列:

cd
rm -rf *

主目录中的所有非隐藏文件和目录都将被删除。任何安装的分区(网络分区或其他分区)的任何内容都userfs将被删除。你可能是也可能不是一只非常悲伤的熊猫。

“这会破坏计算机”吗?不会。它会导致您丢失任何文件、个人安装的应用程序、桌面配置等吗?确实。

如果您在目录,结果将是灾难性的。根目录中的任何(非隐藏)文件以及整个文件系统中所有(非隐藏)目录的内容都将被删除。同样,这包括任何远程安装媒体的内容(例如,在 /mnt/media 中安装到您的电视节目和电影收藏的 NAS)。

再说一遍——这会“破坏计算机”吗?不会。在安装新操作系统之前,它会导致无法使用吗?几乎肯定除非另一个(未安装的) 存在可启动分区。如果您不幸/boot在启动后安装了读写器,则可能还会影响其他操作系统的可启动性。

不要这样做。即使在虚拟机上也是如此。

答案2

您在主题中提出的问题(在根目录中运行)和您在问题本身中提出的问题(在主目录中执行)之间存在差异rm -rf *,但答案是相同的:不要这样做。

关于术语的注释:“毁坏计算机”对不同的人来说意味着不同的事情,我以前曾经以某种方式搞砸过我自己的桌面,所以我需要按一个键并选择正确的光盘来启动,我很好有了它,我母亲会认为一切都毁了。

该命令将跨挂载递归删除所有内容(隐藏文件/目录除外)。

如果从您的主目录中,您“仅”丢失了自己的数据、配置等以及作为主目录的子目录(不一定是直接)安装的任何内容(我不知道“现代”系统/桌面环境会做什么) ,在我的桌面上,通常包括我的 NAS(部分),其中保存着我收藏的电影/电视节目等。

如果从根目录(具有适当的权限,如果以普通用户身份完成,这在大多数情况下与从主目录完成相当),您将丢失所有内容(请参阅下面的轶事),在这种情况下,您可以确定任何挂载都在下面,因此您可以删除任何挂载上的所有内容。

大约15年前,我实际上尝试在一台我想重新安装的机器上执行rm -fr *from /asroot操作,由于某种原因,该进程在过程中途终止(因此它没有删除所有内容),但它已经删除了足够多的内容,以至于安装无法被拯救,并且没有任何好的方法来找出发生了什么导致它停止删除内容。

我重复一遍:不要这样做!

相关内容