# Compress using gzip compression.
tar -zcvf archive_name.tar.gz directory_to_compress
# Decompress gzip compression.
tar -xzvf archive_name.tar.gz
# Compress using bzip2 compression.
tar -jcvf archive_name.tar.bz2 directory_to_compress
# Decompress bzip2 compression.
tar -xjvf archive_name.tar.bz2
# Compress hidden files starting with a dot(i.e .bashrc, .htaccess, etc)
tar -zcvf archive_name.tar.gz .
# Multiple volumes:
#  Tar does support multi-volume but not in conjunction with gzip nor with bzip2.
#  So, use the "split" command to create multiple volumes.
# Split the compressed archive into 100 MB files.
split -d -b100m archive_name.tar.gz archive_name.tar.gz.
# Join the splitted files.
cat archive_name.tar.gz.* archive_name.tar.gz

Pros and Cons of different compression algorithm

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2