[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: man gunzip 难看



Andrew Lee 提到:

>On 13 Jun 2002, Dan Jacobson wrote:
>
>  
>
>>$ man gunzip
>>中文版难看 I don't think it was formatted right.
>>    
>>
>
>请问一下,小弟知道在 debian 上面有些 bug report
>用的工具,但是没装过也没用过,可否请这里的前辈们
>以此 bug 为范例,将 bug report 的过程贴出来或可做
>成 FAQ ,这样应该会让 debian 的套件品质更好些..:-)
>
>------------------------[ Taiwan Linux User Group ]-----------------------
>Andrew Lee                                         cell.: +886 932 394 697
>System & IT Consultant                       phone @work: +886 2 2242 6189
>Chinese GNU/Linux Extensions                    Red Hat Certified Engineer
>
>
>  
>

What about this one? (attachment) you can submit a bug
report pretty easily. just use reportbug it is not that hard.
May be we can make a chinese version... I'm not sure. Because
I think all the chinese package maintainer is in our list
also. And most of the question and fix is posted on here first.
But report bug will work for all maintainer. Try it and let me
know what you think.

Alex
-- 
| This message was re-posted from debian-chinese-big5@lists.debian.org
| and converted from big5 to gb2312 by an automatic gateway.
.\" 中文版版权所有 Liu JingSong, www.linuxforum.net 2000
.\" 本文件可在遵照LDP GENERAL PUBLIC LICENSE,Version 1, September 1998
.\" 中描述的条件下进行复制,且该档案发布时必须包含该文件.
.\"
.PU
.TH GZIP 1 local
.SH 命令名
gzip, gunzip, zcat \-  压缩或展开档案
.SH  总揽
.ll +8
.B gzip
.RB [ " \-acdfhlLnNrtvV19 " ]
.RB [ \-S\ 延伸档名 ]
[
.I "档名 \&..."
]
.ll -8
.br
.B gunzip
.RB [ " \-acfhlLnNrtvV " ]
.RB [ \-S\ 延伸档名 ]
[
.I "档名 \&..."
]
.br
.B zcat
.RB [ " \-fhLV " ]
[
.I "档名 \&..."
]
.SH 描述
.I Gzip
采用Lempel-Ziv 编码算法(LZ77)压缩给定档案的大小。
在可能的情况下, 每个档案被具有扩展名
.B "\&.gz,"
的档案所替换, 同时保留原属主状态,存取和修改时间
(在VMS系统下预设扩展名为
.B "\-gz"
在MSDOS、OS/2 FAT, Windows NT FAT 和Atari系统下,预设扩展名为
.B "z"
)
如果未指定档名,或者指定了一个名为"-"的档名,则从标准输入读取数据,压缩的
结果输出到标准输出。
.I Gzip
只尝试压缩常规档案,特别地,它将忽略符号连接。
.PP
如果压缩后的档名对于所在的档案系统来说太长,
.I gzip
会将其截断。
.I Gzip
只尝试截断档名中大于3个字符的段(每个段由点分隔)。如果档名只由较小的段
组成,最长的段将被截断。例如,如果档名的长度限制是14个字符,档案gzip.msdos.exe
将被压缩为gzi.msd.exe.gz。在没有档名长度限制的系统中,档名将不会被截断。
.PP
预设情况下,
.I gzip
将原始档名和时间信息保存在压缩后的档案中。
当采用
.B \-N
选项解压缩档案时,这些信息将被利用。在经过档案传输后档名被截断及时间信息
未被保留的情况下,这些信息将将用于恢复档名及时间信息。
.PP
用
.I gzip -d
或者
.I gunzip
以及
.I zcat.
可以将压缩后的档案恢复到原始的形式。如果保留在压缩档案中的原始档名不适合
于当前的档案系统,将根据原档名新建一个合法的档名。
.PP
.I gunzip
将命令行中以.gz, -gz, .z, -z, _z 或 .Z结尾并具有正确标志头的档案
解压缩,并以去掉扩展名的解压缩档案替换原档案。
.I gunzip
也能识别扩展名为
.B "\&.tgz"
和
.B "\&.taz"
的档案,并将其分别当作
.B "\&.tar.gz"
和
.B "\&.tar.Z"
的缩写。
在压缩时,如果采用
.B "\&.tar"
扩展名则需要对档名进行截断处理时,
.I gzip
将采用
.B "\&.tgz"
作为扩展名。
.PP
.I gunzip
目前能够解压由
.I gzip, zip, compress, compress -H
以及
.I pack
产生的档案。
对输入格式的检测是自动的。当采用前两种格式时,
.I gunzip
检查一个32位的CRC校验码。对于
.I pack, gunzip
则检查压缩前的数据长度。标准的
.I compress
格式的设计无法实现一致性检查。但有时
.I gunzip
仍然能检测到坏的.Z档案。如果你在解压一个.Z档案时出现错误,不要简单地因为标准的
.I uncompress
没有报错就认定.Z档案是正确的。
这通常意味著标准的
.I uncompress
没有检查它的输入数据,而盲目地产生了错误的输出。SCO的compress -H格式(lzh压缩方
法)不包含CRC校验码,但也允许\一些一致性检查。
.PP
由
.I zip
生成的档案, 如果其内容只有一个档案并且是以'deflation'方式压缩的,则可
由gzip解压。这一特性只是为了方便将tar.zip 格式的档案转换为tar.gz格式而加入的。
要解压含有多个档案的zip档案,请用
.I unzip.
.PP
.I zcat
的功\能与
.I gunzip
.B \-c.
相同。
(在一些系统中,
.I zcat
可能被安装成
.I gzcat
以保留
.I compress
与zcat的原有连接。)
.I zcat
将命令行中列出的档案或由标准输入输入的数据解压,解压后的数据写到标准输出。
.I zcat
解压具有正确标志头的档案,而不管其是否带有
.B "\&.gz"
延伸档名。
.PP
.I Gzip
采用
.I zip
和 PKZIP 中所采用的Lempel-Ziv算法。得到的压缩比依赖于输入数据的大小以及公用
子串的分布。例如源程式和英文文件能够压缩60\-70%。
压缩比通常比LZW(
.IR compress
采用的算法)、Huffman编码(
.IR pack
所采用的算法)、以及自适应Huffman编码(
.RI compact )
等方法要好得多。
.PP
即使压缩后的档案略大于原档案,压缩也照样进行。最坏的情况下,多出的数据包括
gzip档案头中的若干个字节,加上每块32K的5个字节,或者,对于大档案来说0.015%
的放大率。注意实际占用的硬碟块数目几乎从不增加。
.I gzip
在压缩和解压缩时保留原档案的属主和时间信息。

.SH 选项
.TP
.B \-a --ascii
Ascii文字模式:按本地习惯转换行结束符。该选项仅在一些非Unix 系统上有效。
对于MSDOS,在压缩时CR LF(译注:即回车和换行符)被转换为LF,在解压时LF被
转换为CR LF。
.TP
.B \-c --stdout --to-stdout
将结果写到标准输出;原档案保持不变。如果有多个输入档案,输出将由一系列
独立的压缩档案组成。如果想得到较好的压缩率,在压缩前应将多个档案连在一起。
.TP
.B \-d --decompress --uncompress
解压缩。
.TP
.B \-f --force
强制压缩和解压缩,即使指定档案具有多重连接,或相应档案已经存在,或压缩数据
来自或写往一个终端。
如果输入数据是
.I gzip
无法识别的格式,同时在命令行中也给出了--stdout选项,gzip将把输入数据拷贝至标准
输出而不做任何改动,就像cat所做的一样。
如果未给出
.B \-f
选项,并且未在背景运行,
.I gzip
会提示使用者以确认是否覆盖\一个已存在的档案。
.TP
.B \-h --help
显示帮助信息然后退出。
.TP
.B \-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选项,将不显示标题和合计两行内容。
.TP
.B \-L --license
显示
.I gzip
的许\可证信息然后退出。
.TP
.B \-n --no-name
在压缩时,预设不保留原始档名和时间信息。(如果必须对档名作截断处理,
则原始档名总是被保存。) 在解压缩时,即使有也不恢复原始档名(仅将压
缩档名中的
.I gzip
延伸档名去掉)和时间信息(拷贝压缩档案中相应信息)。该选项是压缩时的预设选项。
.TP
.B \-N --name
在压缩时总是保存原始档名和时间信息;该选项为预设选项。在解压缩时,如果
存在原始档名和时间信息则恢复之。该选项可用于对档名长度有限制的系统,
以及经过档案传输后丢失时间信息的情况。
.TP
.B \-q --quiet
压制所有警告讯息。
.TP
.B \-r --recursive
递归地访问目录结构。如果命令行中有目录名,
.I gzip
将进入目录并压缩所有找到的档案(如果执行的命令是
.I gunzip
则对其解压缩)。
.TP
.B \-S .suf   --suffix .suf
采用.suf延伸档名取代.gz延伸档名。可以指定任何延伸档名,但应避免使用除了.z和.gz以外
的其它延伸档名,以免档案传输到其它系统时发生混淆。一个空延伸档名将迫使gunzip
解压缩所有档案而不管它具有什么样的延伸档名,例如:

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

以前版本的gzip采用.z延伸档名。为了避免与
.IR pack "(1)".
冲突,后来作了改动。
.TP
.B \-t --test
测试。检查压缩档案的完整性。
.TP
.B \-v --verbose
详尽模式。显示每个压缩或解压缩档案的名字和压缩率。
.TP
.B \-V --version
版本。显示版本号和编译选项后退出。
Version. Display the version number and compilation options then quit.
.TP
.B \-# --fast --best
用指定的数字
.IR #
调整压缩速度,
其中
.B \-1
及
.B \-\-fast
对应最快压缩方式(压缩率较低),
.B \-9
及
.B \-\-best
对应最慢压缩方式(压缩率最佳)。预设的压缩级别为
.BR \-6
(也就是说,以速度为代价偏向于高压缩率)。
.SH "高级用法"
多个被压缩的档案可以连在一起。在这种情况下,
.I 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的补充,而非它的取代物。
.SH "环境变量"
环境变量
.B GZIP
能够控制一系列
.I gzip
的预设选项。
这些选项被首先解释,并且能被命令行参数中的直接定义覆盖\。例如:
      在sh下:    GZIP="-8v --name"; export GZIP
      在csh下:   setenv GZIP "-8v --name"
      在MSDOS下: set GZIP=-8v --name

在Vax/VMS系统中,为了避免与调用该程式的符号设置冲突,该环境变量名为GZIP_OPT。
.SH "另见"
znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1),
pack(1), compact(1)
.SH "诊断"
正常的退出状态为0;如果出现错误,退出状态为1。如果出现警告讯息,退出状态为2。
.PP
Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
.in +8
在命令行中出现非法的选项。
.in -8
.IR file :
not in gzip format
.in +8
指定给
.I gunzip
的档案没有被压缩。
.in -8
.IR file:
Corrupt input. Use zcat to recover some data.
.in +8
压缩档案已损坏。在损坏点以前的数据可以用下列命令恢复。
.in +8
zcat file > recover
.in -16
.IR file :
compressed with 
.I xx
bits, can only handle 
.I yy
bits
.in +8
档案
.I File
是由一个比在当前机器上能处理更多
.I 位
的程式压缩的(采用LZW算法)。用gzip重新压缩该档案,将得到较好的压缩率,并且
占用的记忆体较少。
.in -8
.IR file :
already has .gz suffix -- no change
.in +8
gzip认为该程式已经压缩。改变档名再试。
.in -8
.I file
already exists; do you wish to overwrite (y or n)?
.in +8
如果你想覆盖\该档案回答"y",如果不是回答"n"。

.in -8
gunzip: corrupt input
.in +8
探测到一个SIGSEGV非法操作,这通常意味著输入档案已经损坏。
.in -8
.I "xx.x%"
.in +8
由于压缩而减少的数据量相对于输入数据的百分比。(仅对应于
.BR \-v
和
.BR \-l
选项。)
.in -8
-- not a regular file or directory: ignored
.in +8
如果输入档案不是常规档案或目录,(例如符号连接,socket档案,FIFO档案,
设备档案),该档案将保持不变。
.in -8
-- has 
.I xx 
other links: unchanged
.in +8
该档案有连接,将保持不变。更多信息参见
.IR ln "(1)".
采用
.B \-f
强制压缩多重连接档案。
.in -8
.SH 警告
在向磁带写压缩数据时,通常需要在数据尾部充零以使数据总长度为磁带数据块
长度的整数倍。当用
.I gunzip
对这样的数据解压缩时,
.I gunzip
能检测到尾部的无用数据,在预设情况下将发出一个警告讯息。必须采用--quiet
选项才能压制这一警告讯息。该选项可以设在
.B 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。)
.SH 缺陷
如果数据长度超过2GB, 采用--list选项时报告的档案长度不正确。
如果压缩档案位于不能定位的存储介质上,采用--list选项时报告的档案长度为-1,crc
校验码为ffffffff。

在极少数情况下,--best选项得到的压缩率比预设情况(-6)还差。对于一些高度冗馀
的档案,
.I compress
比
.I gzip
压缩得更好。

.SH "[中文版维护人]"
.Liu JingSong E\-mail:js-liu@263.net
.SH "[中文版最新更新]"
2000/12/28
.SH "[中国Linux论坛man手册页翻译计划]"
.BI www.cmpp.net/
-- 
| This message was re-posted from debian-chinese-big5@lists.debian.org
| and converted from big5 to gb2312 by an automatic gateway.

Reply to: