2025-02-24 04:42:45 +01:00
|
|
|
\input texinfo @c -*-texinfo-*-
|
|
|
|
@c %**start of header
|
|
|
|
@setfilename zutils.info
|
2025-02-24 04:58:36 +01:00
|
|
|
@settitle Zutils Manual
|
2025-02-24 04:42:45 +01:00
|
|
|
@finalout
|
|
|
|
@c %**end of header
|
|
|
|
|
2025-02-24 05:04:33 +01:00
|
|
|
@set UPDATED 20 November 2010
|
|
|
|
@set VERSION 0.9-rc1
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
@dircategory Data Compression
|
|
|
|
@direntry
|
|
|
|
* Zutils: (zutils). Utilities dealing with compressed files
|
|
|
|
@end direntry
|
|
|
|
|
|
|
|
|
|
|
|
@titlepage
|
|
|
|
@title Zutils
|
|
|
|
@subtitle Utilities dealing with compressed files
|
|
|
|
@subtitle for Zutils version @value{VERSION}, @value{UPDATED}
|
|
|
|
@author by Antonio Diaz Diaz
|
|
|
|
|
|
|
|
@page
|
|
|
|
@vskip 0pt plus 1filll
|
|
|
|
@end titlepage
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@ifnothtml
|
2025-02-24 04:42:45 +01:00
|
|
|
@contents
|
2025-02-24 05:01:08 +01:00
|
|
|
@end ifnothtml
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
@node Top
|
|
|
|
@top
|
|
|
|
|
|
|
|
This manual is for Zutils (version @value{VERSION}, @value{UPDATED}).
|
|
|
|
|
|
|
|
@menu
|
2025-02-24 05:01:08 +01:00
|
|
|
* Introduction:: Purpose and features of zutils
|
|
|
|
* Zcat:: Concatenating compressed files
|
|
|
|
* Zcmp:: Comparing compressed files byte by byte
|
|
|
|
* Zdiff:: Comparing compressed files line by line
|
|
|
|
* Zgrep:: Searching inside compressed files
|
|
|
|
* Ztest:: Testing integrity of compressed files
|
|
|
|
* Problems:: Reporting bugs
|
|
|
|
* Concept Index:: Index of concepts
|
2025-02-24 04:42:45 +01:00
|
|
|
@end menu
|
|
|
|
|
|
|
|
@sp 1
|
2025-02-24 05:01:08 +01:00
|
|
|
Copyright @copyright{} 2008, 2009, 2010 Antonio Diaz Diaz.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
This manual is free documentation: you have unlimited permission
|
|
|
|
to copy, distribute and modify it.
|
|
|
|
|
|
|
|
|
|
|
|
@node Introduction
|
|
|
|
@chapter Introduction
|
|
|
|
@cindex introduction
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
Zutils is a collection of utilities able to deal with any combination of
|
|
|
|
compressed and non-compressed files transparently. If any given file,
|
|
|
|
including standard input, is compressed, its uncompressed 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 @samp{--recursive} option is
|
|
|
|
very efficient in those utilities supporting it.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@noindent
|
|
|
|
The provided utilities are zcat, zcmp, zdiff, zgrep and ztest.@*
|
|
|
|
The supported compressors are bzip2, gzip, lzip and xz.
|
|
|
|
|
|
|
|
@sp 1
|
|
|
|
Numbers given as arguments to options (positions, sizes) may be followed
|
|
|
|
by a multiplier and an optional @samp{B} for "byte".
|
|
|
|
|
|
|
|
Table of SI and binary prefixes (unit multipliers):
|
|
|
|
|
|
|
|
@multitable {Prefix} {kilobyte (10^3 = 1000)} {|} {Prefix} {kibibyte (2^10 = 1024)}
|
|
|
|
@item Prefix @tab Value @tab | @tab Prefix @tab Value
|
|
|
|
@item k @tab kilobyte (10^3 = 1000) @tab | @tab Ki @tab kibibyte (2^10 = 1024)
|
|
|
|
@item M @tab megabyte (10^6) @tab | @tab Mi @tab mebibyte (2^20)
|
|
|
|
@item G @tab gigabyte (10^9) @tab | @tab Gi @tab gibibyte (2^30)
|
|
|
|
@item T @tab terabyte (10^12) @tab | @tab Ti @tab tebibyte (2^40)
|
|
|
|
@item P @tab petabyte (10^15) @tab | @tab Pi @tab pebibyte (2^50)
|
|
|
|
@item E @tab exabyte (10^18) @tab | @tab Ei @tab exbibyte (2^60)
|
|
|
|
@item Z @tab zettabyte (10^21) @tab | @tab Zi @tab zebibyte (2^70)
|
|
|
|
@item Y @tab yottabyte (10^24) @tab | @tab Yi @tab yobibyte (2^80)
|
|
|
|
@end multitable
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
@node Zcat
|
|
|
|
@chapter Zcat
|
|
|
|
@cindex zcat
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
Zcat copies each given file (@samp{-} means standard input), to standard
|
|
|
|
output. If any given file is compressed, its uncompressed content is
|
|
|
|
used. If a given file does not exist, and its name does not end with one
|
|
|
|
of the known extensions, zcat tries the compressed file names
|
2025-02-24 04:57:21 +01:00
|
|
|
corresponding to the supported compressors. If no files are specified,
|
2025-02-24 04:57:56 +01:00
|
|
|
data is read from standard input, decompressed if needed, and sent to
|
2025-02-24 05:01:08 +01:00
|
|
|
standard output. Data read from standard input must be of the same type;
|
|
|
|
all uncompressed or all compressed with the same compressor.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
The format for running zcat is:
|
|
|
|
|
|
|
|
@example
|
2025-02-24 05:01:08 +01:00
|
|
|
zcat [@var{options}] [@var{files}]
|
2025-02-24 04:42:45 +01:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
2025-02-24 05:01:08 +01:00
|
|
|
Exit status is 0 if no errors occurred, 1 otherwise.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
Zcat supports the following options:
|
|
|
|
|
|
|
|
@table @samp
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -h
|
|
|
|
@itemx --help
|
2025-02-24 04:42:45 +01:00
|
|
|
Print an informative help message describing the options and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -V
|
|
|
|
@itemx --version
|
2025-02-24 04:42:45 +01:00
|
|
|
Print the version number of zcat on the standard output and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -A
|
|
|
|
@itemx --show-all
|
|
|
|
Equivalent to @samp{-vET}.
|
|
|
|
|
|
|
|
@item -b
|
|
|
|
@itemx --number-nonblank
|
|
|
|
Number all nonblank output lines, starting with 1. The line count is
|
|
|
|
unlimited.
|
|
|
|
|
|
|
|
@item -e
|
|
|
|
Equivalent to @samp{-vE}.
|
|
|
|
|
|
|
|
@item -E
|
|
|
|
@itemx --show-ends
|
|
|
|
Print a @samp{$} after the end of each line.
|
|
|
|
|
|
|
|
@item -n
|
|
|
|
@itemx --number
|
|
|
|
Number all output lines, starting with 1. The line count is unlimited.
|
|
|
|
|
|
|
|
@item -q
|
|
|
|
@itemx --quiet
|
|
|
|
Quiet operation. Suppress all messages.
|
|
|
|
|
|
|
|
@item -r
|
|
|
|
@itemx --recursive
|
2025-02-24 04:58:36 +01:00
|
|
|
Operate recursively on directories.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -s
|
|
|
|
@itemx --squeeze-blank
|
|
|
|
Replace multiple adjacent blank lines with a single blank line.
|
|
|
|
|
|
|
|
@item -t
|
|
|
|
Equivalent to @samp{-vT}.
|
|
|
|
|
|
|
|
@item -T
|
|
|
|
@itemx --show-tabs
|
|
|
|
Print TAB characters as @samp{^I}.
|
|
|
|
|
|
|
|
@item -v
|
|
|
|
@itemx --show-nonprinting
|
|
|
|
Print control characters except for LF (newline) and TAB using @samp{^}
|
|
|
|
notation and precede characters larger than 127 with @samp{M-} (which
|
|
|
|
stands for "meta").
|
|
|
|
|
|
|
|
@item --verbose
|
|
|
|
Verbose mode. Show error messages.
|
|
|
|
|
2025-02-24 04:42:45 +01:00
|
|
|
@end table
|
|
|
|
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@node Zcmp
|
|
|
|
@chapter Zcmp
|
2025-02-24 04:42:45 +01:00
|
|
|
@cindex zcmp
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
Zcmp compares two files (@samp{-} means standard input), and if they
|
|
|
|
differ, tells the first byte and line number where they differ. Bytes
|
|
|
|
and lines are numbered starting with 1. If any given file is compressed,
|
|
|
|
its uncompressed content is used. Compressed files are decompressed on
|
|
|
|
the fly; no temporary files are created.
|
|
|
|
|
|
|
|
The format for running zcmp is:
|
|
|
|
|
|
|
|
@example
|
|
|
|
zcmp [@var{options}] @var{file1} [@var{file2}]
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
Compares @var{file1} to @var{file2}. If @var{file2} is omitted zcmp
|
|
|
|
tries the following:@*
|
|
|
|
If @var{file1} is compressed, compares @var{file1} to the file with the
|
|
|
|
corresponding decompressed file name (removes the extension from
|
|
|
|
@var{file1}).@*
|
|
|
|
If @var{file1} is not compressed, compares @var{file1} to the
|
|
|
|
uncompressed contents of @var{file1}.[bz2|gz|lz|xz] (the first one that
|
|
|
|
is found).@*
|
|
|
|
If no suitable file is found, compares @var{file1} to data read from
|
|
|
|
standard input.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
@noindent
|
2025-02-24 05:01:08 +01:00
|
|
|
An exit status of 0 means no differences were found, 1 means some
|
|
|
|
differences were found, and 2 means trouble.
|
|
|
|
|
|
|
|
Zcmp supports the following options:
|
|
|
|
|
|
|
|
@table @samp
|
|
|
|
@item -h
|
|
|
|
@itemx --help
|
|
|
|
Print an informative help message describing the options and exit.
|
|
|
|
|
|
|
|
@item -V
|
|
|
|
@itemx --version
|
|
|
|
Print the version number of zcmp on the standard output and exit.
|
|
|
|
|
|
|
|
@item -b
|
|
|
|
@itemx --print-bytes
|
|
|
|
Print the differing bytes. Print control bytes as a @samp{^} followed by
|
|
|
|
a letter, and precede bytes larger than 127 with @samp{M-} (which stands
|
|
|
|
for "meta").
|
|
|
|
|
|
|
|
@item -i @var{size}
|
|
|
|
@itemx --ignore-initial=@var{size}
|
|
|
|
Ignore any differences in the first @var{size} bytes of the input files.
|
|
|
|
Treat files with fewer than @var{size} bytes as if they were empty. If
|
|
|
|
@var{size} is in the form @samp{@var{size1},@var{size2}}, ignore the
|
|
|
|
first @var{size1} bytes of the first input file and the first
|
|
|
|
@var{size2} bytes of the second input file.
|
|
|
|
|
|
|
|
@item -l
|
|
|
|
@itemx -v
|
|
|
|
@itemx --list
|
|
|
|
@itemx --verbose
|
|
|
|
Print the byte numbers (in decimal) and values (in octal) of all
|
|
|
|
differing bytes.
|
|
|
|
|
|
|
|
@item -n @var{count}
|
|
|
|
@itemx --bytes=@var{count}
|
|
|
|
Compare at most @var{count} input bytes.
|
|
|
|
|
|
|
|
@item -q
|
|
|
|
@itemx -s
|
|
|
|
@itemx --quiet
|
|
|
|
@itemx --silent
|
|
|
|
Do not print anything; only return an exit status indicating whether the
|
|
|
|
files differ.
|
|
|
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
|
|
@node Zdiff
|
|
|
|
@chapter Zdiff
|
|
|
|
@cindex zdiff
|
|
|
|
|
|
|
|
Zdiff compares two files (@samp{-} means standard input), and if they
|
|
|
|
differ, shows the differences line by line. If any given file is
|
|
|
|
compressed, its uncompressed content is used. Zdiff is a front end to
|
|
|
|
the diff program and has the limitation that messages from diff refer to
|
|
|
|
temporary filenames instead of those specified.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
The format for running zdiff is:
|
|
|
|
|
|
|
|
@example
|
2025-02-24 05:01:08 +01:00
|
|
|
zdiff [@var{options}] @var{file1} [@var{file2}]
|
2025-02-24 04:42:45 +01:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
2025-02-24 05:01:08 +01:00
|
|
|
Compares @var{file1} to @var{file2}. If @var{file2} is omitted zdiff
|
|
|
|
tries the following:@*
|
|
|
|
If @var{file1} is compressed, compares @var{file1} to the file with the
|
2025-02-24 04:44:01 +01:00
|
|
|
corresponding decompressed file name (removes the extension from
|
2025-02-24 05:01:08 +01:00
|
|
|
@var{file1}).@*
|
|
|
|
If @var{file1} is not compressed, compares @var{file1} to the
|
|
|
|
uncompressed contents of @var{file1}.[bz2|gz|lz|xz] (the first one that
|
|
|
|
is found).@*
|
|
|
|
If no suitable file is found, compares @var{file1} to data read from
|
|
|
|
standard input.
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
An exit status of 0 means no differences were found, 1 means some
|
|
|
|
differences were found, and 2 means trouble.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
Zdiff supports the following options:
|
|
|
|
|
|
|
|
@table @samp
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -h
|
|
|
|
@itemx --help
|
2025-02-24 04:42:45 +01:00
|
|
|
Print an informative help message describing the options and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -V
|
|
|
|
@itemx --version
|
2025-02-24 04:42:45 +01:00
|
|
|
Print the version number of zdiff on the standard output and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -a
|
|
|
|
@itemx --text
|
|
|
|
Treat all files as text.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -b
|
|
|
|
@itemx --ignore-space-change
|
|
|
|
Ignore changes in the amount of white space.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -B
|
|
|
|
@itemx --ignore-blank-lines
|
|
|
|
Ignore changes whose lines are all blank.
|
|
|
|
|
|
|
|
@itemx -c
|
|
|
|
Use the context output format.
|
|
|
|
|
|
|
|
@item -C @var{n}
|
|
|
|
@itemx --context=@var{n}
|
|
|
|
Same as -c but use @var{n} lines of context.
|
|
|
|
|
|
|
|
@item -d
|
|
|
|
@itemx --minimal
|
|
|
|
Try hard to find a smaller set of changes.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -E
|
|
|
|
@itemx --ignore-tab-expansion
|
|
|
|
Ignore changes due to tab expansion.
|
|
|
|
|
|
|
|
@item -i
|
|
|
|
@itemx --ignore-case
|
|
|
|
Ignore case differences in file contents.
|
|
|
|
|
|
|
|
@item -p
|
|
|
|
@itemx --show-c-function
|
|
|
|
Show which C function each change is in.
|
|
|
|
|
|
|
|
@item -q
|
|
|
|
@itemx --brief
|
|
|
|
Output only whether files differ.
|
|
|
|
|
|
|
|
@item -s
|
|
|
|
@itemx --report-identical-files
|
|
|
|
Report when two files are identical.
|
|
|
|
|
|
|
|
@item -t
|
|
|
|
@itemx --expand-tabs
|
|
|
|
Expand tabs to spaces in output.
|
|
|
|
|
|
|
|
@item -T
|
|
|
|
@itemx --initial-tab
|
|
|
|
Make tabs line up by prepending a tab.
|
|
|
|
|
|
|
|
@item -u
|
|
|
|
Use the unified output format.
|
|
|
|
|
|
|
|
@item -U @var{n}
|
|
|
|
@itemx --unified=@var{n}
|
|
|
|
Same as -u but use @var{n} lines of context.
|
|
|
|
|
|
|
|
@item -w
|
|
|
|
@itemx --ignore-all-space
|
|
|
|
Ignore all white space.
|
|
|
|
|
|
|
|
@end table
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
@node Zgrep
|
|
|
|
@chapter Zgrep
|
|
|
|
@cindex zgrep
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
Zgrep is a front end to the grep program that allows transparent search
|
|
|
|
on any combination of compressed and non-compressed files. If any given
|
|
|
|
file is compressed, its uncompressed content is used. If a given file
|
|
|
|
does not exist, and its name does not end with one of the known
|
|
|
|
extensions, zgrep tries the compressed file names corresponding to the
|
|
|
|
supported compressors. If no files are specified, data is read from
|
|
|
|
standard input, decompressed if needed, and fed to grep. Data read from
|
|
|
|
standard input must be of the same type; all uncompressed or all
|
|
|
|
compressed with the same compressor.
|
2025-02-24 04:51:33 +01:00
|
|
|
|
2025-02-24 04:42:45 +01:00
|
|
|
The format for running zgrep is:
|
|
|
|
|
|
|
|
@example
|
2025-02-24 05:01:08 +01:00
|
|
|
zgrep [@var{options}] @var{pattern} [@var{files}]
|
2025-02-24 04:42:45 +01:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
2025-02-24 05:01:08 +01:00
|
|
|
An exit status of 0 means at least one match was found, 1 means no
|
|
|
|
matches were found, and 2 means trouble.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
Zgrep supports the following options:
|
|
|
|
|
|
|
|
@table @samp
|
|
|
|
@item --help
|
|
|
|
Print an informative help message describing the options and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -V
|
|
|
|
@itemx --version
|
2025-02-24 04:42:45 +01:00
|
|
|
Print the version number of zgrep on the standard output and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -a
|
|
|
|
@itemx --text
|
|
|
|
Treat all files as text.
|
|
|
|
|
|
|
|
@item -A @var{n}
|
|
|
|
@itemx --after-context=@var{n}
|
|
|
|
Print @var{n} lines of trailing context.
|
|
|
|
|
|
|
|
@item -b
|
|
|
|
@itemx --byte-offset
|
|
|
|
Print the byte offset of each line.
|
|
|
|
|
|
|
|
@item -B @var{n}
|
|
|
|
@itemx --before-context=@var{n}
|
|
|
|
Print @var{n} lines of leading context.
|
|
|
|
|
|
|
|
@item -c
|
|
|
|
@itemx --count
|
|
|
|
Only print a count of matching lines per file.
|
|
|
|
|
|
|
|
@item -C @var{n}
|
|
|
|
@itemx --context=@var{n}
|
|
|
|
Print @var{n} lines of output context.
|
|
|
|
|
|
|
|
@item -e @var{pattern}
|
|
|
|
@itemx --regexp=@var{pattern}
|
|
|
|
Use @var{pattern} as the pattern to match.
|
|
|
|
|
|
|
|
@item -E
|
|
|
|
@itemx --extended-regexp
|
|
|
|
Treat @var{pattern} as an extended regular expression.
|
|
|
|
|
|
|
|
@item -f @var{file}
|
|
|
|
@itemx --file=@var{file}
|
|
|
|
Obtain patterns from @var{file}, one per line.
|
|
|
|
|
|
|
|
@item -F
|
|
|
|
@itemx --fixed-strings
|
|
|
|
Treat @var{pattern} as a set of newline-separated strings.
|
|
|
|
|
|
|
|
@item -h
|
|
|
|
@itemx --no-filename
|
|
|
|
Suppress the prefixing filename on output.
|
|
|
|
|
|
|
|
@item -H
|
|
|
|
@itemx --with-filename
|
|
|
|
Print the filename for each match.
|
|
|
|
|
|
|
|
@item -i
|
|
|
|
@itemx --ignore-case
|
|
|
|
Ignore case distinctions.
|
|
|
|
|
|
|
|
@item -I
|
|
|
|
Ignore binary files.
|
|
|
|
|
|
|
|
@item -l
|
|
|
|
@itemx --files-with-matches
|
|
|
|
Only print names of files containing at least one match.
|
|
|
|
|
|
|
|
@item -L
|
|
|
|
@itemx --files-without-match
|
|
|
|
Only print names of files not containing any matches.
|
|
|
|
|
|
|
|
@item -m @var{n}
|
|
|
|
@itemx --max-count=@var{n}
|
|
|
|
Stop after @var{n} matches.
|
|
|
|
|
|
|
|
@item -n
|
|
|
|
@itemx --line-number
|
|
|
|
Prefix each matched line with its line number in the input file.
|
|
|
|
|
|
|
|
@item -o
|
|
|
|
@itemx --only-matching
|
|
|
|
Show only the part of matching lines that actually matches @var{pattern}.
|
|
|
|
|
|
|
|
@item -q
|
|
|
|
@itemx --quiet
|
|
|
|
Suppress all messages.
|
|
|
|
|
|
|
|
@item -r
|
|
|
|
@itemx --recursive
|
|
|
|
Operate recursively on directories.
|
|
|
|
|
|
|
|
@item -s
|
|
|
|
@itemx --no-messages
|
|
|
|
Suppress error messages.
|
|
|
|
|
|
|
|
@item -v
|
|
|
|
@itemx --invert-match
|
|
|
|
Select non-matching lines.
|
|
|
|
|
|
|
|
@item --verbose
|
|
|
|
Verbose mode. Show error messages.
|
|
|
|
|
|
|
|
@item -w
|
|
|
|
@itemx --word-regexp
|
|
|
|
Match only whole words.
|
|
|
|
|
|
|
|
@item -x
|
|
|
|
@itemx --line-regexp
|
|
|
|
Match only whole lines.
|
|
|
|
|
2025-02-24 04:42:45 +01:00
|
|
|
@end table
|
|
|
|
|
|
|
|
|
2025-02-24 04:58:36 +01:00
|
|
|
@node Ztest
|
|
|
|
@chapter Ztest
|
|
|
|
@cindex ztest
|
|
|
|
|
|
|
|
Ztest verifies the integrity of the specified compressed files.
|
|
|
|
Non-compressed files are ignored. If no files are specified, the
|
|
|
|
integrity of compressed data read from standard input is verified. Data
|
|
|
|
read from standard input must be all compressed with the same compressor.
|
|
|
|
|
|
|
|
The format for running ztest is:
|
|
|
|
|
|
|
|
@example
|
|
|
|
ztest [@var{options}] [@var{files}]
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
2025-02-24 05:01:08 +01:00
|
|
|
The exit status is 0 if all files verify OK, 1 for environmental
|
|
|
|
problems (file not found, invalid flags, I/O errors, etc), 2 to indicate
|
|
|
|
a corrupt or invalid input file.
|
2025-02-24 04:58:36 +01:00
|
|
|
|
|
|
|
Ztest supports the following options:
|
|
|
|
|
|
|
|
@table @samp
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -h
|
|
|
|
@itemx --help
|
2025-02-24 04:58:36 +01:00
|
|
|
Print an informative help message describing the options and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -V
|
|
|
|
@itemx --version
|
2025-02-24 04:58:36 +01:00
|
|
|
Print the version number of ztest on the standard output and exit.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -q
|
|
|
|
@itemx --quiet
|
2025-02-24 04:58:36 +01:00
|
|
|
Quiet operation. Suppress all messages.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -r
|
|
|
|
@itemx --recursive
|
2025-02-24 04:58:36 +01:00
|
|
|
Operate recursively on directories.
|
|
|
|
|
2025-02-24 05:01:08 +01:00
|
|
|
@item -v
|
|
|
|
@itemx --verbose
|
2025-02-24 04:58:36 +01:00
|
|
|
Verbose mode. Show the verify status for each file processed.
|
|
|
|
Further -v's increase the verbosity level.
|
|
|
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
2025-02-24 04:42:45 +01:00
|
|
|
@node Problems
|
|
|
|
@chapter Reporting Bugs
|
|
|
|
@cindex bugs
|
|
|
|
@cindex getting help
|
|
|
|
|
|
|
|
There are probably bugs in zutils. There are certainly errors and
|
|
|
|
omissions in this manual. If you report them, they will get fixed. If
|
|
|
|
you don't, no one will ever know about them and they will remain unfixed
|
|
|
|
for all eternity, if not longer.
|
|
|
|
|
|
|
|
If you find a bug in zutils, please send electronic mail to
|
2025-02-24 04:44:01 +01:00
|
|
|
@email{zutils-bug@@nongnu.org}. Include the version number, which you can
|
2025-02-24 05:01:08 +01:00
|
|
|
find by running @w{@samp{zutils --version}}.
|
2025-02-24 04:42:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
@node Concept Index
|
|
|
|
@unnumbered Concept Index
|
|
|
|
|
|
|
|
@printindex cp
|
|
|
|
|
|
|
|
@bye
|