都别拦着我,我要删库了

935 阅读3分钟

本来想删公司服务器,经同事劝解,改为删本人电脑vmware上的虚拟机。

rm -rf /*

一个流传甚广的命令,删库命令,自毁命令说的都是他,常年霸占Linux最危险命令排行榜第一名。关于它的故事有很多

今天去一公司面试,他们要我写个shell,我在他们的服务器输入rm -rf /*,回车,他们现在不让我走了,我想问问我是不是被录取了?

某技术讨论群里
问:Linux优化命令是什么?
答: rm -rf /*
问:好的,我试一下,多谢!
问:卧槽 我网站打不开了! 现在怎么办?
答:跑路吧

一个新来的妹子想卸载Oracle,执行了 rm -rf $ORACLE_BASE/*
可是ORACLE_BASE 这个变量没有赋值。就这样,全删了。。全删了

命令真正含义:删除根目录"/"下所有文件和目录,有子目录的递归删除。

删库过程

vmware上装的Red Hat Enterprise Linux Server release 6.6,没安装其它应用。 切换到root账号,执行rm -rf /*

可以看到满屏的cannot remove报错,由于是个刚装完的系统,都是系统本身的文件,没有引入外界的文件,很快命令执行完毕。 中间省略好几屏,不能删的报错,能删的就什么都不提示。
然后命令行里ls reboot shutdown命令都无法识别了,想关机或者重启都不行。cd命令还好使。


这个时候securecrt也连不上了,据说如果删库之前连接上了,现在可以使用。

到Linux桌面,点击鼠标后桌面图标全部消失,还好system->shutdown 可以关闭虚拟机。

但是卡在下面位置不动了

点击vmware菜单栏的下拉关机按钮 ,弹窗报错“发出的关机请求失败”

想叉掉,没有反应。虚拟机->管理->从磁盘删除 是灰色的无法点击。查看控制台视图,开启虚拟机是灰色操作不了
彻底关闭vmware软件 ,弹窗报错“虚拟机繁忙”

任务管理器结束vmware任务,可以退出虚拟机,重新启动看看

再次点击开启此虚拟机,卡死在vmware界面

但是可以叉掉。
如果vmware重新打开虚拟机vmx文件,可以进入grub引导界面,引导操作不可能成功,因为缺少太多文件了。

实验结论

  • 删库后, 各种命令除了cd都不好使了,处于无法使用的状态。
  • 桌面操作也基本不行了,能执行system->shutdown关机,但关机无法成功完成。
  • 真实的物理机应该大同小异,无法继续使用是肯定的,不同的是物理机可以按电源按钮断电,然后观察重启的反应。
  • 做了这个事后,我用vmware重新安装虚拟机,重装的虚拟机都不太好使了,经常开虚拟机后卡在开机画面进不去系统。vmware卸载再安装也没行。后来改用vbox装虚拟机了。

删了库一定要跑路吗

网友提供了以下经验

发现删库了,马上ctrl+c掐断执行的命令和脚本,少删一个是一个。会有少量命令在删库后还是好使的,这些命令能帮助恢复部分其它命令。然后从其它服务器拷贝文件到本机,补齐被删文件。只是能补齐操作系统本身的文件。

拆下硬盘放到其它服务器,然后使用ext3grep或者extundelete,据说有成功恢复部分数据的。万一那部分就是最重要的数据,那损失就很小了。