
点击上方 蓝字 加个关注


今天的吐槽就两句话:
1. 我最讨厌的东西 就是主动发起的事情被当成理所应当
2. 我没那么多精力给每个人负责
这又是一个没加上分的文档,理由是:大家工作中没用到
废话不说了,来看看吧

01
AUTUMN
整理说明
误操作删除在平时的工作中很常见,公司以前出现过误删的情况
之前接触到一款Linux下的工具,叫做Safe-rm,现整理文档说明一下这个工具的安装及使用方法
02
AUTUMN
模拟环境及部署方式
自己的阿里云服务器,tar包方式部署
03
AUTUMN
验证过程
1. 安装safe-rm
下载地址:https://launchpad.net/safe-rm
safe-rm从1.0.0版本时用Rust重写了,我们体验safe-rm的功能,用0.13版本即可
点击All downloads,找到0.13版本下载即可
将下载好的tar包上传到服务器上,并解压到/usr/local/下
将safe-rm做一个软链接,链接到/usr/local/bin/rm
执行命令:
ln -s /usr/local/safe-rm-0.12/safe-rm /usr/local/bin/rm
2. 配置safe-rm
vi /etc/profile,增加一条:
PATH=/usr/local/bin:$PATH
之后执行source /etc/profile生效
vi /etc/safe-rm.conf,输入不想删除的目录或者文件,我这里随便输入了几个
3. 验证safe-rm的效果
到/opt/lijian目录下
直接执行rm -fr * , 来看看是什么效果,这个目录里面我建了2个文件
[root@summer_vm safe-rm-0.13]# cd /opt/lijian
[root@summer_vm lijian]# ls hello1.txt hello1.txt~
[root@summer_vm lijian]# rm -fr *
safe-rm: skipping hello1.txt safe-rm: skipping hello1.txt~
[root@summer_vm lijian]# ls hello1.txt hello1.txt~
[root@summer_vm lijian]#
可以看到,直接给出了提示:
safe-rm: skipping hello1.txt和safe-rm: skipping hello1.txt~
因为在配置文件里配置了通配符*号,所以这个目录下的任何文件,都不能进行rm操作
04
AUTUMN
注意事项
1. 配置文件中配置了单独文件,但没有配置目录
这种情况,直接删除目录是可以删除的,会直接将下面的文件也删除
比如我上面配置的/opt/taskNum.ini
如果直接cd /opt 执行 rm -fr * 的话,是可以执行的
需要注意一下,最好是配置完整的路径!尤其多个文件夹嵌套的时候,要保证最上一级在配置文件中
2. safe-rm自带系统级别目录的保护
我们直接more safe-rm的文件,就能看到它的源码,这个版本的safe-rm是用perl开发的
从代码中可以看到,标红框的这些系统的目录,safe-rm已经自动帮我们保护好了

点个在看你最好看
