所以...我做得不好。在Cygwin中,我编写了一个bash脚本,该脚本包含两个目录,并将一个目录的内容复制到另一个目录中。首先,它调用“ rm -rf”以除去第二个目录的内容。我不小心在没有提供第二个参数的情况下运行了该脚本,看起来Cygwin将其视为可怕的“ rm -rf /”。
我不确定会造成什么损害,我正在尝试评估。在停止之前,它正在运行,我看到了很多“权限被拒绝”消息。
最明显的损坏是我的C:\ cygwin64文件夹被破坏了。剩下的只是几个空目录。我相信可能有一些目录按字母顺序在cygwin64上方被删除,因为我不记得它是列表中的最高目录,而现在是。
我的计算机100%正常运行,但是我还没有遇到过任何奇怪的事情。我只想知道是否有人在Cygwin上有过“ rm -rf /”的使用经验,是否像Linux上那样会破坏整个驱动器。
困惑的部分原因在于Cygwin的根在c驱动器之下,但是它在“ cygdrive”中包含对c驱动器的引用。我想知道“ rm -rf /”是否实际上会删除“ / cygdrive”的所有内容,或者是否受到某种保护。
编辑:在旁注,没有人知道为什么“ rm -rf”将与“ rm -rf /”相同。我清楚地记得没有提供路径并将该参数留为空白,所以我不知道为什么它在根目录上调用了rm。
编辑:命令完成,然后我重新启动了VM,所以我添加了更多照片。还更改了我的答案,以包括机器没有完全损坏的事实。
编辑2:我仍然有VM。如果您有任何想让我出于好奇而尝试的内容,请在评论中让我知道。
编辑3:我决定做更多的实验。我还原到运行命令之前拍摄的快照,将一个文件夹放在上面C:\cygwin
,将一个文件夹放在下面。然后,我运行了命令,并ctrl-c
很快完成了操作。cygwin文件夹仍然存在(在里面几乎是空的),但是上面的文件夹已被删除。用户生成的文件夹在它下面也完整无缺。然后,我恢复了状态,并再次运行了命令,这次是在更长的时间之前ctrl-c
。现在,它同时擦除了cygwin上方的文件夹,cygwin本身和下面的文件夹。
当我在现实生活中在计算机上运行此C:\cygwin64
文件夹时,该文件夹是完整的,这意味着该文件夹下面的所有内容按字母顺序都是安全的。这使我有些安心,现在可以肯定地知道,唯一被吹除的文件夹是上述C:\cygwin64
文件夹,它们通常只是临时文件夹或其他一些非必需的文件夹。
TLDR: 不运行rm -rf /*
或rm -rf /
永远。
TLDR2: 我创建了Windows 10 VM,安装了Cygwin,然后运行rm -rf /*
。VM搞砸了。要回答我自己的问题:是的,它将删除它有权访问您的硬盘驱动器上的所有内容。如果我没有像在真机上那样快地取消命令,它将删除我的所有个人文件。通用操作系统仍将完好无损。
因此,我决定创建Windows 10 VM并从头开始尝试。这是发生了什么事。rm -rf /
为了安全起见,Cygwin不允许您这样做(有一个覆盖选项)……但是rm -rf /*
显然没有任何警告,这是完全可以的。
我意识到,在原始脚本中,我正在删除提供的目录中的所有文件,因此我使用rm -rf $1/*
,所以如果$1
为空...则执行了可怕的破坏您的硬盘驱动器命令,而Cygwin甚至不会警告您!
即将按下Enter键...
cygwin64是第一个被破坏的人
Windows资源管理器链接不见了
开始菜单仍在这里
桌面图像出现了!
通知中心还是可以的
小娜也!
回收站已损坏,但是现在我可以访问Windows资源管理器了!
C:驱动器内容,这里没有太大变化
常规用户界面仍然可以正常工作
开始菜单不再响应
音乐生活!这是唯一保留的图书馆
命令已完成!
C中没有太多新内容:
如果从可执行文件启动,应用程序仍然可以运行,但应用程序数据仍然完整
我重启了机器。引导和登录没有问题。如果单击程序的直接可执行文件,它们仍然可以工作。仍然可以上网。很难评估永久损坏。开始仍然无法打开。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句