## 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 own
           ership 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  specified,  or  if  a
           file  name is "-", the standard input is compressed to the
           standard output.  Gzip will only attempt to compress regu
           lar  files.  In particular, it will ignore symbolic links.

           If the compressed file name is too long for its file  sys
           tem,  gzip  truncates  it.  Gzip attempts to truncate only
           the parts of the file name longer than 3  characters.   (A
           part  is delimited by dots.) If the name consists of small
           parts only, the longest parts are truncated. 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  extensions  .tgz  and
           .taz  as  shorthands  for .tar.gz and .tar.Z respectively.
           When compressing, gzip uses the .tgz extension  if  neces
           sary 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 for
           mats, 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

           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.  Typ
           ically,  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
           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  compressing  or
           decompressing.

## 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 converted to
                  LF when compressing, and LF is converted 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 independently
                  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
                      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 fol
                  lowing 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 pre
                  sent.

                  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 truncated.)
                  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

           -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 trans
                  ferred to other systems.  A null suffix forces gun
                  zip  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 reduction
                  for each file compressed or decompressed.

           -V --version
                  Version. Display the version number and compilation
                  options then quit.

           -# --fast --best
                  Regulate  the speed of compression using the speci
                  fied 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 compression
                  level is -6 (that is, biased towards high  compres
                  sion 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 mem
           bers can still be recovered  (if  the  damaged  member  is
           removed).  However, you can get better compression by com
           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  multiple
           members  so  that  members can later be extracted indepen
           dently, use an archiver such as tar or zip. GNU  tar  sup
           ports  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  parameters.
           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)

## DIAGNOSTICS

           Exit status is normally 0; if an error occurs, exit status
           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 memory.
           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)?
                   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 compressed
           data on tapes.  (This example assumes you  are  using  the
           GNU version of tar.)

## BUGS

           The --list option reports incorrect sizes if they exceed 2
           gigabytes.  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 compres
           sion  than  the  default  compression  level (-6). On some
           highly redundant files, compress  compresses  better  than
           gzip.

                                  local                       GZIP(1)