Linux培训
达内IT学院

400-111-8989

Linux运维基础之修改rm -rf实现回收站功能


今天小编要跟大家分享的文章是关于Linux运维基础之修改rm -rf实现回收站功能。正在从事Linux运维工作和学习的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

Linux运维基础之修改rm -rf实现回收站功能

rm -rf 是一个极其危险的操作,而且linux端不像windows,有回收站的后悔药可以吃,所以一旦误操作,就会造成不可挽回的后果。

今天通过shell重写,在linux端实现一个回收站的功能,可以实现将rm -rf 删除的文件指定存放到一个路径下,并定期来清理。

创建一个路径来作为我们的回收站:cd ~ && mkdir .trash

#/root/.trash路径,即作为我们的回收站路径

赋予最高权限:chmod 777 .trash

修改你的 home 目录下的:.bashrc:vim ~/.bashrc

# rm transform

function rm() {

# 定期清理回收站,时间可调整

now=$(date +%s)

for s in $(ls --indicator-style=none $HOME/.trash/) ;do

dir_name=${s//_/-}

dir_time=$(date +%s -d $dir_name)

# if big than one month then delete

if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;then

echo "Trash " $dir_name " has Gone "

/bin/rm $s -rf

fi

done

# 重写rm命令,将文件mv到回收站下

prefix=$(date +%Y_%m_%d)

hour=$(date +%H)

mkdir -p $HOME/.trash/$prefix/$hour

if [[ -z $1 ]] ;then

echo 'Missing Args'

return

fi

echo "Hi, Trashing" ${!#} "to /root/.trash"

mv ${!#} $HOME/.trash/$prefix/$hour

}

source ~/.bashrc 使配置文件立即生效,最后 我们来做一下测试

#创建测试文件

[root@mail ~]# touch test.txt

#使用rm -rf 删除该文件

[root@mail ~]# rm -rf test.txt

Hi, Trashing test.txt to /root/.trash

#创建测试文件

[root@mail ~]# touch aaa.txt

#使用rm 删除该文件

[root@mail ~]# rm aaa.txt

Hi, Trashing aaa.txt to /root/.trash

#查看一下回收站里的文件,已经被成功移过来了

[root@mail ~]# ll /root/.trash/2020_07_17/17/

total 0

-rw-r--r-- 1 root root 0 Jul 17 17:16 222

-rw-r--r-- 1 root root 0 Jul 17 17:36 aaa.txt

-rw-r--r-- 1 root root 0 Jul 17 17:14 eeee

-rw-r--r-- 1 root root 0 Jul 17 17:36 test.txt

现在我们删除一个测试文件:rm a.txt 或者 rm -rf aaa.txt

会事显示:Hi, Trashing aaa.txt to /root/.trash

因为我们上面的 shell 每次触发 rm 明白的时候都会去删除一个月前的目录,所以就不需要定时器来删除 .trash 里面的文件了。

如果强制清空"回收站"(即清空 .trash 目录),

可以使用真正的 rm 命令:/bin/rm -rf ~/.trash/*

以上就是小编今天为大家分享的关于Linux运维基础之修改rm -rf实现回收站功能的文章,希望本篇文章能够对正在从事Linux运维工作和学习的小伙伴们有所帮助,想要了解更多Linux相关知识记得关注达内Linux培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Linux运维工程师。

文章来源:原创 lexsaints 蜗牛Linux

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux运维基础之压缩命令及特殊格式处理
下一篇:Linux运维工程师要掌握的Linux下载工具有哪些?

云计算就业岗位有哪些?

学物联网工程好就业吗?

图像算法工程师发展前景

大数据运维工资一般多少?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省