comprez(1) safely (un)tar and (de)feather files and directories


comprez [ -t | -T ] [ -v | -V ] [ -l | -L ] [ -gz | -z | -I | -lz | -Z | -zip | -jar ] [ -# ] [ -s suffix ] [ -m mode ] [ -p | -P ] [ -h ] [ -- ] file ...


Comprez is a simple, safe and convenient front-end for the compress(1), uncompress(1), gzip(1), bzip2(1), lzip(1), tar(1), zip(1) and unzip(1) utilities for compressing and uncompressing files and directories. It processes each of its arguments according to the type of the file or directory given:

If the argument is a plain file, then the file is compressed, ie, feathered.

If the argument is a compressed file with a name ending in .Z, .gz, .z, .bz2, .lz, .zip or .jar, then the file is uncompressed, ie, defeathered.

If the argument is a directory, then the directory is archived into one tar or zip file which is then compressed, ie, tarred and feathered.

If the argument is a compressed tar or zip archive with a name ending in .{tar.,tar,ta,t}{Z,gz,z,bz2,lz} or .{zip,jar}, then the archive is uncompressed and untarred, ie, untarred and defeathered.

The new compressed or uncompressed version will be in the same directory as the original. A compressed file is always uncompressed into a file with the same name sans the feather suffix. A compressed tar or zip archive is always unpacked into a subdirectory with the same name as the archive sans the tar and feather suffix, even if the archive did not itself contain such a subdirectory.


Interprets all following arguments as files instead of options.
Where # is a digit from 1 through 9. This option is passed on to gzip(1), bzip2(1), lzip(1) and zip(1) when feathering with them. --fast may be used instead of -1 and --best instead of -9.
Uses gzip(1) and a .gz compression suffix when feathering.
Prints a helpful usage message.
Uses bzip2(1) and a .bz2 compression suffix when feathering.
Lists the file or directory name created resulting from each argument.
Does not report created files or directories. Default.
Uses lzip(1) and a .lz compression suffix when feathering.
-m mode
Apply the given chmod(1) mode argument to any created tar and feather files. Before this argument is applied, the files have the same read and write permissions as the directories from which they were created. For security, the default argument is go-rwx. If the mode is -, then no argument is applied. See chmod(1) for all other allowable formats of this argument.
Preserves modes when untarring by giving the p flag to tar(1). Default.
Doesn't preserve modes when untarring by not giving the p flag to tar(1). This option may be necessary on systems where ordinary users are allowed to run chown(2).
-s suffix
Creates tar and feather files using the given suffix style. The default suffix style is .tar.Z. Note that the suffix style does not dictate the program used for feathering nor the compression suffix.
Only lists the table of contents of the given files. Does not make any changes.
(Un)tars and (de)feathers the given files according to their type. Default.
Verbose output. For example, reports compression ratios when feathering.
Non-verbose output. Does not report compression ratios. Default. -q is a synonym.
Uses gzip(1) and a .z compression suffix when feathering.
Uses compress(1) and a .Z compression suffix when feathering. Default.
-zip, -jar
Uses zip(1) and a .zip or .jar compression suffix when tarring and/or feathering. The zip format combines tarring and feathering. WARNING: zip does not preserve complete Unix filesystem information for the files it archives, such as links, some permissions, etc. A tar(1)-based format should be used if this is required.


This variable may be set to a string of the above options to supersede the default settings. They may still be overridden by options given on the command line.

This environment variable for gzip(1) is not passed on by comprez so that gzip's behavior is standard and predictable.

These environment variables for zip(1) and unzip(1) are not passed on by comprez so that their behavior is standard and predictable.


There should be an option to allow the use of another directory for temporary files needed during the (un)tarring and (de)feathering processes. This would make comprez more useful when the quota or disk is nearly full.

There should be -k and -K options for keeping the original input files or not.


Comprez is written to work with gzip versions 1.2.3 and 1.2.4, bzip2 versions 0.9.0 and 1.0.0, Unix zip version 2.0.1 and Unix unzip version 5.12. Other versions will probably work safely, too, but should still be checked for compatibility.

Every effort has been made to assure that the use of this program will not lead to the inappropriate deletion or corruption of any files. However, there are never any guarantees, so please use at your own risk.




Steve Kinzler, [email protected], May 89/Jun 93/Aug 99/Dec 00