Sunday, August 7, 2011

Commandline Compression and Decompression

There are various compression formats, of which the mostly used under GNU/Linux are gzip and bzip2.

To use gzip to create .gz package, you need to first create a container. For that tar can be used. Packaging files into a container and compression are two different things. gzip is mainly used for compression of a single file, which can be a container made from tar as well.
tar -cvf filename.tar dir-or-file
gzip filename.tar

Its same as tar.gz done using tar
tar -czvf filename.tgz file-or-dir

tar -cvf filename.tar file-or-folder
bzip2 filename.tar
tar -cvjf filename.tar.bz2 file-or-folder
Both gzip and bzip2 will delete the source file after compression.

Decompression (expand):
tar.gz or tgz
tar -zxvf filename.tar.gz   #or filename.tgz

tar -xvjf filename.tar.bz2