### 重定义rm命令 #### 定义回收站目录trash_path='~/.trash'# 判断 $trash_path 定义的文件是否存在,如果不存在,那么就创建 $trash_path.if [ ! -d $trash_path ]; then mkdir -p $trash_pathfi# 定义别名:使用 rm 就调用 trashalias rm=trash# 使用 rl 就调用 'ls ~/.trash' # 如果更改上面的回收站目录这里的目录也需要修改alias rl='ls ~/.trash'# 使用 unrm 就调用 restorefile,需要在删除目录的父目录下执行alias unrm=restorefile# 使用 rmtrash 就调用 claearteashalias rmtrash=cleartrash# 恢复文件的函数restorefile(){ mv -i ~/.trash/$@ ./} # 删除文件的函数trash(){ mv $@ ~/.trash/} # 清空回收站的函数cleartrash(){ read -p "确定要清空回收站吗?[y/n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*}
最后将上述脚本写入 /etc/bashrc,并立即执行命令 source /etc/bashrc 即刻生效。
/etc/bashrc
source /etc/bashrc
原文地址https://hoxis.github.io/linux-rm-2-mv.html
rl
unrm 文件名或目录
rmtrash
执行 rm 不会真正删除,而是使用 mv 移动到我们指定的回收站。
实在真的想删除可以 /bin/rm 来进行删除。
/bin/rm