我的一些.bashrc技巧

本文最后更新于2015年12月20日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

#urldecode/urlencode
alias urldecode='python -c "import sys, urllib as ul; \
    print ul.unquote_plus(sys.argv[1])"'

alias urlencode='python -c "import sys, urllib as ul; \
    print ul.quote_plus(sys.argv[1])"'

#rot13 encode
alias rot13="tr 'a-zA-Z' 'n-za-mN-ZA-M'"
#Bash history
export HISTFILESIZE=999999
export HISTSIZE=999999
shopt -s histappend
HISTTIMEFORMAT="@%F_%T "
export HISTTIMEFORMAT

#MySQL
export MYSQL_PS1="\u@\h [\d]> "
mcd() { mkdir -p "$1"; cd "$1"; }
mtoday() { mkdir -p "$HOME/$(date +%Y_%B)/$(date +%Y-%-m-%-d)"; cd "$HOME/$(date +%Y_%B)/$(date +%Y-%-m-%-d)"; }
backup() { cp "$1"{,.bak}; }
md5check() { md5sum "$1" | grep "$2"; }
sha1check() { sha1sum "$1" | grep "$2"; }

md5dir() {
    if [ -d "$1" ]; then
        path=$(readlink -f "$1")
        save_name=$(date +%Y%m%d)$(echo "$path" | tr '/' '_')
        find "$path" -type f -print0 | xargs -0 md5sum > "$save_name".md5
    else
        echo "'$1' is not a directory !!!"
    fi
}

extract() {
    if [ -f $1 ] ; then
      case $1 in
        *.tar.bz2)   tar xjf $1     ;;
        *.tar.gz)    tar xzf $1     ;;
        *.bz2)       bunzip2 $1     ;;
        *.rar)       unrar e $1     ;;
        *.gz)        gunzip $1      ;;
        *.tar)       tar xf $1      ;;
        *.tbz2)      tar xjf $1     ;;
        *.tgz)       tar xzf $1     ;;
        *.zip)       unzip $1       ;;
        *.Z)         uncompress $1  ;;
        *.7z)        7z x $1        ;;
        *) echo "'$1' cannot be extracted via extract()" ;;
      esac
    else
        echo "'$1' is not a valid file"
    fi
}
alias genpasswd="strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo"
alias genpasswd2="uuidgen"

alias listen='netstat -lntp'
alias listen2='sudo lsof -P -i -n'
alias wuliao='man $(ls /bin | shuf | head -1)'
alias dirtree="ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'"

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2444.html

6 thoughts on “我的一些.bashrc技巧”

  1. Shell中如何快速计算两个日期之间的天数?
    `
    datediff() {
    d1=$(date -d “$1” +%s)
    d2=$(date -d “$2” +%s)
    echo $(( (d1 – d2) / 86400 )) days
    }`
    将上面的内容加入~/.bashrc或~/.zshrc,即可方便的使用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注