Annotation of coherent/g/usr/bin/gzip/gzip.texi, revision 1.1.1.1

1.1       root        1: \input texinfo @c -*-texinfo-*-
                      2: @c %**start of header
                      3: @setfilename gzip.info
                      4: @settitle Gzip User's Manual
                      5: @finalout
                      6: @setchapternewpage odd
                      7: @c %**end of header
                      8: 
                      9: @ifinfo
                     10: This file documents the the GNU @code{gzip} command for compressing files.
                     11: 
                     12: Copyright (C) 1992-1993 Jean-loup Gailly
                     13: 
                     14: Permission is granted to make and distribute verbatim copies of
                     15: this manual provided the copyright notice and this permission notice
                     16: are preserved on all copies.
                     17: 
                     18: @ignore
                     19: Permission is granted to process this file through TeX and print the
                     20: results, provided the printed document carries copying permission
                     21: notice identical to this one except for the removal of this paragraph
                     22: (this paragraph not being relevant to the printed manual).
                     23: 
                     24: @end ignore
                     25: Permission is granted to copy and distribute modified versions of this
                     26: manual under the conditions for verbatim copying, provided that the entire
                     27: resulting derived work is distributed under the terms of a permission
                     28: notice identical to this one.
                     29: 
                     30: Permission is granted to copy and distribute translations of this manual
                     31: into another language, under the above conditions for modified versions,
                     32: except that this permission notice may be stated in a translation approved
                     33: by the Foundation.
                     34: @end ifinfo
                     35: 
                     36: @titlepage
                     37: @title gzip
                     38: @subtitle The data compression program
                     39: @subtitle Edition 1.0.5, for Gzip Version 1.0.5
                     40: @subtitle March 1993
                     41: @author by Jean-loup Gailly
                     42: 
                     43: @page
                     44: @vskip 0pt plus 1filll
                     45: Copyright @copyright{} 1992-1993 Jean-loup Gailly
                     46: 
                     47: Permission is granted to make and distribute verbatim copies of
                     48: this manual provided the copyright notice and this permission notice
                     49: are preserved on all copies.
                     50: 
                     51: Permission is granted to copy and distribute modified versions of this
                     52: manual under the conditions for verbatim copying, provided that the entire
                     53: resulting derived work is distributed under the terms of a permission
                     54: notice identical to this one.
                     55: 
                     56: Permission is granted to copy and distribute translations of this manual
                     57: into another language, under the above conditions for modified versions,
                     58: except that this permission notice may be stated in a translation approved
                     59: by the Foundation.
                     60: @end titlepage
                     61: 
                     62: @node Top, , , (dir)
                     63: 
                     64: @ifinfo
                     65: This file documents the @code{gzip} command to compress files.
                     66: @end ifinfo
                     67: 
                     68: @menu
                     69: * Copying::            How you can copy and share @code{gzip}.
                     70: * Overview::           Preliminary information.
                     71: * Sample::             Sample output from @code{gzip}.
                     72: * Invoking gzip::      How to run @code{gzip}.
                     73: * Advanced usage::     Concatenated files.
                     74: * Environment::                The @code{GZIP} environment variable
                     75: * Problems::           Reporting bugs.
                     76: * Concept Index::      Index of concepts.
                     77: @end menu
                     78: 
                     79: @node Copying, Overview, , Top
                     80: @include gpl.texinfo
                     81: 
                     82: @node Overview, Sample, Copying, Top
                     83: @chapter Overview
                     84: @cindex overview
                     85: 
                     86: @code{Gzip} reduces the size of the named files using Lempel-Ziv coding
                     87: (LZ77).  Whenever possible, each file is replaced by one with the
                     88: extension ".z", while keeping the same ownership modes, access and
                     89: modification times.  (The extension is "-z" for VMS, "z" for MSDOS, OS/2
                     90: and Atari.)  If no files are specified, the standard input is compressed
                     91: to the standard output. If the new file name is too long, @code{gzip}
                     92: truncates it and keeps the original file name in the compressed file.
                     93: @code{gzip} will only attempt to compress regular files.  In particular,
                     94: it will ignore symbolic links.
                     95: 
                     96: Compressed files can be restored to their original form using
                     97: "@code{gzip} -d" or @code{gunzip} or @code{zcat}.
                     98: 
                     99: @code{gunzip} takes a list of files on its command line and replaces
                    100: each file whose name ends with ".z" or ".Z" and which begins with the
                    101: correct magic number with an uncompressed file without the original
                    102: extension.  @code{gunzip} also recognizes the special extensions ".tgz"
                    103: and ".taz" as shorthands for ".tar.z" or ".tar.Z".
                    104: 
                    105: @code{gunzip} can currently decompress files created by @code{gzip},
                    106: @code{zip}, @code{compress} or @code{pack}. The detection of the input
                    107: format is automatic.  When using the first two formats, @code{gunzip}
                    108: checks a 32 bit CRC (cyclic redundancy check). For @code{pack},
                    109: @code{gunzip} checks the uncompressed length. The @code{compress}
                    110: format was not designed to allow consistency checks. However @code{gunzip}
                    111: is sometimes able to detect a bad .Z file. If you get an error
                    112: when uncompressing a .Z file, do not assume that the .Z file is
                    113: correct simply because the standard @code{uncompress} does not complain.
                    114: This generally means that the standard @code{uncompress} does not check its
                    115: input, and happily generates garbage output.
                    116: 
                    117: Files created by @code{zip} can be uncompressed by @code{gzip} only if
                    118: they have a single member compressed with the 'deflation' method. This
                    119: feature is only intended to help conversion of @code{tar.zip} files to
                    120: the @code{tar.z} format. To extract @code{zip} files with several
                    121: members, use @code{unzip} instead of @code{gunzip}.
                    122: 
                    123: @code{zcat} is identical to "@code{gunzip} -c".  @code{zcat}
                    124: uncompresses either a list of files on the command line or its standard
                    125: input and writes the uncompressed data on standard output.  @code{zcat}
                    126: will uncompress files that have the correct magic number whether they
                    127: have a ".z" suffix or not.
                    128: 
                    129: @code{gzip} uses the Lempel-Ziv algorithm used in @code{zip} and PKZIP.
                    130: The amount of compression obtained depends on the size of the input and
                    131: the distribution of common substrings.  Typically, text such as source
                    132: code or English is reduced by 60-70%.  Compression is generally much
                    133: better than that achieved by LZW (as used in @code{compress}), Huffman
                    134: coding (as used in @code{pack}), or adaptive Huffman coding
                    135: (@code{compact}).
                    136: 
                    137: Compression is always performed, even if the compressed file is slightly
                    138: larger than the original. The worst case expansion is a few bytes for
                    139: the gzip file header, plus 5 bytes every 32K block, or an expansion
                    140: ratio of 0.015% for large files.  @code{gzip} preserves the mode,
                    141: ownership and timestamps of files when compressing or decompressing.
                    142: 
                    143: @node Sample, Invoking gzip, Overview, Top
                    144: @chapter Sample Output
                    145: @cindex sample
                    146: 
                    147: Here are some realistic examples of running @code{gzip}.
                    148: 
                    149: This is the output of the command @samp{gzip}:
                    150: 
                    151: @example
                    152: usage: gzip [-cdfhLrv19] [file ...]
                    153: For more help, type: gzip -h
                    154: @end example
                    155: 
                    156: This is the output of the command @samp{gzip -h}:
                    157: 
                    158: @example
                    159: gzip 1.0.5 (4 Mar 93)
                    160: usage: gzip [-cdfhLrtvV19] [file ...]
                    161:  -c --stdout      write on standard output, keep original files unchanged
                    162:  -d --decompress  decompress
                    163:  -f --force       force overwrite of output file and compress links
                    164:  -h --help        give this help
                    165:  -L --license     display software license
                    166:  -q --quiet       suppress all warnings
                    167:  -r --recurse     recurse through directories
                    168:  -t --test        test compressed file integrity (implies -d)
                    169:  -v --verbose     verbose mode
                    170:  -V --version     display version number
                    171:  -1 --fast        compress faster
                    172:  -9 --best        compress better
                    173:  file...          files to (de)compress. If none given, use standard input
                    174: @end example
                    175: 
                    176: This is the output of the command @samp{gzip -v gzip.c}:
                    177: 
                    178: @example
                    179: gzip.c:                 69.8% -- replaced with gzip.c.z
                    180: @end example
                    181: 
                    182: @node Invoking gzip, Advanced usage, Sample, Top
                    183: @chapter Invoking @code{gzip}
                    184: @cindex invoking
                    185: @cindex options
                    186: 
                    187: The format for running the @code{gzip} program is:
                    188: 
                    189: @example
                    190: gzip @var{option} @dots{}
                    191: @end example
                    192: 
                    193: @code{gzip} supports the following options:
                    194: 
                    195: @table @samp
                    196: @item --help
                    197: @itemx -h
                    198: Print an informative help message describing the options.
                    199: 
                    200: @item --stdout
                    201: @itemx -c
                    202: Write output on standard output; keep original files unchanged.
                    203: If there are several input files, the output consists of a sequence of
                    204: independently compressed members. To obtain better compression,
                    205: concatenate all input files before compressing them.
                    206: 
                    207: @item --decompress
                    208: @itemx -d
                    209: Decompress.
                    210: 
                    211: @item --force
                    212: @itemx -f
                    213: Force compression or decompression even if the file has multiple links
                    214: or the corresponding file already exists. If -f is not given, and
                    215: when not running in the background, @code{gzip} prompts to verify
                    216: whether an existing file should be overwritten.
                    217: 
                    218: @item --help
                    219: @itemx -h
                    220: Display a help screen.
                    221: 
                    222: @item --license
                    223: @itemx -L
                    224: Display the @code{gzip} license.
                    225: 
                    226: @item --recurse
                    227: @itemx -r
                    228: Travel the directory structure recursively. If any of the file names
                    229: specified on the command line are directories, @code{gzip} will descend
                    230: into the directory and compress all the files it finds there (or
                    231: decompress them in the case of @code{gunzip}).
                    232: 
                    233: @item --test
                    234: @itemx -t
                    235: Test. Check the compressed file integrity.
                    236: 
                    237: @item --verbose
                    238: @itemx -v
                    239: Verbose. Display the name and percentage reduction for each file compressed.
                    240: 
                    241: @item --version
                    242: @itemx -V
                    243: Version. Display the version number and compilation options.
                    244: 
                    245: @item --fast
                    246: @itemx --best
                    247: @itemx -#
                    248: Regulate the speed of compression using the specified digit #, where -1
                    249: or --fast indicates the fastest compression method (less compression)
                    250: and --best or -9 indicates the slowest compression method (optimal
                    251: compression).  The default compression level is -5.
                    252: @end table
                    253: 
                    254: @node Advanced usage, Environment, Invoking gzip, Top
                    255: @chapter Advanced usage
                    256: @cindex concatenated files
                    257: 
                    258: Multiple compressed files can be concatenated. In this case,
                    259: @code{gunzip} will extract all members at once. If one member is
                    260: damaged, other members might still be recovered after removal of the
                    261: damaged member. Better compression can be usually obtained if all
                    262: members are decompressed then recompressed in a single step.
                    263: 
                    264: This is an example of concatenating gzip files:
                    265: 
                    266: @example
                    267: gzip -c file1  > foo.z
                    268: gzip -c file2 >> foo.z
                    269: @end example
                    270: 
                    271: Then
                    272: 
                    273: @example
                    274: gunzip -c foo
                    275: @end example
                    276: 
                    277: is equivalent to
                    278: 
                    279: @example
                    280: cat file1 file2
                    281: @end example
                    282: 
                    283: In case of damage to one member of a .z file, other members can
                    284: still be recovered (if the damaged member is removed). However,
                    285: you can get better compression by compressing all members at once:
                    286: 
                    287: @example
                    288: cat file1 file2 | gzip > foo.z
                    289: @end example
                    290: 
                    291: compresses better than
                    292: 
                    293: @example
                    294: gzip -c file1 file2 > foo.z
                    295: @end example
                    296: 
                    297: If you want to recompress concatenated files to get better compression, do:
                    298: 
                    299: @example
                    300: zcat old.z | gzip > new.z
                    301: @end example
                    302: 
                    303: @node Environment, Problems, Advanced usage, Top
                    304: @chapter Environment
                    305: @cindex Environment
                    306: 
                    307: The environment variable @code{GZIP} can hold a set of default options for
                    308: gzip.  These options are interpreted first and can be ovewritten by
                    309: explicit command line parameters.  For example:
                    310: 
                    311: @example
                    312: for sh:    GZIP="-8 -v"; export GZIP
                    313: for csh:   setenv GZIP "-8 -v"
                    314: for MSDOS: set GZIP=-8 -v
                    315: @end example
                    316: 
                    317: On Vax/VMS, the name of the environment variable is @code{GZIP_OPT}, to
                    318: avoid a conflict with the symbol set for invocation of the program.
                    319: 
                    320: @node Problems, Concept Index, Environment, Top
                    321: @chapter Reporting Bugs
                    322: @cindex bugs
                    323: 
                    324: If you find a bug in @code{gzip}, please send electronic mail to
                    325: @w{@samp{jloup@@chorus.fr}} or, if this fails, to
                    326: @w{@samp{bug-gnu-utils@@prep.ai.mit.edu}}.  Include the version number,
                    327: which you can find by running @w{@samp{gzip -V}}.  Also include in your
                    328: message the hardware and operating system, the compiler used to compile,
                    329: a description of the bug behavior, and the input to gzip that triggered
                    330: the bug.@refill
                    331: 
                    332: @node Concept Index, , Problems, Top
                    333: @unnumbered Concept Index
                    334: 
                    335: @printindex cp
                    336: 
                    337: @shortcontents
                    338: @contents
                    339: @bye

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.