361 lines
9.3 KiB
Groff
361 lines
9.3 KiB
Groff
.PU
|
|
.TH GZIP 1
|
|
.SH NAME
|
|
gzip, gunzip, zcat \- compress or expand files
|
|
.SH SYNOPSIS
|
|
.ll +8
|
|
.B gzip
|
|
.RB [ " \-acdfhLrtvV19 " ]
|
|
.RB [ \-S\ suffix ]
|
|
[
|
|
.I "name \&..."
|
|
]
|
|
.ll -8
|
|
.br
|
|
.B gunzip
|
|
.RB [ " \-acfhLrtvV " ]
|
|
.RB [ \-S\ suffix ]
|
|
[
|
|
.I "name \&..."
|
|
]
|
|
.br
|
|
.B zcat
|
|
.RB [ " \-hLV " ]
|
|
[
|
|
.I "name \&..."
|
|
]
|
|
.SH DESCRIPTION
|
|
.I Gzip
|
|
reduces the size of the named files using Lempel-Ziv coding (LZ77).
|
|
Whenever possible,
|
|
each file is replaced by one with the extension
|
|
.B "\&.gz,"
|
|
while keeping the same ownership modes, access and modification times.
|
|
(The default extension is
|
|
.B "\-gz"
|
|
for VMS,
|
|
.B "z"
|
|
for MSDOS, OS/2 and Atari.)
|
|
If no files are specified, the standard input is compressed to the
|
|
standard output. If the new file name is too long,
|
|
.I gzip
|
|
truncates it and keeps the original file name in the compressed file.
|
|
.I Gzip
|
|
will only attempt to compress regular files.
|
|
In particular, it will ignore symbolic links.
|
|
.PP
|
|
Compressed files can be restored to their original form using
|
|
.I gzip -d
|
|
or
|
|
.I gunzip
|
|
or
|
|
.I zcat.
|
|
.PP
|
|
.I gunzip
|
|
takes a list of files on its command line and replaces each
|
|
file whose name ends with .gz, -gz, .z, -z, _z or .Z
|
|
and which begins with the correct magic number with an uncompressed
|
|
file without the original extension.
|
|
.I gunzip
|
|
also recognizes the special extensions
|
|
.B "\&.tgz"
|
|
and
|
|
.B "\&.taz"
|
|
as shorthands for
|
|
.B "\&.tar.gz"
|
|
and
|
|
.B "\&.tar.Z"
|
|
respectively.
|
|
.PP
|
|
.I gunzip
|
|
can currently decompress files created by
|
|
.I gzip, zip, compress
|
|
or
|
|
.I pack.
|
|
The detection of the input format is automatic. When using
|
|
the first two formats,
|
|
.I gunzip
|
|
checks a 32 bit CRC. For
|
|
.I pack, gunzip
|
|
checks the uncompressed length. The
|
|
.I compress
|
|
format was not designed to allow consistency checks. However
|
|
.I gunzip
|
|
is sometimes able to detect a bad .Z file. If you get an error
|
|
when uncompressing a .Z file, do not assume that the .Z file is
|
|
correct simply because the standard
|
|
.I uncompress
|
|
does not complain. This generally means that the standard
|
|
.I uncompress
|
|
does not check its input, and happily generates garbage output.
|
|
.PP
|
|
Files created by
|
|
.I zip
|
|
can be uncompressed by gzip only if they have a single member compressed
|
|
with the 'deflation' method. This feature is only intended to help
|
|
conversion of tar.zip files to the tar.gz format. To extract zip files
|
|
with several members, use
|
|
.I unzip
|
|
instead of
|
|
.I gunzip.
|
|
.PP
|
|
.I zcat
|
|
is identical to
|
|
.I gunzip
|
|
.B \-c.
|
|
(On some systems,
|
|
.I zcat
|
|
may be installed as
|
|
.I gzcat
|
|
to preserve the original link to
|
|
.I compress.)
|
|
.I zcat
|
|
uncompresses either a list of files on the command line or its
|
|
standard input and writes the uncompressed data on standard output.
|
|
.I zcat
|
|
will uncompress files that have the correct magic number whether
|
|
they have a
|
|
.B "\&.gz"
|
|
suffix or not.
|
|
.PP
|
|
.I Gzip
|
|
uses the Lempel-Ziv algorithm used in
|
|
.I zip
|
|
and PKZIP.
|
|
The amount of compression obtained depends on the size of the
|
|
input and the distribution of common substrings.
|
|
Typically, text such as source code or English
|
|
is reduced by 60\-70%.
|
|
Compression is generally much better than that achieved by
|
|
LZW (as used in
|
|
.IR compress ),
|
|
Huffman coding (as used in
|
|
.IR pack ),
|
|
or adaptive Huffman coding
|
|
.RI ( compact ).
|
|
.PP
|
|
Compression is always performed, even if the compressed file is
|
|
slightly larger than the original. The worst case expansion is
|
|
a few bytes for the gzip file header, plus 5 bytes every 32K block,
|
|
or an expansion ratio of 0.015% for large files. Note that the actual
|
|
number of used disk blocks almost never increases.
|
|
.I gzip
|
|
preserves the mode, ownership and timestamps of files when compressing
|
|
or decompressing.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-a --ascii
|
|
Ascii text mode: convert end-of-lines using local conventions. This option
|
|
is supported only on some non-Unix systems. For MSDOS, CR LF is converted
|
|
to LF when compressing, and LF is converted to CR LF when decompressing.
|
|
.TP
|
|
.B \-c --stdout
|
|
Write output on standard output; keep original files unchanged.
|
|
If there are several input files, the output consists of a sequence of
|
|
independently compressed members. To obtain better compression,
|
|
concatenate all input files before compressing them.
|
|
.TP
|
|
.B \-d --decompress --uncompress
|
|
Decompress.
|
|
.TP
|
|
.B \-f --force
|
|
Force compression or decompression even if the file has multiple links
|
|
or the corresponding file already exists, or if the compressed data
|
|
is read from or written to a terminal. If
|
|
.B \-f
|
|
is not given,
|
|
and when not running in the background,
|
|
.I gzip
|
|
prompts to verify whether an existing file should be overwritten.
|
|
.TP
|
|
.B \-h --help
|
|
Display a help screen and quit.
|
|
.TP
|
|
.B \-L --license
|
|
Display the
|
|
.I gzip
|
|
license.
|
|
.TP
|
|
.B \-q --quiet
|
|
Suppress all warnings.
|
|
.TP
|
|
.B \-r --recurse
|
|
Travel the directory structure recursively. If any of the file names
|
|
specified on the command line are directories,
|
|
.I gzip
|
|
will descend into the directory and compress all the files it finds there
|
|
(or decompress them in the case of
|
|
.I gunzip
|
|
).
|
|
.TP
|
|
.B \-S .z --suffix .z
|
|
Use suffix .z instead of .gz. Any suffix can be given, but suffixes
|
|
other than .z and .gz should be avoided to avoid confusion when files
|
|
are transferred to other systems. Previous versions of gzip used
|
|
the .z suffix. This was changed to avoid a conflict with
|
|
.IR pack "(1)".
|
|
.TP
|
|
.B \-t --test
|
|
Test. Check the compressed file integrity.
|
|
.TP
|
|
.B \-v --verbose
|
|
Verbose. Display the name and percentage reduction for each file compressed.
|
|
.TP
|
|
.B \-V --version
|
|
Version. Display the version number and compilation options then quit.
|
|
.TP
|
|
.B \-# --fast --best
|
|
Regulate the speed of compression using the specified digit
|
|
.IR # ,
|
|
where
|
|
.B \-1
|
|
or
|
|
.B \-\-fast
|
|
indicates the fastest compression method (less compression)
|
|
and
|
|
.B \-9
|
|
or
|
|
.B \-\-best
|
|
indicates the slowest compression method (optimal compression).
|
|
The default compression level is
|
|
.BR \-5.
|
|
.SH "ADVANCED USAGE"
|
|
Multiple compressed files can be concatenated. In this case,
|
|
.I gunzip
|
|
will extract all members at once. For example:
|
|
|
|
gzip -c file1 > foo.gz
|
|
gzip -c file2 >> foo.gz
|
|
|
|
Then
|
|
gunzip -c foo
|
|
|
|
is equivalent to
|
|
|
|
cat file1 file2
|
|
|
|
In case of damage to one member of a .gz file, other members can
|
|
still be recovered (if the damaged member is removed). However,
|
|
you can get better compression by compressing all members at once:
|
|
|
|
cat file1 file2 | gzip > foo.gz
|
|
|
|
compresses better than
|
|
|
|
gzip -c file1 file2 > foo.gz
|
|
|
|
If you want to recompress concatenated files to get better compression, do:
|
|
|
|
zcat old.gz | gzip > new.gz
|
|
.SH "ENVIRONMENT"
|
|
The environment variable
|
|
.B GZIP
|
|
can hold a set of default options for
|
|
.I gzip.
|
|
These options are interpreted first and can be overwritten by
|
|
explicit command line parameters. For example:
|
|
for sh: GZIP="-8 -v"; export GZIP
|
|
for csh: setenv GZIP "-8 -v"
|
|
for MSDOS: set GZIP=-8 -v
|
|
|
|
On Vax/VMS, the name of the environment variable is GZIP_OPT, to
|
|
avoid a conflict with the symbol set for invocation of the program.
|
|
.SH "SEE ALSO"
|
|
znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1),
|
|
pack(1), compact(1)
|
|
.SH "DIAGNOSTICS"
|
|
Exit status is normally 0;
|
|
if an error occurs, exit status is 1. If a warning occurs, exit status is 2.
|
|
.PP
|
|
Usage: gzip [-cdfhLrtvV19] [-S suffix] [file ...]
|
|
.in +8
|
|
Invalid options were specified on the command line.
|
|
.in -8
|
|
.IR file :
|
|
not in gzip format
|
|
.in +8
|
|
The file specified to
|
|
.I gunzip
|
|
has not been compressed.
|
|
.in -8
|
|
.IR file:
|
|
Corrupt input. Use zcat to recover some data.
|
|
.in +8
|
|
The compressed file has been damaged. The data up to the point of failure
|
|
can be recovered using
|
|
.in +8
|
|
zcat file > recover
|
|
.in -16
|
|
.IR file :
|
|
compressed with
|
|
.I xx
|
|
bits, can only handle
|
|
.I yy
|
|
bits
|
|
.in +8
|
|
.I File
|
|
was compressed (using LZW) by a program that could deal with
|
|
more
|
|
.I bits
|
|
than the decompress code on this machine.
|
|
Recompress the file with gzip, which compresses better and uses
|
|
less memory.
|
|
.in -8
|
|
.IR file :
|
|
already has .gz suffix -- no change
|
|
.in +8
|
|
The file is assumed to be already compressed.
|
|
Rename the file and try again.
|
|
.in -8
|
|
.I file
|
|
already exists; do you wish to overwrite (y or n)?
|
|
.in +8
|
|
Respond "y" if you want the output file to be replaced; "n" if not.
|
|
.in -8
|
|
gunzip: corrupt input
|
|
.in +8
|
|
A SIGSEGV violation was detected which usually means that the input file has
|
|
been corrupted.
|
|
.in -8
|
|
.I "xx.x%"
|
|
.in +8
|
|
Percentage of the input saved by compression.
|
|
(Relevant only for
|
|
.BR \-v \.)
|
|
.in -8
|
|
-- not a regular file or directory: ignored
|
|
.in +8
|
|
When the input file is not a regular file or directory,
|
|
(e.g. a symbolic link, socket, FIFO, device file), it is
|
|
left unaltered.
|
|
.in -8
|
|
-- has
|
|
.I xx
|
|
other links: unchanged
|
|
.in +8
|
|
The input file has links; it is left unchanged. See
|
|
.IR ln "(1)"
|
|
for more information. Use the
|
|
.B \-f
|
|
flag to force compression of multiply-linked files.
|
|
.in -8
|
|
.SH CAVEATS
|
|
When writing compressed data to a tape, it is generally necessary to
|
|
pad the output with zeroes up to a block boundary. When the data is
|
|
read and the whole block is passed to
|
|
.I gunzip
|
|
for decompression,
|
|
.I gunzip
|
|
detects that there is extra trailing garbage after the compressed data
|
|
and emits a warning by default. You have to use the --quiet option to
|
|
suppress the warning. This option can be set in the
|
|
.B GZIP
|
|
environment variable as in:
|
|
for sh: GZIP="-q" tar xfz /dev/rmt/datn
|
|
for csh: (setenv GZIP "-q"; tar xfz /dev/rmt/datn)
|
|
|
|
In the above example, gzip is invoked implicitly by the -z option
|
|
of GNU tar. Make sure that the same block size (-b option of
|
|
tar) is used for reading and writing compressed data on tapes.
|