# Creates an archive (*.tar.gz) from given directory. function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; } # Create a ZIP archive of a file or folder. function makezip() { zip -r "${1%%/}.zip" "$1" ; } function extract() { if [ -z "$1" ]; then # display usage if no parameters given echo "Usage: extract ." else if [ -f "$1" ] ; then case "$1" in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.lzma) unlzma "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x -ad "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *.xz) unxz "$1" ;; *.exe) cabextract "$1" ;; *) echo "extract: '$1' - unknown archive method" ;; esac else echo "$1 - file does not exist" fi fi } # jump directorys upwards until it hits a directory with multiple folders function up() { local d="" limit="$1" for ((i=1 ; i <= limit ; i++)) do d="$d/.." done d=$(echo "$d" | sed 's/^\///') if [ -z "$d" ]; then d=.. fi cd "$d" } # create an directory and directly cd into it function mcd() { mkdir -p "$1" cd "$1" }