gzip
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | gzip [2013/01/28 04:29] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== gzip ====== | ||
+ | < | ||
+ | gzip, gunzip, zcat - compress or expand files | ||
+ | <a name''" | ||
+ | < | ||
+ | |||
+ | |||
+ | **gzip** | ||
+ | |||
+ | [** -acdfhlLnNrtvV19 **] | ||
+ | |||
+ | [**-S suffix**] | ||
+ | |||
+ | [ | ||
+ | //name ...// | ||
+ | |||
+ | ] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | **gunzip** | ||
+ | |||
+ | [** -acfhlLnNrtvV **] | ||
+ | |||
+ | [**-S suffix**] | ||
+ | |||
+ | [ | ||
+ | //name ...// | ||
+ | |||
+ | ] | ||
+ | |||
+ | |||
+ | |||
+ | **zcat** | ||
+ | |||
+ | [** -fhLV **] | ||
+ | |||
+ | [ | ||
+ | //name ...// | ||
+ | |||
+ | ] | ||
+ | <a name''" | ||
+ | < | ||
+ | |||
+ | //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 " | ||
+ | compressed to the standard output. | ||
+ | //Gzip// | ||
+ | |||
+ | will only attempt to compress regular files. | ||
+ | In particular, it will ignore symbolic links. | ||
+ | |||
+ | <p> | ||
+ | </ | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | 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 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. | ||
+ | the first two formats, | ||
+ | //gunzip// | ||
+ | |||
+ | checks a 32 bit CRC. For | ||
+ | //pack, gunzip// | ||
+ | |||
+ | checks the uncompressed length. The standard | ||
+ | // | ||
+ | |||
+ | 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 | ||
+ | // | ||
+ | |||
+ | does not complain. This generally means that the standard | ||
+ | // | ||
+ | |||
+ | 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 ' | ||
+ | conversion of tar.zip files to the tar.gz format. 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 | ||
+ | // | ||
+ | |||
+ | //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. | ||
+ | </ | ||
+ | |||
+ | //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 | ||
+ | // | ||
+ | |||
+ | Huffman coding (as used in | ||
+ | //pack//), | ||
+ | |||
+ | or adaptive Huffman coding | ||
+ | (// | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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. | ||
+ | </ | ||
+ | <a name''" | ||
+ | |||
+ | </ | ||
+ | |||
+ | <dl compact''" | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | 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, | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Decompress. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Display a help screen and quit. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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: | ||
+ | </ | ||
+ | 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. | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Display the | ||
+ | //gzip// | ||
+ | |||
+ | license and quit. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | When compressing, | ||
+ | default. (The original name is always saved if the name had to be | ||
+ | truncated.) When decompressing, | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | When compressing, | ||
+ | is the default. When decompressing, | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Suppress all warnings. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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// | ||
+ | |||
+ | ). | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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. | ||
+ | decompression on all given files regardless of suffix, as in: | ||
+ | <p> | ||
+ | |||
+ | gunzip -S "" | ||
+ | </ | ||
+ | Previous versions of gzip used | ||
+ | the .z suffix. This was changed to avoid a conflict with | ||
+ | // | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Test. Check the compressed file integrity. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Verbose. Display the name and percentage reduction for each file compressed | ||
+ | or decompressed. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Version. Display the version number and compilation options then quit. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | 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). | ||
+ | </ | ||
+ | <a name''" | ||
+ | < | ||
+ | |||
+ | Multiple compressed files can be concatenated. In this case, | ||
+ | //gunzip// | ||
+ | |||
+ | will extract all members at once. For example: | ||
+ | <p> | ||
+ | |||
+ | gzip -c file1 > foo.gz | ||
+ | |||
+ | gzip -c file2 & | ||
+ | </ | ||
+ | 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, | ||
+ | </ | ||
+ | |||
+ | 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 uncompressed 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 independently, | ||
+ | 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''" | ||
+ | </p> | ||
+ | |||
+ | -- Main.FredPettis - 2010-06-24 |
gzip.txt · Last modified: 2013/01/28 04:29 by 127.0.0.1