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>
這個時候我們可以定時的去清理以下垃圾箱