1. 程式人生 > >重寫rm命令防止誤刪除

重寫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/

[email protected] ./
               }

             del()
             {
            mv [email protected] /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檔案