欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux回收站机制实现过程及用法详解

程序员文章站 2022-06-28 12:08:40
前言:linux系统下的rm是不可挽回的,命令设计本身没有问题,问题在于我们通常非常的自信,执行的时候喜欢rm -rf,这样的话就非常危险了,在执行的时候如果执行命令不对,甚至是执行的目录不对,那么将...

前言:

linux系统下的rm是不可挽回的,命令设计本身没有问题,问题在于我们通常非常的自信,执行的时候喜欢rm -rf,这样的话就非常危险了,在执行的时候如果执行命令不对,甚至是执行的目录不对,那么将会造成很大的麻烦,轻则会导致加班加点,浪费人力物力,重则影响公司业务,更甚则有开除之虞,而windows下的回收站机制就是一个非常不错的策略,但linux并不自带,那我们就可以手动创建一个,直接执行就好:

mkdir -p ~/.trash
cat >>~/.bashrc<<eof
#add by caimengzhi at $(date +%f) for linux trash start
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/* 
}
#add by caimengzhi at $(date +%f) for linux trash end
eof
source ~/.bashrc

说明:

1. ~/.trash就是以后被删除的文件和文件夹移动到的地方,也就是回收站

2. \$confirm 是实现验证的意思,也就是最后在文件中就是$confirm。其中\$@一样

3. 上面的作用,说白了就是命令rm 的重命名。

使用语法:

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

#删除一个文件夹和文件都会被移动到回收站中。

$rm filedirctory

#删除一个文件

$rm file.txt

#撤销对file.txt的删除

$ur file.txt

#撤销filedirctory文件夹

$ur filedirctory

#列出回收站

$rl

#清空回收站

cleartrash

  ok,基本的内容就是这些,本质上来说,只是替换了root用户的rm命令为mv命令,如果系统建立了别的用户,那么也需要使用该用户重新执行上面的命令,看情况吧,如果失去了root权限,那么rm -rf的威力也就不足为惧了,当然,我们也需要执行正规的rm命令,怎么做呢,这样就ok了:

/usr/bin/rm -rf

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。