ZTEST(1)

NAME
ztest - check the integrity of compressed files

SYNOPSIS
ztest [options] [files]

DESCRIPTION
ztest checks the integrity of the compressed files specified. It also warns if an uncompressed file has a compressed file name extension, or if a compressed file has a wrong compressed extension. Uncompressed files are otherwise ignored. If a file is specified as '-', the integrity of compressed data read from standard input is checked. Data read from standard input must be all in the same compressed format. If a file fails to decompress, does not exist, can't be opened, or is a terminal, ztest continues testing the rest of the files. A final diagnostic is shown at verbosity level 1 or higher if any file fails the test when testing multiple files.

If no files are specified, recursive searches examine the current working directory, and nonrecursive searches read standard input.

The formats supported are bzip2, gzip, lzip, xz, and zstd.

Note that error detection in the xz format is broken. First, some xz files lack integrity information. Second, not all xz decompressors can check the integrity of all xz files. Third, section 2.1.1.2 'Stream Flags' of the xz format specification allows xz decompressors to produce garbage output without issuing any warning. Therefore, xz files can't always be checked as reliably as files in the other formats can.

Exit status is 0 if all compressed files check OK, 1 if environmental problems (file not found, invalid command-line options, I/O errors, etc), 2 if any compressed file is corrupt or invalid, or if any file has an incorrect file name extension.

OPTIONS

-h, --help
    display this help and exit

-V, --version
    output version information and exit

-M, --format=<list>
    process only the formats in <list>

-N, --no-rcfile
    don't read runtime configuration file

-O, --force-format=<fmt>
    force the input format

-q, --quiet
    suppress all messages

-r, --recursive
    operate recursively on directories

-R, --dereference-recursive
    recursively follow symbolic links

-v, --verbose
    be verbose (a 2nd -v gives more)

-x, --exclude=<pattern>
    exclude files matching a shell pattern

--bz2=<command>
    set compressor and options for bzip2 format

--gz=<command>
    set compressor and options for gzip format

--lz=<command>
    set compressor and options for lzip format

--xz=<command>
    set compressor and options for xz format

--zst=<command>
    set compressor and options for zstd format

Valid formats for options '-M' and '-O' are 'bz2', 'gz', 'lz', 'xz', and 'zst'.

REPORTING BUGS
Report bugs to zutils-bug@nongnu.org
Zutils home page: http://www.nongnu.org/zutils/zutils.html

COPYRIGHT
Copyright © 2025 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
The full documentation for ztest is maintained as a Texinfo manual. If the info and ztest programs are properly installed at your site, the command

    info zutils

should give you access to the complete manual.