NetBSD/gnu/usr.bin/gzip-1.0.7/gzip.doc

215 lines
8.8 KiB
Plaintext

GZIP(1) USER COMMANDS GZIP(1)
NAME
gzip, gunzip, zcat - compress or expand files
SYNOPSIS
gzip [ -cdfhLrtvV19 ] [ name ... ]
gunzip [ -cfhLrtvV ] [ name ... ]
zcat [ -hLV ] [ name ... ]
DESCRIPTION
Gzip reduces the size of the named files using Lempel-Ziv
coding (LZ77). Whenever possible, each file is replaced by
one with the extension .z, while keeping the same ownership
modes, access and modification times. (The extension is -z
for VMS, 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, gzip truncates it
and keeps the original file name in the compressed file.
Gzip will only attempt to compress regular files. In par-
ticular, it will ignore symbolic links.
Compressed files can be restored to their original form
using gzip -d or gunzip or zcat.
gunzip takes a list of files on its command line and
replaces each file whose name ends with .z or .Z or -z and
which begins with the correct magic number with an
uncompressed file without the original extension. gunzip
also recognizes the special extensions .tgz and .taz as
shorthands for .tar.z or .tar.Z
gunzip can currently decompress files created by gzip, zip,
compress or pack. The detection of the input format is
automatic. When using the first two formats, gunzip checks
a 32 bit CRC. For pack, gunzip checks the uncompressed
length. The compress format was not designed to allow con-
sistency checks. However 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 uncompress does not complain. This gen-
erally means that the standard uncompress does not check its
input, and happily generates garbage output.
Files created by 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.z format. To extract zip files with
several members, use unzip instead of gunzip.
zcat is identical to gunzip -c. (On some systems, zcat may
be installed as gzcat to preserve the original link to
compress.) zcat uncompresses either a list of files on the
command line or its standard input and writes the
uncompressed data on standard output. zcat will uncompress
files that have the correct magic number whether they have a
.z suffix or not.
Gzip uses the Lempel-Ziv algorithm used in zip and PKZIP.
The amount of compression obtained depends on the size of
the input and the distribution of common substrings. Typi-
cally, 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 compress), Huffman coding (as
used in pack), or adaptive Huffman coding (compact).
Compression is always performed, even if the compressed file
is slightly larger than the original. The worst case expan-
sion 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. gzip preserves the mode, ownership and timestamps of
files when compressing or decompressing.
OPTIONS
-c --stdout
Write output on standard output; keep original files
unchanged. If there are several input files, the out-
put consists of a sequence of independently compressed
members. To obtain better compression, concatenate all
input files before compressing them.
-d --decompress
Decompress.
-f --force
Force compression or decompression even if the file has
multiple links or the corresponding file already
exists. If -f is not given, and when not running in
the background, gzip prompts to verify whether an
existing file should be overwritten.
-h --help
Display a help screen.
-L --license
Display the gzip license.
-q --quiet
Suppress all warnings.
-r --recurse
Travel the directory structure recursively. If any of
the file names specified on the command line are direc-
tories, gzip will descend into the directory and
compress all the files it finds there (or decompress
them in the case of gunzip ).
-t --test
Test. Check the compressed file integrity.
-v --verbose
Verbose. Display the name and percentage reduction for
each file compressed.
-V --version
Version. Display the version number and compilation
options.
-# --fast --best
Regulate the speed of compression using the specified
digit #, where -1 or --fast indicates the fastest
compression method (less compression) and -9 or --best
indicates the slowest compression method (optimal
compression). The default compression level is -5.
ADVANCED USAGE
Multiple compressed files can be concatenated. In this case,
gunzip will extract all members at once. For example:
gzip -c file1 > foo.z
gzip -c file2 >> foo.z Then
gunzip -c foo
is equivalent to
cat file1 file2
In case of damage to one member of a .z 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.z
compresses better than
gzip -c file1 file2 > foo.z
If you want to recompress concatenated files to get better
compression, do:
zcat old.z | gzip > new.z
ENVIRONMENT
The environment variable GZIP can hold a set of default
options for 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 invo-
cation of the program.
SEE ALSO
znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1),
unzip(1), compress(1), pack(1), compact(1)
DIAGNOSTICS
Exit status is normally 0; if an error occurs, exit status
is 1. If a warning occurs, exit status is 2.
Usage: gzip [-cdfhLrtvV19] [file ...]
Invalid options were specified on the command line.
file: not in gzip format
The file specified to gunzip has not been
compressed.
file: Corrupt input. Use zcat to recover some data.
The compressed file has been damaged. The data up to
the point of failure can be recovered using
zcat file > recover
file: compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that
could deal with more bits than the decompress code
on this machine. Recompress the file with gzip,
which compresses better and uses less memory.
file: already has z suffix -- no change
The file is assumed to be already compressed.
Rename the file and try again or use zcat.
file already exists; do you wish to overwrite (y or n)?
Respond "y" if you want the output file to be
replaced; "n" if not.
gunzip: corrupt input
A SIGSEGV violation was detected which usually means
that the input file has been corrupted.
xx.x%
Percentage of the input saved by compression.
(Relevant only for -v.)
-- not a regular file or directory: ignored
When the input file is not a regular file or direc-
tory, (e.g. a symbolic link, socket, FIFO, device
file), it is left unaltered.
-- has xx other links: unchanged
The input file has links; it is left unchanged. See
ln(1) for more information. Use the -f flag to force
compression of multiply-linked files.
CAVEATS
The .z extension is already used by pack(1). You can link
gzip to pcat to get transparent decompression for programs
expecting .z files to be in pack format.