本来想删公司服务器,经同事劝解,改为删本人电脑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,据说有成功恢复部分数据的。万一那部分就是最重要的数据,那损失就很小了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。