不能直接修改掉系统的rm指令,因为该指令可能在别的地方还会用到,因此我们需要创建一个属于我们自己的质量。
这种做法的原理为: 在家目录下创建一个隐藏文件夹,当我们使用自己的删除指令时,会将需要删除的文件移动到该文件夹中。
定义的指令包括:
- myrm [文件名]: 替换rm指令,移动文件到~/.trash/中
- mycl :清空~/.trash/
- myrl :显示~/.trash/中内容
- myul [文件名] :将被删除文件还原到当前目录
首先,创建文件夹:
mkdir ~/.trash/
然后创建指令:
vim ~/.bashrc
将下面的代码复制到最下面:
#防止出现删除错误的问题
alias myrm='deletefile'
alias myrl='trashlist'
alias myur='undeletefile'
alias mycl='cleartrash'
#替换rm指令移动文件到~/.trash/中
deletefile()
{
mv $@ ~/.trash/
}
#显示~/.trash/中内容
trashlist()
{
echo -e "\a[========================== ls trash ==========================]"
ls -ail ~/.trash
echo -e "\a[========================== ls end ===========================]"
}
#将被删除文件还原到当前目录
undeletefile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo -ne "\a[====================== Clear ~/.trash, Sure? =================] [y/n] >_"
read confirm
if [ $confirm == 'y' -o $confirm == 'Y' ] ;then
/bin/rm -rf ~/.trash/*
/bin/rm -rf ~/.trash/.* 2>/dev/null
echo -e "\a[===================== Clear Successfully =====================]\a"
fi
}
# 结束
输入完成后保存退出
在终端输入
source ~/.bashrc
到此我们就可以使用我们创建的新的指令了,当后面需要删除文件时,我们只需要使用我们创建的指令即可。最后,不要忘了定期清理回收站哦
!
参考文章:https://blog.csdn.net/greenlight_74110/article/details/78446177