User Tools

Site Tools


gzip

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gzip [2013/01/27 21:29] (current)
Line 1: Line 1:
 +====== gzip ======
 +<​h2>​NAME</​h2>​
  
 +gzip, gunzip, zcat - compress or expand files
 +<a name''"​lbAC">​ </a>
 +<​h2>​SYNOPSIS</​h2>​
 +
 +
 +**gzip**
 +
 +[** -acdfhlLnNrtvV19 **]
 +
 +[**-S suffix**]
 +
 +[
 +//name ...//
 +
 +]
 +
 +
 +
 +
 +**gunzip**
 +
 +[** -acfhlLnNrtvV **]
 +
 +[**-S suffix**]
 +
 +[
 +//name ...//
 +
 +]
 +
 +
 +
 +**zcat**
 +
 +[** -fhLV **]
 +
 +[
 +//name ...//
 +
 +]
 +<a name''"​lbAD">​ </a>
 +<​h2>​DESCRIPTION</​h2>​
 +
 +//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 specified, 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.
 +
 +<p>
 +</​p><​div id''"​wide"><​script>​zSB(3,​3)</​script></​div>​
 +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 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.
 +<p>
 +
 +By default,
 +//gzip//
 +
 +keeps the original file name and timestamp in the compressed file. These
 +are used when decompressing 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.
 +</​p><​p>​
 +
 +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.
 +</​p><​p>​
 +
 +//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 necessary instead of truncating a file with a
 +**.tar**
 +
 +extension.
 +</​p><​p>​
 +
 +//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 generally 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.
 +</​p><​p>​
 +
 +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.gz format. To extract zip files
 +with several members, use
 +//unzip//
 +
 +instead of
 +//gunzip.//
 +
 +</​p><​p>​
 +
 +//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
 +**.gz**
 +
 +suffix or not.
 +</​p><​p>​
 +
 +//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
 +//​compress//​),​
 +
 +Huffman coding (as used in
 +//pack//),
 +
 +or adaptive Huffman coding
 +(//​compact//​).
 +
 +</​p><​p>​
 +
 +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.
 +</​p><​p>​
 +<a name''"​lbAE">​ </a>
 +
 +</​p><​h2>​OPTIONS</​h2>​
 +
 +<dl compact''"​compact">​
 +<​dt>​**-a --ascii**
 +
 +</​dt><​dd>​
 +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.
 +</​dd><​dt>​**-c --stdout --to-stdout**
 +
 +</​dt><​dd>​
 +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.
 +</​dd><​dt>​**-d --decompress --uncompress**
 +
 +</​dt><​dd>​
 +Decompress.
 +</​dd><​dt>​**-f --force**
 +
 +</​dt><​dd>​
 +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 ouput: 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 overwritten.
 +</​dd><​dt>​**-h --help**
 +
 +</​dt><​dd>​
 +Display a help screen and quit.
 +</​dd><​dt>​**-l --list**
 +
 +</​dt><​dd>​
 +For each compressed file, list the following fields:
 +<p>
 +
 +    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
 +</​p><​p>​
 +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:
 +</​p><​p>​
 +
 +    zcat file.Z | wc -c
 +
 +</​p><​p>​
 +In combination with the --verbose option, the following fields are also
 +displayed:
 +</​p><​p>​
 +
 +    method: compression method
 +
 +    crc: the 32-bit CRC of the uncompressed data
 +
 +    date &amp; time: time stamp for the uncompressed file
 +</​p><​p>​
 +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.
 +</​p><​p>​
 +With --name, the uncompressed name,  date and time  are
 +those stored within the compress file if present.
 +</​p><​p>​
 +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.
 +
 +</​p></​dd><​dt>​**-L --license**
 +
 +</​dt><​dd>​
 +Display the
 +//gzip//
 +
 +license and quit.
 +</​dd><​dt>​**-n --no-name**
 +
 +</​dt><​dd>​
 +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.
 +</​dd><​dt>​**-N --name**
 +
 +</​dt><​dd>​
 +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.
 +</​dd><​dt>​**-q --quiet**
 +
 +</​dt><​dd>​
 +Suppress all warnings.
 +</​dd><​dt>​**-r --recursive**
 +
 +</​dt><​dd>​
 +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//
 +
 +).
 +</​dd><​dt>​**-S .suf   ​--suffix .suf**
 +
 +</​dt><​dd>​
 +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:
 +<p>
 +
 +    gunzip -S ""​** ​      ​(**.** for MSDOS)
 +</​p><​p>​
 +Previous versions of gzip used
 +the .z suffix. This was changed to avoid a conflict with
 +//​pack//​(1).
 +
 +
 +</​p></​dd><​dt>​**-t --test**
 +
 +</​dt><​dd>​
 +Test. Check the compressed file integrity.
 +</​dd><​dt>​**-v --verbose**
 +
 +</​dt><​dd>​
 +Verbose. Display the name and percentage reduction for each file compressed
 +or decompressed.
 +</​dd><​dt>​**-V --version**
 +
 +</​dt><​dd>​
 +Version. Display the version number and compilation options then quit.
 +</​dd><​dt>​**-#​ --fast --best**
 +
 +</​dt><​dd>​
 +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 (best compression).
 +The default compression level is
 +**-6**
 +
 +(that is, biased towards high compression at expense of speed).
 +</​dd></​dl>​
 +<a name''"​lbAF">​ </a>
 +<​h2>​ADVANCED USAGE</​h2>​
 +
 +Multiple compressed files can be concatenated. In this case,
 +//gunzip//
 +
 +will extract all members at once. For example:
 +<p>
 +
 +      gzip -c file1  &gt; foo.gz
 +
 +      gzip -c file2 &​gt;&​gt;​ foo.gz
 +</​p><​p>​
 +Then
 +</​p><​p>​
 +
 +      gunzip -c foo
 +</​p><​p>​
 +
 +is equivalent to
 +</​p><​p>​
 +
 +      cat file1 file2
 +</​p><​p>​
 +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:
 +</​p><​p>​
 +
 +      cat file1 file2 | gzip &gt; foo.gz
 +</​p><​p>​
 +compresses better than
 +</​p><​p>​
 +
 +      gzip -c file1 file2 &gt; foo.gz
 +
 +</​p><​p>​
 +If you want to recompress concatenated files to get better compression,​ do:
 +</​p><​p>​
 +
 +      gzip -cd old.gz | gzip &gt; new.gz
 +</​p><​p>​
 +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 uncompressed size for all members, you can use:
 +</​p><​p>​
 +
 +      gzip -cd file.gz | wc -c
 +</​p><​p>​
 +If you wish to create a single archive file with multiple members so
 +that members can later be extracted independently,​ 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.
 +<a name''"​lbAG">​ </a>
 +</p>
 +
 +-- Main.FredPettis - 2010-06-24
gzip.txt ยท Last modified: 2013/01/27 21:29 (external edit)