现在的位置: 首页Linux>正文
linux rm让你在删除的文件有地方找回
2013年02月02日 Linux 暂无评论 ⁄ 被围观 15,312 view+

一个不小心rm掉文件了吧?后悔莫及了吧!

把这段代码加入你的home目录的.bashrc或者.zshrc就可以了

工作原理:在你的home目录会创建一个.trash文件夹,里面会按照删除时间 年-月-日/小时/ 进行归档已删除的文件,然后会删除一个月以前的文件夹。

function rm() {
    # garbage collect
    now=$(date +%s)
    for s in $(ls --indicator-style=none $HOME/.trash/) ;do
        dir_name=${s//_/-}
        dir_time=$(date +%s -d $dir_name)
        # if big than one month then delete
        if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;then
            echo "Trash " $dir_name " has Gone "
            /bin/rm $s -rf
        fi
    done

    # add new folder
    prefix=$(date +%Y_%m_%d)
    hour=$(date +%H)
    mkdir -p $HOME/.trash/$prefix/$hour
    if [[ -z $1 ]] ;then
            echo 'Missing Args'
        return
    fi
    echo "Trashing "$1
    mv $1 $HOME/.trash/$prefix/$hour
}

来源:http://www.linuxde.net/2013/02/11915.html

给我留言

留言无头像?


×
腾讯微博