Provided by: manpages-zh_1.5-1_all bug

NAME

       gzip, gunzip, zcat -  压缩或展开文件

揽
       gzip [ -acdfhlLnNrtvV19 ] [-S篯 [  ...  ]
       gunzip [ -acfhlLnNrtvV ] [-S篯 [  ...  ]
       zcat [ -fhLV ] [  ...  ]

述
       Gzip  采用Lempel-Ziv 编码算法(LZ77)压缩给定文件的大小。 在可能的情况下,
       每个文件被具有扩展名        .gz,        的文件所替换,        同时保留-
       属主状态,存取和修改时间   (在VMS系统下缺省扩展名为  -gz  在MSDOS、OS/2
       FAT,    Windows    NT    FAT    和Atari系统下,缺省扩展名为     z     )
       如果未指定文件名,或者指定了一个名为"-"的文件名,则从标准输入读取数据,压缩的
       结果输出到标准输出。                                               Gzip
       只尝试压缩常规文件,特别地,它将忽略符号连接。

       如果压缩后的文件名对于所在的文件系统来说太长,  gzip  会将其截断。 Gzip
       只尝试截断文件名中大于3个字符的段(每个段由点分隔)。如果文件名只由较小的段
       组成,最长的段将被截断。例如,如果文件名的长度限制是14个字符,文件gzip.msdos.exe
       将被压缩为gzi.msd.exe.gz。在没有文件名长度限制的系统中,文件名将不会被截断。

       缺省情况下, gzip 将允嘉募名和时间信息保存在压缩后的文件中。 当采用 -N
       选项解压缩文件时,这些信息将被利用。在-
       过文件传输后文件名被截断及时间信息
       未被保留的情况下,这些信息将将用于恢复文件名及时间信息。

       用  gzip  -d  或者  gunzip   以及   zcat.    可以将压缩后的文件恢复到-
       始的形式。如果保留在压缩文件中的允嘉募名不适合
       于当前的文件系统,将根据晕募名新建一个合法的文件名。

       gunzip 将命令行中以.gz, -gz, .z, -z, _z 或 .Z结尾并具有正确标志头的文件
       解压缩,并以去掉扩展名的解压缩文件替换晕募。  gunzip  也能识别扩展名为
       .tgz.taz  的文件,并将其分别当作  .tar.gz.tar.Z   的缩写。
       在压缩时,如果采用   .tar   扩展名则需要对文件名进行截断处理时,   gzip
       将采用 .tgz 作为扩展名。

       gunzip 目前能够解压由  gzip,  zip,  compress,  compress  -H  以及  pack
       产生的文件。    对输入格式的检测是自动的。当采用前两种格式时,   gunzip
       检查一个32位的CRC校验码。对于               pack,                gunzip
       则检查压缩前的数据长度。标准的                                 compress
       格式的设计无法实现一致性检查。但有时                             gunzip
       仍然能检测到坏的.Z文件。如果你在解压一个.Z文件时出现错误,不要简单地因为标准的
       uncompress 没有报错就认定.Z文件是正确的。 这通常意味着标准的 uncompress
       没有检查它的输入数据,而盲目地产生了错误的输出。SCO的compress
       -H格式(lzh压缩方 法)不包含CRC校验码,但也允许一些一致性检查。

       由                           zip                            生成的文件,
       如果其内容只有一个文件并且是以'deflation'方式压缩的,则可
       由gzip解压。这一特性只是为了方便将tar.zip
       格式的文件转换为tar.gz格式而加入的。  要解压含有多个文件的zip文件,请用
       unzip.

       zcat 的功能与 gunzip -c.  相同。 (在一些系统中, zcat 可能被安装成 gzcat
       以保留            compress            与zcat的杂辛印)           zcat
       将命令行中列出的文件或由标准输入输入的数据解压,解压后的数据写到标准输出。
       zcat 解压具有正确标志头的文件,而不管其是否带有 .gz 后缀。

       Gzip        采用       zip       和       PKZIP       中所采用的Lempel-
       Ziv算法。得到的压缩比依赖于输入数据的大小以及公用
       子串的分布。例如源程序和英文文档能够压缩60-70%。       压缩比通常比LZW(
       compress                 采用的算法)、Huffman编码(                 pack
       所采用的算法)、以及自适应Huffman编码( compact) 等方法要好得多。

       即使压缩后的文件略大于-
       文件,压缩也照样进行。最坏的情况下,多出的数据包括
       gzip文件头中的若干个字节,加上每块32K的5个字节,或者,对于大文件来说0.015%
       的放大率。注意实际占用的硬盘块数目几乎从不增加。                   gzip
       在压缩和解压缩时保留晕募的属主和时间信息。

项
       -a --ascii
              Ascii文本模式:按本地习惯转换行结束符。该选项仅在一些非Unix
              系统上有效。                               对于MSDOS,在压缩时CR
              LF(译注:即回车和换行符)被转换为LF,在解压时LF被 转换为CR LF。

       -c --stdout --to-stdout
              将结果写到标准输出;-
              文件保持不变。如果有多个输入文件,输出将由一系列
              独立的压缩文件组成。如果想得到较好的压缩率,在压缩前应将多个文件连在一起。

       -d --decompress --uncompress
              解压缩。

       -f --force
              强制压缩和解压缩,即使指定文件具有多重连接,或相应文件已-
              存在,或压缩数据    来自或写往一个终端。   如果输入数据是   gzip
              无法识别的格式,同时在命令行中也给出了--stdout选项,gzip将把输入数据拷贝至标准
              输出而不做任何改动,就象cat所做的一样。       如果未给出      -f
              选项,并且未在后台运行,                                    gzip
              会提示用户以确认是否覆盖一个已存在的文件。

       -h --help
              显示帮助信息然后退出。

       -l --list
              列出每个压缩文件的如下项目:

                  compressed size:  压缩文件的长度
                  uncompressed size:  压缩前文件的长度
                  ratio: 压缩率(如果未知则为0.0%)
                  uncompressed_name: 压缩前的文件名

              对于非gzip格式的文件,压缩前文件长度显示为-1,例如由compress压缩的.Z文件。
              可用下列命令得到这种文件压缩前的长度:

                  zcat file.Z | wc -c

              如果同时指定了--verbose选项,下列项目也被列出:

                  method: 压缩方式
                  crc: 未压缩数据的32位CRC校验码
                  date & time: 压缩前文件的时间信息

              目前支持的压缩方式有deflate、compress、lzh(SCO下的compress
              -H)以及pack等方式。
              对于非gzip格式的文件,crc校验码显示为ffffffff。

              若指定了--name选项,如果有的话,压缩前文件名,日期以及时间是保存在压缩文件中
              的内容。

              若指定了--verbose选项,还将列出所有文件的长度总和,除非某些文件的长度未知。
              若指定--quiet选项,将不显示标题和合计两行内容。

       -L --license
              显示 gzip 的许可证信息然后退出。

       -n --no-name
              在压缩时,缺省不保留-
              始文件名和时间信息。(如果必须对文件名作截断处理,           则-
              始文件名总是被保存。)               在解压缩时,即使有也不恢复-
              始文件名(仅将压                缩文件名中的                gzip
              后缀去掉)和时间信息(拷贝压缩文件中相应信息)。该选项是压缩时的缺省选项。

       -N --name
              在压缩时总是保存-
              始文件名和时间信息;该选项为缺省选项。在解压缩时,如果    存在-
              始文件名和时间信息则恢复之。该选项可用于对文件名长度有限制的系统,
              以及竟募传输后丢失时间信息的情况。

       -q --quiet
              压制所有警告信息。

       -r --recursive
              递归地访问目录结构。如果命令行中有目录名,                  gzip
              将进入目录并压缩所有找到的文件(如果执行的命令是          gunzip
              则对其解压缩)。

       -S .suf --suffix .suf
              采用.suf后缀取代.gz后缀。可以指定任何后缀,但应避免使用除了.z和.gz以外
              的其它后缀,以免文件传输到其它系统时发生混淆。一个空后缀将迫使gunzip
              解压缩所有文件而不管它具有什么样的后缀,例如:

                  gunzip -S "" *       (在MSDOS下用*.*替换*)

              以前版本的gzip采用.z后缀。为了避免与                    pack(1).
              冲突,后来作了改动。

       -t --test
              测试。检查压缩文件的完整性。

       -v --verbose
              详尽模式。显示每个压缩或解压缩文件的名字和压缩率。

       -V --version
              版本。显示版本号和编译选项后退出。  Version. Display the version
              number and compilation options then quit.

       -# --fast --best
              用指定的数字   #    调整压缩速度,    其中    -1--fast
              对应最快压缩方式(压缩率较低),        -9--best
              对应最慢压缩方式(压缩率最佳)。缺省的压缩级别为              -6
              (也就是说,以速度为代价偏向于高压缩率)。

法
       多个被压缩的文件可以连在一起。在这种情况下,                     gunzip
       能一次解压所有文件。例如:

             gzip -c file1  > foo.gz
             gzip -c file2 >> foo.gz

       然后
             gunzip -c foo

       上面的命令等价于

             cat file1 file2

       如果.gz文件中的某一个文件损坏,其他文件仍可以恢复(如果损坏的文件被删除的话)。
       而且一次压缩所有文件能得到较好的压缩率:

             cat file1 file2 | gzip > foo.gz

       上面用法的压缩率比下面用法的高:

             gzip -c file1 file2 > foo.gz

       如果想重新压缩连接起来的文件以得到较高的压缩率,可以用下面的命令:

             gzip -cd old.gz | gzip > new.gz

       如果一个压缩文件由多个文件组成,--list选项只能列出最后一个成员的
       解压后文件长度和CRC校验码。如果需要所有成员的解压后文件长度,可用如下命令:

             gzip -cd file.gz | wc -c

       如果想要产生一个具有多个成员的存档文件,以便将来能够独立地取出其中的成员,
       可以用tar或zip这样的归档软件。GNU
       tar支持-z选项,可直接调用gzip。gzip设计为 tar的补充,而非它的取代物。

量
       环境变量        GZIP       能够控制一系列       gzip       的缺省选项。
       这些选项被首先解释,并且能被命令行参数中的直接定义覆盖。例如:
             在sh下:    GZIP="-8v --name"; export GZIP
             在csh下:   setenv GZIP "-8v --name"
             在MSDOS下: set GZIP=-8v --name

       在Vax/VMS系统中,为了避免与调用该程序的符号设置冲突,该环境变量名为GZIP_OPT。

见
       znew(1),  zcmp(1),  zmore(1),  zforce(1),  gzexe(1),  zip(1), unzip(1),
       compress(1), pack(1), compact(1)

断
       正常的退出状态为0;如果出现错误,退出状态为1。如果出现警告信息,退出状态为2。

       Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
               在命令行中出现非法的选项。
       file: not in gzip format
               指定给 gunzip 的文件没有被压缩。
       file: Corrupt input. Use zcat to recover some data.
               压缩文件已损坏。在损坏点以前的数据可以用下列命令恢复。
                       zcat file > recover
       file: compressed with xx bits, can only handle yy bits
               文件       File       是由一个比在当前机器上能处理更多       
               的程序压缩的(采用LZW算法)。用gzip重新压缩该文件,将得到较好的压缩率,并且
               占用的内存较少。
       file: already has .gz suffix -- no change
               gzip认为该程序已狙顾酢8谋湮募名再试。
       file already exists; do you wish to overwrite (y or n)?
               如果你想覆盖该文件回答"y",如果不是回答"n"。

       gunzip: corrupt input
               探测到一个SIGSEGV非法操作,这通常意味着输入文件已舅鸹怠
       xx.x%
               由于压缩而减少的数据量相对于输入数据的百分比。(仅对应于  -v-l 选项。)
       -- not a regular file or directory: ignored
               如果输入文件不是常规文件或目录,(例如符号连接,socket文件,FIFO文件,
               设备文件),该文件将保持不变。
       -- has xx other links: unchanged
               该文件有连接,将保持不变。更多信息参见    ln(1).     采用    -f
               强制压缩多重连接文件。

告
       在向磁带写压缩数据时,通常需要在数据尾部充零以使数据总长度为磁带数据块
       长度的整数倍。当用       gunzip      对这样的数据解压缩时,      gunzip
       能检测到尾部的无用数据,在缺省情况下将发出一个警告信息。必须采用--quiet
       选项才能压制这一警告信息。该选项可以设在 GZIP 环境变量中,例如:
         在sh下:  GZIP="-q"  tar -xfz --block-compress /dev/rst0
         在csh下: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0

       在上面的例子中,gzip被采用了-z选项的GNU
       tar调用。在磁带上读写压缩数据时, 应确保采用同样的数据块长度(tar的  -b
       选项)。(本例假定使用的是GNU版本的tar。)

陷
       如果数据长度超过2GB,             采用--list选项时报告的文件长度不正确。
       如果压缩文件位于不能定位的存储介质上,采用--list选项时报告的文件长度为-1,crc
       校验码为ffffffff。

       在极少数情况下,--best选项得到的压缩率比缺省情况(-6)还差。对于一些高度冗余
       的文件, compressgzip 压缩得更好。

[Liu JingSong <js-liu@263.net>

[[inuxanhttp://cmpp.linuxforum.net

                                     local                             GZIP(1)