gzip
和 gunzip
是 Linux 和 Unix 系统中用于文件压缩和解压缩的常用命令。gzip
用于压缩文件,而 gunzip
用于解压缩文件。这两个命令都属于 gzip
软件包,它们使用 Lempel-Ziv 编码(LZ77)和 Huffman 编码的组合来进行数据压缩。
gzip 命令
gzip
命令用于压缩文件。压缩后的文件会以 .gz
作为文件扩展名。默认情况下,gzip
会删除原始文件并替换为压缩后的文件。
基本语法:
gzip [选项] 文件名
常用选项:
-c
:将压缩后的内容输出到标准输出,而不是替换原始文件。-d
:解压缩文件(等同于gunzip
)。-k
:保留原始文件,不删除。-r
:递归地压缩目录中的所有文件。-v
:显示详细信息。-l
:列出压缩文件的详细信息。-1
到-9
:设置压缩级别,其中-1
是最快但压缩率最低的,-9
是最慢但压缩率最高的。默认是-6
。
示例:
压缩文件
example.txt
:gzip example.txt
这将会生成
example.txt.gz
并删除example.txt
。压缩文件并保留原始文件:
gzip -k example.txt
这将会生成
example.txt.gz
但保留example.txt
。压缩多个文件:
gzip file1.txt file2.txt
gunzip 命令
gunzip
命令用于解压缩 .gz
文件。默认情况下,它会删除压缩文件并替换为解压缩后的文件。
基本语法:
gunzip [选项] 压缩文件名
常用选项:
-c
:将解压缩后的内容输出到标准输出,而不是替换原始文件。-k
:保留压缩文件,不删除。-v
:显示详细信息。
示例:
解压缩文件
example.txt.gz
:gunzip example.txt.gz
这将会生成
example.txt
并删除example.txt.gz
。解压缩文件并保留压缩文件:
gunzip -k example.txt.gz
这将会生成
example.txt
但保留example.txt.gz
。解压缩文件并将内容输出到标准输出:
gunzip -c example.txt.gz > example.txt
这将会将解压缩后的内容写入
example.txt
但保留example.txt.gz
。
在实际使用中,gzip
和 gunzip
通常可以通过相同的命令加上不同的选项来实现压缩和解压缩的功能,因此很多用户更倾向于只使用 gzip
命令,并通过添加适当的选项来执行所需的操作。