summaryrefslogblamecommitdiffstats
path: root/bashrc/common/alias.sh
blob: 5d73269376405534f5d8dbd5d0672bc96860d6fe (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                     






                                                    








                                          




                            







                                                                                                                              








                                             
         
                                       
                                                     
 


                         
# command aliases

# ls helpers
alias ll="ls -l"
alias la="ls -la"
alias l="ls -lh"

# cd helpers
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."

# make default what should be default
alias sudo="sudo -H"

# some distibutions (e.g. SuSE) has no nano but pico
if ! hash nano > /dev/null 2>&1 ; then
	if hash pico > /dev/null 2>&1 ; then
		alias nano="pico"
	fi
fi

# prettify mount output
mount() {
	if [[ $# -eq 0 ]]; then
		$(which mount) | column -t
	else
		$(which mount) "$@"
	fi
}

# mkdir + chdir
mkcd() {
	mkdir -p $1 && cd $1
}

# encode files suitable for copy&paste into other terminals
copy() {
	STR=$(tar cj $@ | perl -MMIME::Base64 -e 'print MIME::Base64::encode(join("", <>))' - ; exit $PIPESTATUS) || return $?
	echo "cat << E=O=F | perl -MMIME::Base64 -e 'print MIME::Base64::decode(join(\"\", <>))' - | tar xj"
	echo "$STR"
	echo "E=O=F"
}

# create tarball of one directory
mktar() {
	[[ -z "$1" ]] && return 1
	tar cjvf "${1%%/}.tar.bz2" "${1%%/}/"
}

# rar -> unrar
alias rar=unrar

unzip() {
	[[ ! -r "./${1}" ]] && return 1
	mkcd "${1%%.zip}" && /usr/bin/unzip "../${1}"
}

# screen autoresume
alias screen="screen -xR"