linux下常用的删除命令rm,有些人习惯性的使用参数-rf,关于这两个参数 -r 代表的是递归,也就是连同下面的子目录一并删除,至于-f 这个参数能不用最好不用,因为这个参数可能会造成让你后悔一生的的后果,我今天在这个参数上吃了一次小亏,当然这个不是主要的问题,但是也有一点关系,最主要的还是不细心啊。
备份服务器上面没有做定时清理的脚本,今天上来突然发现空间不足,连个文件都无法上传,
df -h 查看一下,发现/的使用了已经是100%,好吧,手动删除吧,至少得让它正常工作不是。在我们备份目录下找到一些很早的备份文件,一开始一个一个的删 rm -r xxx 每次要敲个Y 实在烦了,想起可以批量全部删除的,观察一下,发现备份文件的名字都很像,是以备份日期做名字的,这简单了,把6月以前备份的全干掉吧,发现这个突然觉得很轻松的工作啊,毫不犹豫的
rm -r 2012[0-5]* 回车下去,没问题,就是需要一个一个的敲Y 想了下,没有必要,很轻松的就在后边多加一个参数-f
rm -rf 2012[0-5]* 这一回车,好吧~~等着吧。。出去坐一会别的。
10分钟后回来了,ll查看一下,傻了眼了。。所有的2012的文件全被干掉了,什么情况???仔细的看了一遍,发现了一个问题。笔者的备份文件是类似于20120101这样的,而我写的是0-5,好吧,就这一个致命的错误啊,0-5匹配了以0,1开头的,那好吧,当然所有的01------10....的全没了。。额,还好不是重要的线上系统,否则后果严重啊。
在这里再次强调不要轻易使用-f参数,另外写完一条命令敲回车之前请仔细的思考一下,确保万无一失的时候在敲下去。想要成为一名真正的运维人员。细心是必不可少的一个重要条件。回家自我反省去吧!