Linux下误删root目录

来源:互联网 发布:话费流量软件 编辑:程序博客网 时间:2024/05/09 19:51
   下午用vi编辑文件,保存退出时误按~键,按成wq~,结果目录下产生一个名为~的文件。因为以前经常按成wq1,发现错误后马上就会把名为1的文件删掉,所以今天一顺手就输入了rm -rf ~ 。结果,惨痛的事情发生了---root目录在没有任何提示跟预警的情况下被当场干掉!更惊奇的是当前目录下的~文件居然安然无恙,这是很让人气愤的!
   以前从没碰到过这种事,赶紧上百度,无果。google,无果。~符号不能被搜索引擎识别。求助QQ群,得到的结果是重装系统!愤怒!只能硬着头皮自己干了。
   把~文件移动到根目录,~是被移动过来了,但cd  ~  ,提示没有root目录。
   仔细想了下,root目录下其实也没多少东西,重要的就是那几个隐藏文件,但这几个文件都是配置方面信息,只要系统相同,我拷贝一份过来是不是也一样呢?于是打开另一台同样系统的机器,进入root目录 ls  -al ,哈哈,都是些bash csh vim mysql历史命令记录等等的东西,Ok。退回到根目录,因为正常的拷贝是拷贝不到隐藏文件的,所以要先打个包: tar -zcvf root.tar.gz /root 生成root.tar.gz。拷贝这个压缩文件到被删除root目录的机器的根目录下,解压:
tar -zvxf root.tar.gz  root目录回来了。进入root目录,.bashrc等相同的系统基本是一样的,_history结束的文件都是记录的命令历史记录,没什么关系。好了,那就不用管了,重启机器,一切正常。
   正在心中窃喜,突然发现根目录下那个~文件依然存在,这下坏了,如果有不知情的人进入系统发现根目录下多出一个名为~的空文件觉得碍眼,再一顺手rm -rf...... 那岂不是又要折腾一番。于是mv rename ... ...但是百般用尽,~文件依然一动不动。NND,rm是不敢乱用了,但为什么在非根目录下删除~文件还会把root目录干掉呢?难道是因为没加路径?对了,以前删除、移动-i 、-j等文件时为了不让系统把“-” 作为命令的参数通常会在这些文件前加上路径 ./,这样会不会也能把~文件删掉呢?确认了一遍root.tar.gz还在,小心翼翼的rm -rf ./~ 。终于......~被顺利干掉了。
   教训:如果无意中创建了名为~的文件,千万不能随便删除,一定要记得在前面加上路径。
原创粉丝点击