10_alias.zsh 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. #
  2. # Editor
  3. #
  4. export EDITOR="vim"
  5. #
  6. # Pager
  7. #
  8. if (( $+commands[vim] )) && [[ -f ~/.vim/bin/vimpager ]]; then
  9. export PAGER=~/.vim/bin/vimpager
  10. alias less="$PAGER"
  11. alias more="$PAGER"
  12. elif (( $+commands[less] )); then
  13. export PAGER=less
  14. alias more="$PAGER"
  15. elif (( $+commands[more] )); then
  16. export PAGER=more
  17. fi
  18. export GIT_PAGER="$PAGER"
  19. #
  20. # Common aliases / functions
  21. #
  22. alias l='ls -lsh'
  23. alias rm='rm -i'
  24. alias mv='mv -i'
  25. alias cp='cp -i'
  26. alias vlock='clear;vlock'
  27. alias q='clear;exit'
  28. alias grep="grep --color=auto"
  29. alias egrep="egrep --color=auto"
  30. alias mgrep="grep -rnisH --color=auto"
  31. alias rsu="sudo -E zsh"
  32. alias reloadsh="exec zsh"
  33. alias tmux="tmux -2"
  34. alias md="mkdir -p"
  35. mcd() { mkdir -p "$@" && cd "$@" }
  36. ffi() {
  37. find -iname "$@"
  38. }
  39. #
  40. # Log viewers aliases
  41. #
  42. if (( $+commands[ccze] )); then
  43. alias alog="tail -n 300 -F /var/log/auth.log | ccze"
  44. alias mlog="tail -n 300 -F /var/log/mail.log | ccze"
  45. alias slog="tail -n 300 -F /var/log/syslog | ccze"
  46. alias xlog="tail -n 300 -F /var/log/Xorg.0.log | ccze"
  47. else
  48. alias alog="tail -n 300 -F /var/log/auth.log"
  49. alias mlog="tail -n 300 -F /var/log/mail.log"
  50. alias slog="tail -n 300 -F /var/log/syslog"
  51. alias xlog="tail -n 300 -F /var/log/Xorg.0.log"
  52. fi
  53. # using colortail if available (freebsd)
  54. if (( $+commands[colortail] )); then
  55. alias slog="colortail -n 60 -k /usr/local/share/examples/colortail/conf.messages -f /var/log/syslog"
  56. fi
  57. #
  58. # System tools aliases
  59. #
  60. alias df='df -h'
  61. if (( $+commands[pydf] )); then
  62. alias df="pydf -h"
  63. fi
  64. function mount() {
  65. if [ $# = 0 ]; then
  66. command mount -lv | column -t
  67. else
  68. command mount $@
  69. fi
  70. }
  71. #
  72. # Sysadmin stuff
  73. #
  74. if (( $+commands[dig] )); then
  75. alias mx="dig +short MX"
  76. alias ns="dig +short NS"
  77. elif (( $+commands[host] )); then
  78. alias mx="host -t MX"
  79. alias ns="host -t NS"
  80. fi
  81. alias scp_nosec="scp -o 'StrictHostKeyChecking=no' -o 'UserKnownHostsFile=/dev/null'"
  82. alias ssh_nosec="ssh -o 'StrictHostKeyChecking=no' -o 'UserKnownHostsFile=/dev/null'"
  83. # OpenSSL
  84. for i in sha512 sha256 sha1 md5 ; do
  85. ssl-cert-$i() {
  86. openssl x509 -noout -fingerprint -$i -in $1
  87. }
  88. done
  89. ssl-crt-fp() {
  90. for i in sha512 sha256 sha1 md5; do
  91. ssl-cert-$i $1
  92. done
  93. }
  94. ssl-crt-info() {
  95. openssl x509 -noout -text -in $1
  96. }
  97. ssl-csr-info() {
  98. openssl req -noout -text -in $1
  99. }
  100. ssl-csr-gen() {
  101. local domain="${1:-mydomain}"
  102. local keysize="${2:-4096}"
  103. local keytype="${3:-rsa}"
  104. local digest="${4:-sha256}"
  105. printf "Generating csr/key for ${domain} with ${keytype}/${keysize} key and ${digest} digest...\n"
  106. openssl req \
  107. -nodes -${digest} \
  108. -newkey ${keytype}:${keysize} \
  109. -keyout ${domain}.key \
  110. -out ${domain}.csr
  111. }
  112. #
  113. # Devel tools aliases
  114. #
  115. if (( $+commands[colormake] )); then
  116. alias make="colormake"
  117. fi
  118. #
  119. # Git Flow stuff
  120. #
  121. git-flow-release() {
  122. if [[ "${1}" != "" ]]; then
  123. export GIT_MERGE_AUTOEDIT=no
  124. git flow release start "${1}" && \
  125. GIT_MERGE_AUTOEDIT=no git flow release finish -m "${1}" "${1}"
  126. else
  127. printf "%s: tag is missing\n" "${0}" >&2
  128. fi
  129. }
  130. alias gfr="git-flow-release"
  131. #
  132. # Mssh stuff
  133. #
  134. if [ -f ~/.ssh/config ]; then
  135. hosts=($(grep '^Host [^*]' ~/.ssh/config | sed 's/Host //'))
  136. compctl -k hosts mssh
  137. fi
  138. #
  139. # Hosting stuff
  140. #
  141. http_auth_ssha() {
  142. read "username?username: "
  143. read "password?password: "
  144. salt="$(openssl rand -base64 3)"
  145. sha1="$(printf "%s%s" "${password}" "${salt}" | openssl dgst -binary -sha1 | sed 's#$#'"${salt}"'#' | base64)"
  146. printf "%s:{SSHA}%s\n" "${username}" "${sha1}"
  147. }
  148. #
  149. # DNS stuff
  150. #
  151. myip () {
  152. # Get public IP address from opendns
  153. ipv4=
  154. ipv6=
  155. ip4_resolver="resolver1.opendns.com"
  156. ip6_resolver="2620:0:ccc::2"
  157. if (( $+commands[dig] )); then
  158. ipv4=$(dig +short myip.opendns.com "@${ip4_resolver}")
  159. ipv6=$(dig AAAA +short myip.opendns.com "@${ip6_resolver}")
  160. elif (( $+commands[host] )); then
  161. ipv4=$(LANG=C host -t A myip.opendns.com "${ip4_resolver}" | sed -r -n 's/^.* has address (.*)$/\1/p')
  162. ipv6=$(LANG=C host -t AAAA myip.opendns.com "${ip6_resolver}" | sed -r -n 's/^.* has IPv6 address (.*)$/\1/p')
  163. fi
  164. if [[ -n "${ipv4}" ]]; then
  165. printf "IPv4 is %s\n" "${ipv4}"
  166. else
  167. printf "IPv4 not found\n" >&2
  168. fi
  169. if [[ -n "${ipv6}" ]]; then
  170. printf "IPv6 is %s\n" "${ipv6}"
  171. else
  172. printf "IPv6 not found\n" >&2
  173. fi
  174. }