重写rm命令防止误删除

本文介绍了一种在CentOS 7系统中通过重写rm命令实现文件安全删除的方法,避免误操作导致的数据丢失。通过创建回收站目录,修改bashrc文件,实现了删除文件的临时存放,提供撤销删除及清空回收站的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

故事的起因

       今天听说顺丰的一个大佬因为误操作删除了生产库而被开掉的血案, 好像最近总是听到类似的新闻, 比方说前段时间亚马逊和百度也都传出过因为误操作而导致的血案.因为这一些列的血案,网友开始调侃从删库到跑路的梗, 同时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文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值