


GZIP (1)                Public-Domain Utilities                 GZIP (1)







NAME  

        gzip, gunzip, zcat - compress or expand files 



SYNOPSIS  

        pgzipq q[p -acdfhlLnrtvV19 q]pqpq q[p-Sqsuffixp]qpq [ pname ...q ] 

        pgunzipq q[p -acfhlLnrtvV q]pqpq q[p-Sqsuffixp]qpq [ pname ...q ] 

        pzcatq q[p -fhLV q]pqpq [ pname ...q ] 



DESCRIPTION  

        pGzipq reduces the size of the named files using Lempel-Ziv coding 

        (LZ77).   Whenever  possible,  each file is replaced by one with

        the extension p.gz,q  while  keeping  the  same  ownership  modes,

        access and  modification  times.   (The default extension is p-gzq

        for VMS, pzq for MSDOS, OS/2 FAT  and  Atari.)  If  no  files  are

        specified,  the  standard  input  is  compressed to the standard

        output.  pGzipq will only attempt to compress regular files.    In

        particular, it will ignore symbolic links.  



        If  the  new  file  name  is  too long for its file system, pgzipq

        truncates it and keeps the original file name in the  compressed

        file.  pGzipq 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.  



        Compressed  files  can  be restored to their original form using

        pgzipq-d or pgunzipq or pzcat.q 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.  



        pgunzipq 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.  pgunzipq also recognizes the 

        special  extensions  p.tgzq and p.tazq as shorthands for p.tar.gzq and

        p.tar.Zq respectively.   When  compressing,  pgzipq  uses  the  p.tgzq

        extension  if necessary instead of truncating a file with a p.tarq

        extension.  



        pgunzipq can currently decompress files created  by  pgzip,qzip,  or

        ppack.q The  detection  of  the  input  format is automatic.  When

        using the first two formats, pgunzipq checks a  32  bit  CRC.  For

        ppack,qgunzip checks   the  uncompressed  length.    The  standard

        pcompressq format was not designed to  allow  consistency  checks.

        However pgunzipq  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

        puncompressq does not complain.  This  generally  means  that  the

        standard  puncompressq  does  not  check  its  input,  and happily

        generates garbage output.   The  SCO  compress  -H  format  (lzh





Tue Jan 4 23:11:06 1994                                           Page 1







GZIP (1)                Public-Domain Utilities                 GZIP (1)





        compression  method) does not include a CRC but also allows some

        consistency checks.  



        Files created by pzipq 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 punzipq instead of pgunzip.q 



        pzcatq is identical to pgunzipq p-c.q (On some systems,  pzcatq  may  be

        installed  as  pgzcatq to preserve the original link to pcompress.)q

        pzcatq uncompresses either a list of files on the command line  or

        its  standard input and writes the uncompressed data on standard

        output.  pzcatq will uncompress files that have the correct  magic

        number whether they have a p.gzq suffix or not.  



        pGzipq uses  the  Lempel-Ziv algorithm used in pzipq 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

        pcompressq),pqpq Huffman coding (as used in ppackq),pqpq or adaptive Huffman 

        coding q(pcompactq).pqpq 



        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.  pgzipq 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, 





Tue Jan 4 23:11:06 1994                                           Page 2







GZIP (1)                Public-Domain Utilities                 GZIP (1)





                or if the compressed data is read from or written  to  a

                terminal.   If  the  input  data  is  not  in  a  format

                recognized by pgzip,q and if the option --stdout  is  also

                given,  copy  the  input  data  without  change  to  the

                standard ouput: let pzcatq behave as pcat.q  If  p-fq  is  not

                given,  and  when  not  running  in the background, pgzipq

                prompts to verify whether an  existing  file  should  be

                overwritten.  



        -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  --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 pgzipq license and quit.  



        -n --no-name  

                When compressing, do not save the original file name  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 pgzipq

                suffix from the compressed file name.  



        -q --quiet  

                Suppress all warnings.  



        -r --recurse  

                Travel the directory structure recursively.  If  any  of

                the  file  names  specified  on  the  command  line  are

                directories,  pgzipq will descend into the  directory  and

                compress  all  the  files  it finds there (or decompress

                them in the case of pgunzipq ).  





Tue Jan 4 23:11:06 1994                                           Page 3







GZIP (1)                Public-Domain Utilities                 GZIP (1)





        -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.  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 ppackq(1)p.qpq 



        -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  specified

                digit  p#q,pqpq  where  p-1q  or  p--fastq  indicates  the fastest

                compression method (less compression) and p-9q  or  p--bestq

                indicates   the   slowest  compression  method  (optimal

                compression).  The default compression level is p-6qpqpq (that 

                is,  biased  towards  high  compression  at  expense  of

                speed).  



ADVANCED USAGE  

        Multiple compressed  files  can  be concatenated.  In this case,

        pgunzipq 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 

        If  a  compressed  file  consists  of   several   members,   the

        uncompressed  size and CRC reported by the --list option applies

        to the last member only.  









Tue Jan 4 23:11:06 1994                                           Page 4







GZIP (1)                Public-Domain Utilities                 GZIP (1)





ENVIRONMENT  

        The environment variable pGZIPq can hold a set of default  options

        for  pgzip.q  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.  



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  [-cdfhlLnrtvV19]  [-S  suffix]  [file  ...]

        Invalid options  were  specified on the command line.  pfileq:pqpq not

                in gzip format The file specified to pgunzipq has not been 

        compressed.  pfile:qpqpq 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 pfileq:pqpq compressed with   pxxq  bits,  can  only

                handle    pyyq  bits  pFileq was compressed (using LZW) by a

                program that  could  deal  with  more    pbitsq  than  the

                decompress code  on  this  machine.  Recompress the file

                with  gzip,  which  compresses  better  and  uses   less

                memory.   pfileq:pqpq  already has .gz suffix -- no change The

                file is assumed to be already compressed.    Rename  the

        file and  try  again.    pfileq  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.    pxx.x%q

                Percentage of the input saved by compression.  (Relevant 

                only for p-vqpqpq and p-lq.)pqpq -- 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  pxxq other links: unchanged The

                input file has links; it is left unchanged.   See  plnq(1)pqpq

                for more   information.    Use  the  p-fq  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  pgunzipq

        for  decompression,  pgunzipq 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  pGZIPq  environment





Tue Jan 4 23:11:06 1994                                           Page 5







GZIP (1)                Public-Domain Utilities                 GZIP (1)





        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.  



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.  

        This manual page describes the UNIX version of pgzipq .  



COPYRIGHT  

        pGzipq is  not  part  of  the  Hermes  package.    Its   use   and

        distribution are governed by the Gnu Public License.  











































Tue Jan 4 23:11:06 1994                                           Page 6




