linux 用mv替代rm将文件移动到回收站,避免误操作

有时候在linux上操作rm -rf 删除命令时,不下心就会将不想删除的文件给删除了,删完后,顿时傻眼了,比如 ,文件夹test下面有 a ,a1 ,b ,b2四个文件,本来想删除test文件夹下面的a和a1连个文件,

输入:

 rm -rf a*

结果,因为操作快了,输入变成了 

 rm -rf a *

结果将test文件夹下的a ,a1 ,b ,b2 四个文件全部删除了

为了避免这样的情况发生,我们决定将rm命令替换成mv文件到回收站,然后在回收站中统一删除

具体方式如下:

一、增加rm替换成mv的脚本文件del.sh

mkdir scripts
cd scripts
vim del.sh

在del.sh脚本中输入如下内容:

#! /bin/bash
# Description: 替换rm命令,不是删除文件,而是移动文件到/home/trash_tmp/
 
TRASH_DIR="/home/garbage"
 
for i in $*; do
        STAMP=`date +%F-%T`    #首先这个是反引号,不是单引号,具体反引号和单引号区别自己查
        FileName=`basename $i`
        mv $i $TRASH_DIR/$FileName"_"$STAMP
done

STAMP=`date +%F-%T` 会在原文件后面增加时间,然后mv到回收站,解决同名文件频繁删除会引起覆盖提示或提示目标非空。

二、创建回收站

mkdir /home/garbage

三、修改rm变量

在/root/.bashrc配置文件中增加alias rm='sh /scripts/del.sh'


vim /root/.bashrc

在bashrc文件中增加 alias rm='sh  /scripts/del.sh'


alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
 
alias rm='sh  /scripts/del.sh'

三、刷新环境变量

source /root/.bashrc

四、测试

mkdir abc

 rm abc 

 ls /home/garbage

abc_2023-05-17-17:30:16

五、删除garbage下的文件使用如下命令:

\rm -rf abc_2023-05-17-17:30:16

处理完毕

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值