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>
这个时候我们可以定时的去清理以下垃圾箱