1、命令简介
gunzip:用于解压缩.gz文件。.gz文件是经过gzip压缩的文件,使用gunzip命令可以将其解压缩为原始文件。
2、命令语法
gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ] gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
3、命令描述
gunzip
命令接受一组文件作为其命令行参数,并替换每个文件,其文件名以.gz、-gz、.z、-z、_z或.Z结尾,并且以正确的魔数开头,用无原始扩展名的未压缩文件。gunzip
还将特殊扩展名.tgz
和.taz
识别为.tar.gz
和.tar.Z
的简写。在压缩时,如果需要,gzip将使用.tgz扩展名而不是截断带有.tar扩展名的文件。
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文件,请使用类似gunzip
4、命令选项
选项 | 描述 |
-a, --ascii | ASCII文本模式: 使用本地约定转换行尾。 此选项仅在某些非Unix系统上支持。 对于MSDOS,压缩时CR LF转换为LF, 解压缩时LF转换为CR LF。 |
-c, --stdout, --to-stdout | 将输出写入标准输出; 保持原始文件不变。 如果有多个输入文件, 则输出由一系列独立压缩的成员组成。 为了获得更好的压缩效果, 请在压缩之前将所有输入文件连接起来。 |
-d, --decompress, --uncompress | 解压缩。 |
-f, --force | 强制进行压缩或解压缩, 即使文件具有多个链接或相应的文件已存在, 或者压缩数据是从终端读取或写入的。 如果输入数据不是gzip识别的格式, 并且也给出了--stdout选项, 则将输入数据复制到标准输出而不进行任何更改:让zcat的行为类似于cat。 如果未指定-f, 并且未在后台运行时, gzip会提示是否应覆盖现有文件。 |
-h, --help | 显示帮助信息并退出。 |
-L, --license | 显示gzip的许可证并退出。 |
-n, --no-name | 在压缩时, 默认情况下不保存原始文件名和时间戳。 (如果名称必须被截断, 则始终保存原始名称。)在解压缩时, 如果存在原始文件名, 则不恢复原始文件名 (仅从压缩文件名中删除gzip后缀), 如果存在原始时间戳, 则不恢复原始时间戳(从压缩文件中复制)。 在解压缩时,这是默认选项。 |
-N, --name | 在压缩时, 始终保存原始文件名和时间戳; 这是默认选项。在解压缩时, 如果存在原始文件名, 则恢复原始文件名和时间戳。 该选项在文件名长度有限或在文件传输后丢失时间戳的系统上非常有用。 |
-q, --quiet | 屏蔽所有警告。 |
-r, --recursive | 递归遍历目录结构。 如果命令行指定的任何文件名是目录, 则gzip将进入该目录并压缩 或解压缩找到的所有文件(在gunzip的情况下)。 |
-S .suf, --suffix .suf | 在压缩时, 使用后缀.suf而不是.gz。 可以给出任何非空的后缀, 但是应避免使用除.z 和.gz以外的后缀, 以免在文件传输到其他系统时产生混淆。 在解压缩时, 从输入文件名中派生输出文件名时, 将.suf添加到后缀列表的开头。 |
-t, --test | 测试。检查压缩文件的完整性。 |
-v, --verbose | 详细模式。 显示每个已压缩或解压缩文件的名称和百分比减少。 |
-V, --version | 版本信息。 显示版本号和编译选项, 然后退出。 |
-#, --fast, --best | 调节压缩速度, 使用指定的数字#, 其中-1或--fast表示最快的压缩方法 (压缩较少), -9或--best表示最慢的压缩方法(最佳压缩)。 默认的压缩级别是-6(即以高压缩为代价的速度)。 |
5、使用示例
1)使用"gunzip"命令解压缩文件:
$ gunzip myfilename.gz
输出:
$ ls
myfilename.gz
$ gunzip myfilename.gz
$ ls
myfilename
2)强制解压缩文件:
$ gunzip -f myfilename.gz
输出:
$ ls
myfilename.gz
$ gunzip myfilename.gz
$ ls
myfilename
3)保留压缩和解压缩后的文件:
$ gunzip -k myfile.gz
输出:
$ ls
myfilename.gz
$ gunzip -k myfilename.gz
$ ls
myfilename myfilename.gz
4)显示压缩输出信息:
$ gunzip -l myfile.gz
输出:
$ gunzip -l myfilename.gz
compressed uncompressed ratio uncompressed_name
31 0 0.0% myfilename
5)递归地解压缩多个文件:
$ gunzip -r /tmp
输出:
$ ls /tmp/
myfilename1.gz myfilename.gz
$ gunzip -r /tmp/
$ ls /tmp/
myfilename myfilename1