bash - enhanced compress and decompress
Again two functions you can add alias for. The first function provides a wrapper for the task to create tar.gz file. If you provide only one argument (like a filename or a directory), the function creates a $name.tar.gz file from the first argument. If you provide more the one argument, the function uses the first argument as name of the *.tar.gz file and all others as files/directories to compress.
#### # compress given directories into tar.gz # # @author stev leibelt # @since 2013-02-02 #### function net_bazzline_compress () { if [[ $# -lt 1 ]]; then echo 'No valid arguments supplied.' exit 1 fi FILENAME_TAR="$1".tar.gz if [[ $# -gt 1 ]]; then shift fi tar -zcf "$FILENAME_TAR" "$@" }The second function provides a wrapper to get the files of a *.tar.gz file. If you provide one argument, the functions is using this as the *.tar.gz filename. If you provide two arguments, the second argument is used as output directory.
#### # compress given directories into tar.gz # # @author stev leibelt # @since 2013-02-02 #### function net_bazzline_decompress () { if [[ $# -lt 1 ]]; then echo 'No valid arguments supplied.' echo 'Try net_bazzline_decompress $nameOfCompressedFile [$pathToDecompress]' exit 1 fi if [[ $# -eq 1 ]]; then tar -zxf "$1" else tar -zxf "$1" -C "$2" fi }As general, they are also in my shell function file available on github.com.