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

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

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

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

开始

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

mkdir -p ~/.Trash

修改.bashrc文件

vi ~/.bashrc

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


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

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

source ~/.bashrc

使用

你现在可以使用rm(删除),ur(撤销),rl(列出回收站),cleartrash(清空回收站)命令了。

#删除一个文件夹,helloworld下面的文件均被移到回收站中
$rm helloworld

#删除一个文件
$rm abc.txt

#撤销abc.txt
$ur abc.txt

#撤销helloworld文件夹
$ur helloworld

#列出回收站
$rl

#清空回收站
cleartrash

好了,重在实践,这是一个很重要的配置,很重要很重要,希望大家不要像我被经历过才来做这件事情,不然有时候真的是欲哭无泪。

 

发布者

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。