Linux创建垃圾回收站,解决误删操作的烦恼 --delete安全的删除命令
废话少说直接进入主题
1、创建一个简单的delete命令脚本(因阿诺的英语太渣所用的中文字符集)
[[email protected] ~]# vim delete
#!/bin/bash
#只为一诺
#将删除的文件回收到家目录下的回收站--hsz
hsz=~/hsz
if [ ! -d $hsz ]
then
mkdir $hsz
fi
if [ $# -eq 0 ]
then
echo "提示用法: delete file1 ..."
else
echo -n "您确定要删除 [email protected] 吗? [Y/n]:"
read reply
if [ "$reply" == "y" ] || [ "$reply" == "Y" ]
then
for file in [email protected]
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、给脚本添加执行权限
[[email protected] ~]# chmod +x delete
3、把脚本送到/bin/目录下
[[email protected] ~]# cp delete /bin/
4、为了rm的误删给它定义给别名
[[email protected] ~]# vim /etc/bashrc --在这目录下定义全局生效
alias rm=‘echo "要删除文件或目录请执行delete命令"‘ --在最后面加上这句参数
[[email protected] ~]# source /etc/bashrc --修改了配置文件记得重新加载下
5、进行测试
[[email protected] ~]# touch anuo
[[email protected] ~]# rm anuo -f
要删除文件或目录请执行delete命令 anuo -f
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:n
已取消删除
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:aaa
错误的选项
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:y
删除成功
[[email protected] ~]# mkdir anuo
[[email protected] ~]# rm anuo -rf
要删除文件或目录请执行delete命令 anuo -rf
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:y
删除成功
[[email protected] ~]# ls
anaconda-ks.cfg hsz
[[email protected] ~]# ls hsz/
anuo anuo~
[[email protected] ~]#
经测试已成功,后期如果回收站里文件太多了可以用重定向的方式清空回收站文件或者做个定时任务定时的清空也是可以的。
原文地址:http://blog.51cto.com/13744837/2120034
时间: 2024-11-06 09:46:48