Bootstrap

linux配置回收站(tcsh)

事情是这样的。在工作中老是自信用rm -rf,rm *命令,结果误删了两三次需要的文件。但是linux的rm命令又是永久性的,对工作进度造成了delay。于是便开始思考有没有办法配置一个类似Windows的回收站?以便恢复误删的文件。

查阅了相关文献,很多人给出了这么一种.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/*  
}

使用语法:

rm(删除),ur(撤销),rl(列出回收站),cleartrash(清空回收站)命令了。

然后我就直接照抄了这段到自己的配置文件下,结果source后直接报错。

原因是公司用的tsch,不是bash,不支持函数功能。

于是我自己进行了些修改,在不使用函数功能的情况下启用回收站:

alias rm 'mv \!* ~/.Trash'
alias rl 'ls ~/.Trash'
alias ur 'mv -i ~/.Trash/\!:1 ./'
alias cleantrash '/bin/rm -rf ~/.Trash/*'

 用法和之前一样,只是没有加上情况回收站时的确认操作。

如果想使用原本的rm命令该怎么办呢?这的需要调用linux bin目录下的rm了:

/bin/rm xxxxx

;