rm命令替换脚本

linux里面的rm -rf 就是一个恶魔,一不小心你就会酿成大祸,当然,我还专门去尝试过 rm -rf / ,神一样的命令

防止犯此类的比较二的错误,一是靠自己的意识,而意识是主观的,必然会出现错误,二是靠工具来防范,重写rm 或者说封装一下

#!/bin/bash
trash_dir="~/.trash"
date=`date "+%Y%m%d"`
mkdir -p ${trash_dir}/${date}
for i in $*
do
    suffix=`date "+%H%M%S"`
    if [ ! -d "${i}" ]&&[ ! -f "${i}" ]
    then
        echo "[${i}] do not exist"
    else
        file_name=`basename $i`
        mv $i ${trash_dir}/${date}/${file_name}_${suffix}_${RANDOM}
        echo "[${i}] delete  completed"
    fi
done

很简单的一段代码,在trash里面建立了以日期命名的文件夹,然后会把删除的文件重命名移到日期命名的文件夹,为了保证名字不重复,在后面又追了一个随机变量,再重复的概率会很小了吧。

然后再写一个crontab定时清理目录,这个就不写了:)。

你可能感兴趣的:(linux,脚本)