Linux創建垃圾回收站,解決誤刪操作的煩惱 --delete安全的刪除命令
廢話少說直接進入主題
1、創建一個簡單的delete命令腳本(因阿諾的英語太渣所用的中文字符集)
[root@anuo ~]# vim delete
#!/bin/bash
#只爲一諾
#將刪除的文件回收到家目錄下的回收站--hsz
hsz=~/hsz
if [ ! -d $hsz ]
then
mkdir $hsz
fi
if [ $# -eq 0 ]
then
echo "提示用法: delete file1 ..."
else
echo -n "您確定要刪除 $@ 嗎? [Y/n]:"
read reply
if [ "$reply" == "y" ] || [ "$reply" == "Y" ]
then
for file in $@
do
if [ -f "$file" ] || [ -d "$file" ]
then
mv -b $file $hsz/ && echo "刪除成功"
else
echo "$file: 您刪除的文件不存在"
fi
done
elif [ "$reply" == "n" ] || [ "$reply" == "N" ]
then
echo "已取消刪除"
exit 0
else
echo "錯誤的選項"
fi
fi
2、給腳本添加執行權限
[root@anuo ~]# chmod +x delete
3、把腳本送到/bin/目錄下
[root@anuo ~]# cp delete /bin/
4、爲了rm的誤刪給它定義給別名
[root@anuo ~]# vim /etc/bashrc --在這目錄下定義全局生效
alias rm='echo "要刪除文件或目錄請執行delete命令"' --在最後面加上這句參數
[root@anuo ~]# source /etc/bashrc --修改了配置文件記得重新加載下
5、進行測試
[root@anuo ~]# touch anuo
[root@anuo ~]# rm anuo -f
要刪除文件或目錄請執行delete命令 anuo -f
[root@anuo ~]# delete anuo
您確定要刪除 anuo 嗎? [Y/n]:n
已取消刪除
[root@anuo ~]# delete anuo
您確定要刪除 anuo 嗎? [Y/n]:aaa
錯誤的選項
[root@anuo ~]# delete anuo
您確定要刪除 anuo 嗎? [Y/n]:y
刪除成功
[root@anuo ~]# mkdir anuo
[root@anuo ~]# rm anuo -rf
要刪除文件或目錄請執行delete命令 anuo -rf
[root@anuo ~]# delete anuo
您確定要刪除 anuo 嗎? [Y/n]:y
刪除成功
[root@anuo ~]# ls
anaconda-ks.cfg hsz
[root@anuo ~]# ls hsz/
anuo anuo~
[root@anuo ~]#
經測試已成功,後期如果回收站裏文件太多了可以用重定向的方式清空回收站文件或者做個定時任務定時的清空也是可以的。