#!/bin/bash # The following aliases vary depending on the host OS: case "$(uname -s)" in Linux ) alias ls='ls -F --color=auto' ;; Darwin ) alias ls='ls -FG' ;; esac alias m='pine' alias beep='echo ' alias h=history alias hm='history | more' alias hrm="history -r | more" alias hh='history -r | head' alias ht='history 10' alias p='ps -au' alias tf='tail -25f' alias l='ls -lF' alias la='ls -laF' alias clr='clear' alias cls='clear' alias d='date' alias vi='vim ' alias v='vi' alias vt='vi -t' alias ta='vi -t' alias wh='whoami' alias new='frm -s new' alias du='du -k' alias df='df -k' alias shizzle="perl -pe 's/\b(\w*[^aoeuiy])[aoeuiy]+[bcdfghjklmnpqrstvwxz]*\w\b/\1izzle/g'" function lh () { last $@ | head; } function ll () { ls -ltF $@ | head; } function lu () { ls -ltuF $@ | head; } function lum () { ls -ltuF $@ | more; } function lut () { ls -ltuF $@ | tail; } function lm () { ls -ltF $@ | more; } function lt () { ls -ltF $@ | tail; } function lk () { ls -sltF $@ | sort -nr | head; } function lkm () { ls -sltF $@ | sort -nr | more; } function lkt () { ls -sltF $@ | sort -nr | tail; } function lf () { ls -lt $(find $1 -name $2 -print); } function vif () { vi $(find $1 -name $2 -print); } function viw () { vi $(which $1); } function toss () { mv -f $@ ~/.trashcan; } function xcopy () { tar cvf - -C $1 $1/* | tar xvf - -C $2; } function checkdns () { ping $( grep nameserver /etc/resolv.conf | awk '{print $2}' | head -1); } if [[ $(which -s pidof) -eq 0 ]]; then function pidof () { ps -e -o pid,comm | grep "$1" | awk '{print $1}'; } fi function ssh-forget() { sed -i "" "/^$1,/d" ~/.ssh/known_hosts } function ssh-learn() { sed -i "" "/^$1,/d" ~/.ssh/known_hosts ssh-keyscan -t rsa $1 >> ~/.ssh/known_hosts } function _ssh_complete() { COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" opts=$( grep -o '^[^, ]\+' ~/.ssh/known_hosts ) COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 } complete -F _ssh_complete ssh function _ssh_screen () { DISCONNECT="" RECONNECT="-R" HOST=$1 while [ "$2" != "" ]; do case $2 in -d | --disconnect ) DISCONNECT="-D" ;; * ) echo "Usage: $HOST [-d | --discconnect]" return 1 ;; esac shift done ssh -t $HOST screen $DISCONNECT $RECONNECT } for host in $( grep '^Host[ ][^*]' ~/.ssh/config | cut -c 6- ); do alias "$host"="_ssh_screen $host $@" done