前几天在rm编译文件的时候不小心差点把主机rm了。。。。
所以想起小伙伴提过的回收站机制,每次执行rm 的时候实际上执行的是mv至某个特定文件夹
这样的话避免一时手指敲错无法挽回
参考http://www.manongjc.com/detail/10-kycmxtijgtgvxjb.html
Step1: 创建回收站目录
在root下:
root@sf:~# mkdir .trash
Step2: 创建回收脚本
root@sf:~# vim .remove.sh
.remove.sh内容如下:
TRASH_DIR="$HOME/.trash/"
for i in $*; do
STAMP=`date +%Y%m%d`
FileName=`basename $i`
mv $i $TRASH_DIR/$FileName"_"$STAMP
done
Step3: 修改bashrc覆盖rm命令
root@sf:~# vim .bashrc
在末尾加上:
alias rm='sh $HOME/.remove.sh'
测试下:
root@sf:~# touch testfile
root@sf:~# rm testfile
root@sf:~# ls .trash/
1111111_20190820 testfile_20190820
root@sf:~#
非root下相同操作执行一遍,这样非root用户也可以达到同样效果