# Linux 修改 rm 命令防止误删操作,增加回收站功能
在Linux删除文件这种事经常会做,rm -rf
,但是有时候手滑一下rm -rf *
删除不该删除的文件就麻烦,万一再多抖一下 rm -rf /*
想想就怕。为了防止手滑,需要禁用或者更改rm
命令,修改方法各种各样,这里我选了一个我比较喜欢的方案,在这里记录一下。
实际就是重新定义 rm
,每次rm实际上执行的是 mv
命令,会将文件移动到回收站目录 ~/.trash
别名按照个人习惯自定义即可
保存完毕之后需要 source .bashrc
使用方法:
rm
–删除文件
cattrash
–查看回收站文件
unrm
–恢复文件
cleartrash
–清空回收站
需要添加到 .bashrc
的命令如下,贴到 .bashrc
最后面即可:
# 初始化回收站目录
mkdir -p ~/.trash
# 设置别名
alias rm=trash
alias cattrash='ls ~/.trash'
alias unrm=undelfile
alias cleartrash=cleartrash
# 从回收站恢复指定文件到当前目录
undelfile()
{
mv -i ~/.trash/$@ ./
}
# 移动文件到回收站
trash()
{
mv $@ ~/.trash/
}
# 清空回收站
cleartrash()
{
read -p "清空回收站? [y/n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}