1. 程式人生 > >Linux創建垃圾回收站,解決誤刪操作的煩惱

Linux創建垃圾回收站,解決誤刪操作的煩惱

delete命令

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 ~]# 

經測試已成功,後期如果回收站裏文件太多了可以用重定向的方式清空回收站文件或者做個定時任務定時的清空也是可以的。

Linux創建垃圾回收站,解決誤刪操作的煩惱