Two Awesome Shell Functions

Put these in your .profile and/or .bashrc file and you’re good to go. Enjoy!

mkcd – Make a directory and then change into it in one go.
extract – Extract all kinds of archived files without having to know what type they are.


mkcd() {
mkdir -p "$*"
cd "$*"
}


extract() {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $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 ;;
*) echo "'$1' cannot be extracted via >extract<" ;;
esac
else
echo "'$1' is not a valid file"
fi
}

Also if you get errors unzipping :

gzip -d file.tar.gz then.. tar -xf file.tar

..extracts without errors.

Advertisements