重写rm命令防止误删除

故事的起因

       今天听说顺丰的一个大佬因为误操作删除了生产库而被开掉的血案, 好像最近总是听到类似的新闻, 比方说前段时间亚马逊和百度也都传出过因为误操作而导致的血案.因为这一些列的血案,网友开始调侃从删库到跑路的梗, 同时rm -rf / 也被加入到调侃之列. 吓的我等低级程序员赶紧搜集一下防范的方案. ps:sql删库的话不同的数据库有相应的恢复策略, 这东西基本是DBA大佬才有权限动生产的权限, 但是rm使用不当即使在测试环境也有可能带来一些麻烦, 所以这里简单记录一下通过重写rm命令的方式做一个缓冲的效果, 防止rm操作失误

言归正传

         以下内容是在我的centOS 7 系统下亲测通过的(参考的网上的几篇文章, 这里仅是作为记录, 非原创)

        1.创建回收站目录

           mkdir /home/zhangjp/.trash

         2.修改/etc/bashrc文件, 加入以下内容

                  #####test trash from here####

                 alias rm=del
                 alias rl='ls /home/zhangjp/.trash'
                alias ur=undelfile
                alias ct=cleantrash

               undelfile() 
               {
                mv -i /home/zhangjp/.trash/$@ ./
               }

             del()
             {
            mv $@ /home/zhangjp/.trash/
             }

             cleantrash()
            {
             read -p "clear trash?" confirm
             [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf /home/zhangjp/.trash/*
            }

          #####test trash end here#####

          source /etc/bashrc
           3.使用

           rm ./test.sh     //删除test.sh

          rl   //回收站文件列表
          ur   //撤销已删除的文件
          ct   //清空回收站

           /usr/bin/rm -f /home/zhangjp/.trash/test.sh    //删除回收站中的test.sh文件

你可能感兴趣的:(Linux,shell,rm,Linux,shell)