LINUX TIPS AND TRICKS --- June 01, 2001

Published by ITworld.com -- changing the way you view IT
http://www.itworld.com/newsletters
________________________________________________________________

Tar, Zip and Gunzip
By Danny Kalev

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

TAR FILES

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

GZ FILES

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 1-9:

    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:

    mydir.tar.gz
    mydir.tgz

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

GUNZIP

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

"Z" FILES

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:

    mydir.tar.Z

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.

About the author(s)
-------------------
Danny Kalev is a system analyst and software engineer with more 
than 10 years of experience, specializing in C++ and 
object-oriented analysis and design on various platforms 
including VMS, DOS, Windows, Unix, and Linux. His technical 
interests involve code optimization, networking, and 
distributed computing. He is also a member of the ANSI C++ 
standardization committee and the author of ANSI/ISO C++ 
Professional Programmer's Handbook (Que, 1999). Contact him at 
linuxnl@excite.com.
________________________________________________________________

ADDITIONAL RESOURCES

What do I do with a .tar file?
http://www.itworld.com/jump/lintps_nl/www.extropia.com/faq/
whatdoidowithatarfile.html

The gzip home page
http://www.itworld.com/jump/lintps_nl/www.gzip.org/
________________________________________________________________

CUSTOMER SERVICE

SUBSCRIBE/UNSUBSCRIBE:
- Go to: http://reg.itworld.com/cgi-bin/subcontent12.cgi
- Enter your email address under "Current subscriber" to log in
- Uncheck the box next to the newsletter you want to
  unsubscribe from
- Or check the box next to the newsletter you want to
  subscribe to
- Submit

If you have questions, please send email to customer service at:
mailto:support@itworld.com
________________________________________________________________

CONTACTS

* For editorial comments, write Andrew Santosusso, Associate
  Editor, Newsletters at: andrew_santosusso@itworld.com

* For advertising information, write Dan Chupka, Account
  Executive at:  dan_chupka@itworld.com

* For recruitment advertising information, write Jamie Swartz,
  Eastern Regional Sales Manager at: jamie_swartz@itworld.com
  or Paul Duthie, Western Regional Sales Manager at:
  paul_duthie@itworld.com

* For all other inquiries, write Jodie Naze, Product Manager, 
  Newsletters at: jodie_naze@itworld.com
________________________________________________________________

PRIVACY POLICY
http://www.itworld.com/Privacy/

Copyright 2001 ITworld.com, Inc., All Rights Reserved.
http://www.itworld.com
