Tar, Zip and Gunzip

By Danny Kalev, ITworld |  How-to

This week, I will discuss file archiving, compression, and
decompression using the tar, zip and gunzip utilities.


The tar (tape archive) command assembles several files into a single
file. Such a file is called a "tar file", or "tarball", and has a .tar
extension. By default, the tar utility doesn't compress the archived
files; it merely stores them in a single physical file. The following
command packs all the current directory files having a .txt extension
into a single tar file called mydocs.tar:

tar cvf mydocs.tar *.txt

To list the contents of a tar file, use the "t" (type) flag:

tar tvf mydocs.tar

To extract the contents of a tar file's, use the "x" (extract) flag:

tar xvf mydocs.tar


The gzip command compresses a file. Unlike the tar command, gzip
replaces the original file with its compressed version. The following
command creates a compressed file called myprog.c.gz and deletes the
original myprog.c file:

gzip myprog.c

You can control the compression level by specifying a number between

gzip -9 myprog.c

A value of 9 indicates maximum compression, while 1 indicates minimal
compression. Maximum compression is slower but produces a smaller file.
The default is 6.

The gzip command can compress tar files as well. This is useful, for
example, when you want to distribute the source files of an entire
application in a compact form. A tarball compressed by gzip typically
has the extension tar.gz. The following command creates a compressed
file called mydir.tar.gz and deletes the original mydir.tar file:

gzip mydir.tar

Files with two extensions are problematic for some Web browsers and
mail clients. In that case, you may use a .tgz extension instead of
tar.gz. The following two files are identical:


You can combine the archiving and compression operations into a single
tar command by adding the "z" flag. The following command bundles all
the files having a .c extension into a tarball and compresses it. The
resulting file is myapp.tar.gz:

tar czvf myapp.tar.gz *.c


The gunzip command decompresses a .gz file and replaces it with the non-
compressed file. The following command restores the file myprog.c. from
myprog.c.gz and deletes the latter:

gunzip myprog.c.gz


An older tool called "compress" is used on some Unix systems. Files
created with this command have the extension .Z (capital Z). Similarly,
a tar file compressed with the compress command looks like this:


Under Linux, you would normally use .gz files; however, some legacy
applications that were developed for other Unix flavors and were ported
to Linux may still use this convention.

Join us:






Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:






Ask a Question