mkdir -p ~/.trash //创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录
alias rm=trash //命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
alias r=trash
alias rl=\'ls ~/.trash\' // rl 命令显示回收站中的文件
alias ur=undelfile // ur命令找回回收站中的文件
undelfile() //这个函数的作用是找回回收站下的文件
{ mv -i ~/.trash/\$@ ./
} trash() //这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
{ mv $@ ~/.trash/
} cleartrash() //这个函数的作用是清空回收站目录下的所有文件
{ read -p "clear sure?[n]" confirm
[ $confirm == \'y\' ] || [ $confirm == \'Y\' ] && /bin/rm -rf ~/.trash/*
}
这段代码定义了三个函数trash、undelfile和cleartrash。trash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造!
下面是我修改后的代码,直接在用户家目录下创建。trash目录作为回收站,将其它代码加入用户家目录下的.bashrc文件下,这样用户每次登录这段代码就会自动生效!登录后在bash下执行一遍下面的命令就可以把rm命令改造成删除文件到回收站了!
这里我用到的是:
[root@10-19-73-64 ~]# mkdir /data/rubbish<br>[root@10-19-73-64 ~]# vim .bashrc
#添加以下字段#修改rm#####alias rm=trash
alias r=trash
alias rl=\'ls /data/rubbish\'
alias ur=undelfile
undelfile(){ mv -i /data/rubbish/\$@ ./
#mv -i ~/.trash/\$@ ./
}trash(){ mv $@ /data/rubbish
}<br><br><br>[root@10-19-73-64 ~]# source .bashrc
<br><br><br>
这个时候我们可以定时的去清理以下垃圾箱