man/cat1/gzip.1.txt

GZIP(1) GZIP(1)
 
 
 
NAME
       gzip, gunzip, zcat - compress or expand files
 
SYNOPSIS
       gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
       gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ]
       zcat [ -fhLV ] [ 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 .gz, while keeping
       the same ownership modes, access and modification times.
       (The default extension is -gz for VMS, z for MSDOS, OS/2
       FAT, Windows NT FAT and Atari.) If no files are speci-
       fied, or if a file name is "-", the standard input is
       compressed to the standard output. Gzip will only
       attempt to compress regular files. In particular, it
       will ignore symbolic links.
 
       If the compressed file name is too long for its file
       system, gzip truncates it. Gzip attempts to truncate
       only the parts of the file name longer than 3 charac-
       ters. (A part is delimited by dots.) If the name con-
       sists of small parts only, the longest parts are trun-
       cated. For example, if file names are limited to 14
       characters, gzip.msdos.exe is compressed to
       gzi.msd.exe.gz. Names are not truncated on systems
       which do not have a limit on file name length.
 
       By default, gzip keeps the original file name and times-
       tamp in the compressed file. These are used when decom-
       pressing the file with the -N option. This is useful
       when the compressed file name was truncated or when the
       time stamp was not preserved after a file transfer.
 
       Compressed files can be restored to their original form
       using gzip -d or gunzip or zcat. If the original name
       saved in the compressed file is not suitable for its
       file system, a new name is constructed from the original
       one to make it legal.
 
       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. gunzip also recognizes the special exten-
       sions .tgz and .taz as shorthands for .tar.gz and .tar.Z
       respectively. When compressing, gzip uses the .tgz
       extension if necessary instead of truncating a file with
       a .tar extension.
 
       gunzip can currently decompress files created by gzip,
       zip, compress, compress -H 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 standard compress
       format was not designed to allow consistency 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 gener-
       ally means that the standard uncompress does not check
       its input, and happily generates garbage output. The
       SCO compress -H format (lzh compression method) does not
       include a CRC but also allows some consistency checks.
 
       Files created by zip can be uncompressed by gzip only if
       they have a single member compressed with the 'defla-
       tion' method. This feature is only intended to help con-
       version of tar.zip files to the tar.gz format. To
       extract a zip file with a single member, use a command
       like gunzip <foo.zip or gunzip -S .zip foo.zip. 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 uncom-
       press files that have the correct magic number whether
       they have a .gz 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. 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 com-
       press), 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 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. gzip preserves
       the mode, ownership and timestamps of files when com-
       pressing or decompressing.
 
       The gzip file format is specified in P. Deutsch, GZIP
       file format specification version 4.3,
       <ftp://ftp.isi.edu/in-notes/rfc1952.txt>, Internet RFC
       1952 (May 1996). The zip deflation format is specified
       in P. Deutsch, DEFLATE Compressed Data Format Specifica-
       tion version 1.3, <ftp://ftp.isi.edu/in-
       notes/rfc1951.txt>, Internet RFC 1951 (May 1996).
 
 
OPTIONS
       -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 con-
              verted to LF when compressing, and LF is con-
              verted to CR LF when decompressing.
 
       -c --stdout --to-stdout
              Write output on standard output; keep original
              files unchanged. If there are several input
              files, the output consists of a sequence of inde-
              pendently compressed members. To obtain better
              compression, concatenate all input files before
              compressing them.
 
       -d --decompress --uncompress
              Decompress.
 
       -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 the input data
              is not in a format recognized by gzip, and if the
              option --stdout is also given, copy the input
              data without change to the standard output: let
              zcat behave as cat. If -f is not given, and when
              not running in the background, gzip prompts to
              verify whether an existing file should be over-
              written.
 
       -h --help
              Display a help screen and quit.
 
       -l --list
              For each compressed file, list the following
              fields:
 
                  compressed size: size of the compressed file
                  uncompressed size: size of the uncompressed
              file
                  ratio: compression ratio (0.0% if unknown)
                  uncompressed_name: name of the uncompressed
              file
 
              The uncompressed size is given as -1 for files
              not in gzip format, such as compressed .Z files.
              To get the uncompressed size for such a file, you
              can use:
 
                  zcat file.Z | wc -c
 
              In combination with the --verbose option, the
              following fields are also displayed:
 
                  method: compression method
                  crc: the 32-bit CRC of the uncompressed data
                  date & time: time stamp for the uncompressed
              file
 
              The compression methods currently supported are
              deflate, compress, lzh (SCO compress -H) and
              pack. The crc is given as ffffffff for a file
              not in gzip format.
 
              With --name, the uncompressed name, date and
              time are those stored within the compress file
              if present.
 
              With --verbose, the size totals and compression
              ratio for all files is also displayed, unless
              some sizes are unknown. With --quiet, the title
              and totals lines are not displayed.
 
       -L --license
              Display the gzip license and quit.
 
       -n --no-name
              When compressing, do not save the original file
              name and time stamp by default. (The original
              name is always saved if the name had to be trun-
              cated.) When decompressing, do not restore the
              original file name if present (remove only the
              gzip suffix from the compressed file name) and do
              not restore the original time stamp if present
              (copy it from the compressed file). This option
              is the default when decompressing.
 
       -N --name
              When compressing, always save the original file
              name and time stamp; this is the default. When
              decompressing, restore the original file name and
              time stamp if present. This option is useful on
              systems which have a limit on file name length or
              when the time stamp has been lost after a file
              transfer.
 
       -q --quiet
              Suppress all warnings.
 
       -r --recursive
              Travel the directory structure recursively. If
              any of the file names specified on the command
              line are directories, gzip will descend into the
              directory and compress all the files it finds
              there (or decompress them in the case of gunzip
              ).
 
       --rsyncable
              While compressing, synchronize the output occa-
              sionally based on the input. This increases size
              by less than 1 percent most cases, but means that
              the rsync(1) program can much more efficiently
              synchronize files compressed with this flag.
              gunzip cannot tell the difference between a com-
              pressed file created with this option, and one
              created without it.
 
       -S .suf --suffix .suf
              Use suffix .suf 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. A null suffix
              forces gunzip to try decompression on all given
              files regardless of suffix, as in:
 
                  gunzip -S "" * (*.* for MSDOS)
 
              Previous versions of gzip used the .z suffix.
              This was changed to avoid a conflict with
              pack(1).
 
       -t --test
              Test. Check the compressed file integrity.
 
       -v --verbose
              Verbose. Display the name and percentage reduc-
              tion for each file compressed or decompressed.
 
       -V --version
              Version. Display the version number and compila-
              tion options then quit.
 
       -# --fast --best
              Regulate the speed of compression using the spec-
              ified digit #, where -1 or --fast indicates the
              fastest compression method (less compression) and
              -9 or --best indicates the slowest compression
              method (best compression). The default compres-
              sion level is -6 (that is, biased towards high
              compression at expense of speed).
 
ADVANCED USAGE
       Multiple compressed files can be concatenated. In this
       case, gunzip will extract all members at once. For exam-
       ple:
 
             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 bet-
       ter compression, do:
 
             gzip -cd old.gz | gzip > new.gz
 
       If a compressed file consists of several members, the
       uncompressed size and CRC reported by the --list option
       applies to the last member only. If you need the uncom-
       pressed size for all members, you can use:
 
             gzip -cd file.gz | wc -c
 
       If you wish to create a single archive file with multi-
       ple members so that members can later be extracted inde-
       pendently, use an archiver such as tar or zip. GNU tar
       supports the -z option to invoke gzip transparently.
       gzip is designed as a complement to tar, not as a
       replacement.
 
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 parame-
       ters. For example:
             for sh: GZIP="-8v --name"; export GZIP
             for csh: setenv GZIP "-8v --name"
             for MSDOS: set GZIP=-8v --name
 
       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.
 
SEE ALSO
       znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1),
       unzip(1), compress(1), pack(1), compact(1)
 
       The gzip file format is specified in P. Deutsch, GZIP
       file format specification version 4.3,
       <ftp://ftp.isi.edu/in-notes/rfc1952.txt>, Internet RFC
       1952 (May 1996). The zip deflation format is specified
       in P. Deutsch, DEFLATE Compressed Data Format Specifica-
       tion version 1.3, <ftp://ftp.isi.edu/in-
       notes/rfc1951.txt>, Internet RFC 1951 (May 1996).
 
DIAGNOSTICS
       Exit status is normally 0; if an error occurs, exit sta-
       tus is 1. If a warning occurs, exit status is 2.
 
       Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
              Invalid options were specified on the command
              line.
 
       file: not in gzip format
              The file specified to gunzip has not been com-
              pressed.
 
       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 mem-
              ory.
 
       file: already has .gz suffix -- no change
              The file is assumed to be already compressed.
              Rename the file and try again.
 
       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 and -l.)
 
       -- not a regular file or directory: ignored
              When the input file is not a regular file or
              directory, (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
       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 gunzip for decompression, 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 GZIP environment variable as in:
         for sh: GZIP="-q" tar -xfz --block-compress
       /dev/rst0
         for csh: (setenv GZIP -q; tar -xfz --block-compr
       /dev/rst0
 
       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 com-
       pressed data on tapes. (This example assumes you are
       using the GNU version of tar.)
 
BUGS
       The gzip format represents the input size modulo 2^32,
       so the --list option reports incorrect uncompressed
       sizes and compression ratios for uncompressed files 4 GB
       and larger. To work around this problem, you can use
       the following command to discover a large uncompressed
       file's true size:
 
             zcat file.gz | wc -c
 
       The --list option reports sizes as -1 and crc as
       ffffffff if the compressed file is on a non seekable
       media.
 
       In some rare cases, the --best option gives worse com-
       pression than the default compression level (-6). On
       some highly redundant files, compress compresses better
       than gzip.
 
COPYRIGHT NOTICE
       Copyright (C) 1998, 1999, 2001, 2002 Free Software Foun-
       dation, Inc.
       Copyright (C) 1992, 1993 Jean-loup Gailly
 
       Permission is granted to make and distribute verbatim
       copies of this manual provided the copyright notice and
       this permission notice are preserved on all copies.
 
       Permission is granted to copy and distribute modified
       versions of this manual under the conditions for verba-
       tim copying, provided that the entire resulting derived
       work is distributed under the terms of a permission
       notice identical to this one.
 
       Permission is granted to copy and distribute transla-
       tions of this manual into another language, under the
       above conditions for modified versions, except that this
       permission notice may be stated in a translation
       approved by the Foundation.
 
 
 
                                     local GZIP(1)