Linux 删除文件实现回收站功能

从事过服务器维护的人都知道rm、rm -rf的厉害,执行起来一点也不马虎,有点六亲不认的感觉。刚开始我也没觉得rm的厉害,经过昨天 rm 掉我几天的工作量,我才发现 rm 就是一把双刃剑,幸好我的服务器有打快照,让我只损失了一天的工作量。

通过亲身体会到了 rm的厉害,我不得不在以后的Linux维护甚至是生产环境中不得不加上回收站了,希望各位童鞋也能和我一样保持一种有回收站的习惯,切不可因为自己很仔细,抱着侥幸心理,“常在河边走哪有不湿鞋”。

好了,开始我们的创建回收站之路吧。

设置

1、首先在家目录创建一个文件夹用来保存删除的文件

mkdir -p ~/.Trash

2、修改 .bashrc 文件

vi ~/.bashrc

3、在 .bashrc 文件后面添加下面这些

alias rm=trash        
alias rl='ls ~/.Trash'  
alias ur=undelfile  
undelfile()  
{  
  mv -i ~/.Trash/$@ ./  
}  
trash()  
{  
  mv $@ ~/.Trash/  
}
cleartrash()  
{  
    read -p "Clear trash?[y/n]" confirm  
    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /usr/bin/rm -rf ~/.Trash/*  
}

4、添加完毕后保存,执行 source 命令生效

source ~/.bashrc

使用

你现在可以使用以下命令了。

  • rm(删除)
  • ur(撤销)
  • rl(列出回收站)
  • cleartrash(清空回收站)
#删除一个文件夹,helloworld下面的文件均被移到回收站中

$rm helloworld

#删除一个文件

$rm abc.txt

#撤销abc.txt

$ur abc.txt

#撤销helloworld文件夹

$ur helloworld

#列出回收站

$rl

#清空回收站

cleartrash
posted @   I'm_江河湖海  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示