[ English | Espaņol ]


Zutils is a collection of utilities able to deal with any combination of compressed and uncompressed files transparently. If any given file, including standard input, is compressed, its decompressed content is used. Compressed files are decompressed on the fly; no temporary files are created.

These utilities are not wrapper scripts but safer and more efficient C++ programs. In particular the "--recursive" option is very efficient in those utilities supporting it.

The provided utilities are:
zcat - Decompresses and copies files to standard output.
zcmp - Decompresses and compares two files byte by byte.
zdiff - Decompresses and compares two files line by line.
zgrep - Decompresses and searches files for a regular expression.
ztest - Tests integrity of compressed files.
zupdate - Recompresses files to lzip format.

The supported formats are bzip2, gzip, lzip and xz.
Zutils uses external compressors. The compressor to be used for each format is configurable at runtime.

zcat, zcmp, zdiff, and zgrep are improved replacements for the shell scripts provided by GNU gzip. ztest is unique to zutils. zupdate is similar to gzip's znew.

NOTE: Bzip2 and lzip provide well-defined values of exit status, which makes them safe to use with zutils. Gzip and xz may return ambiguous warning values, making them less reliable back ends for zutils.

FORMAT NOTE 1: The "--format" option allows the processing of a subset of formats in recursive mode and when trying compressed file names: "zgrep foo -r --format=bz2,lz somedir somefile.tar".

FORMAT NOTE 2: If the "--force-format" option is given, the files are passed to the corresponding decompressor without verifying their format, allowing for example the processing of compress'd (.Z) files with gzip: "zcmp --force-format=gz file.Z file.lz".

LANGUAGE NOTE: Uncompressed = not compressed = plain data; it may never have been compressed. Decompressed is used to refer to data which have undergone the process of decompression.


The manual is available in the info system of the GNU Operating System. Use info to access the top level info page. Use info zutils to access the zutils section directly.

The manual for zutils is also available online.


The latest released version of zutils can be found here. You may also subscribe to zutils-bug and receive an email every time a new version is released.

How to Get Help

For general discussion of bugs in zutils the mailing list zutils-bug@nongnu.org is the most appropriate forum. Please send messages as plain text. Please do not send messages encoded as HTML nor encoded as base64 MIME nor included as multiple formats. Please include a descriptive subject line. If all of the subject are "bug in zutils" it is impossible to differentiate them.

An archive of the bug report mailing list is available at http://lists.nongnu.org/mailman/listinfo/zutils-bug.

How to Help

To contact the author, either to report a bug or to contribute fixes or improvements, send mail to zutils-bug@nongnu.org. Please send messages as plain text. If posting patches they should be in unified diff format against the latest version. They should include a text description.

See also the zutils project page at Savannah.


Zutils is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

Valid HTML 4.01 Strict

Copyright © 2017 Antonio Diaz Diaz

You are free to copy, modify and distribute all or part of this article without limitation.

Updated: 2017-04-08