zoukankan      html  css  js  c++  java
  • Linux 安全rm

    先将shell脚本放在某个全局路径下,如/usr/local/bin

    #!/bin/sh
    # safe rm
    # Don't remove the file, just move them to a temporary directory.
    # Files are grouped by remove time.
    # e.g.
    #   # pwd => /home/work/
    #   > rm -r -f aa
    #   'aa' will move to ~/.TrashHistory/20141018/aa@120111@_home_work_aa
    RM_BACKUP_PATH=~/.Trashhistory
    if [ ! -d "$RM_BACKUP_PATH" ]; then
       mkdir "$RM_BACKUP_PATH"
    fi
    function safe_rm() {
       # skip cmd option, e.g. '-rf' in 'rm -rf a b' or '-r/-f' in 'rm -r -f a b'
       if [ $# -lt 1 ]; then
           echo 'usage: rm -f [-dPRrvW] file ...'
           exit 1
       fi
       first_char=${1:0:1}
       until [ ! "$first_char" = "-" ]
       do
           shift
           first_char=${1:0:1}
       done
       # check param
       if [ $# -lt 1 ]; then
           echo 'usage: rm -f [-dPRrvW] file ...'
           exit 1
       fi
       today=`date +"%Y%m%d"`
       mvpath=${RM_BACKUP_PATH}/$today
       # support for multi version
       timestamp=`date +"%H%M%S"`
       # create dir if path non-exist
       if [ ! -d $mvpath ]; then
           mkdir $mvpath
       fi
       until [ $# -eq 0 ]
       do
           # fetch absolute path of the file
           fpath=$1
           fchar=`echo "${fpath:0:1}"`
           if [ "$fchar" = "/" ]; then
               dist_path="_${fpath}"
           else
               abs_fpath=`pwd`/$fpath
               dist_path="${fpath}@${timestamp}@${abs_fpath}"
           fi
           # substitue '/' to '_'
           final_dist_path=${dist_path////_}
           # mv to temp trash
           mv $fpath $mvpath/$final_dist_path
           # next file
           shift
       done
    }
    

      然后alias

    alias rm=". /usr/local/bin/safe_rm.sh && safe_rm "
    

      并source

  • 相关阅读:
    SQL中char,varchar,nvarchar等的异同
    SQL中group by的用法
    如何管理自己的时间
    ref和out
    SQL中的日期时间函数
    SQL中的类型转换
    SQL中的自定义函数Function
    SQL中的模糊查询
    Struct是干什么的
    把普通图片转换成二进制
  • 原文地址:https://www.cnblogs.com/yxzfscg/p/5160628.html
Copyright © 2011-2022 走看看