Linux 修改 rm 命令防止误删操作,增加回收站功能

在Linux删除文件这种事经常会做,rm -rf,但是有时候手滑一下rm -rf * 删除不该删除的文件就麻烦,万一再多抖一下 rm -rf /* 想想就怕。为了防止手滑,需要禁用或者更改rm命令,修改方法各种各样,这里我选了一个我比较喜欢的方案,在这里记录一下。

实际就是重新定义 rm ,每次rm实际上执行的是 mv 命令,会将文件移动到回收站目录 ~/.trash

别名按照个人习惯自定义即可

img
保存完毕之后需要 source .bashrc

使用方法:
rm –删除文件
cattrash –查看回收站文件
unrm –恢复文件
cleartrash –清空回收站

需要添加到 .bashrc 的命令如下,贴到 .bashrc 最后面即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 初始化回收站目录
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/*
}
明人不说暗话,如果你觉得可以的话,你懂的!