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

经测试已成功,后期如果回收站里文件太多了可以用重定向的方式清空回收站文件或者做个定时任务定时的清空也是可以的。