前言
在经历了几次rm
误删以及一次误删作业后,正巧昨晚学习了alias
的相关用法,终于决定给rm
命令上道保险,整体思路:
- 创建一个隐藏的回收站目录
.trash
- 用
mv
命令覆盖rm
命令,让rm
命令本质上从删除变成将文件移动到.trash
目录
同时顺便实现一些相关的命令:
- rl 查看回收站文件列表
- ur namefile 恢复误删文件
- cleartrash 确认后清空回收站清空回收站
实现
在家目录创建
.trash
目录skange@skange:~$ mkdir .trash
打开
.bashrc
文件,在最下面输入代码后保存退出skange@skange:~$ vim .bashrc
#创建命令
alias rm='trash'
alias rl='trashlist'
alias ur='undelfile'
#mv命令覆盖rm命令
trash()
{
mv $@ ~/.trash/
}
#显示回收站中垃圾清单
trashlist()
{
ls -alt ~/.trash
}
#找回回收站相应文件
undelfile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo "确认删除回收站所有文件??? ~/.trash [y/n]"
read confirm
if [ $confirm == 'y' -o $confirm == 'Y' ] ;then
/bin/rm -rf ~/.trash/*
/bin/rm -rf ~/.trash/.* 2>/dev/null
fi
}
最后
在终端中运行. .bashrc
或者 source .bashrc
, 此时就上好了保险, 误删后文件就保存在.bashrc
文件夹中。