Linux 中的 gzip 命令
Gzip 是最流行的压缩算法之一,它允许您减小文件的大小并保留原始文件的模式,所有权和时间戳。
Gzip 还指 .gz
文件格式和用于压缩和解压缩文件的 gzip
实用程序。
在本教程中,我们将向您展示如何使用该 gzip
命令。
gzip
命令语法
该 gzip
命令的常规语法如下:
gzip [OPTION]... [FILE]...
Gzip 仅压缩单个文件,并为每个给定文件创建一个压缩文件。按照约定,使用 Gzip 压缩的文件名应以 .gz
或结束 .z
。
如果要将多个文件或目录压缩到一个文件中,则首先需要创建一个 Tar 归档文件 .tar
,然后使用 Gzip 压缩该文件。以 Gzip 压缩的 Tar 归档文件后缀为 .tar.gz
或 .tgz
。
Gzip 最常用于压缩文本文件, Tar 存档和网页。不要使用 Gzip 压缩图像,音频, PDF 文档和其他二进制文件,因为它们已经被压缩。
gzip
只能压缩常规文件,符号链接会被忽略。
使用 gzip
压缩文件
要压缩单个文件,请调用 gzip
命令,后跟文件名:
gzip filename
gzip
将创建一个文件 filename.gz
并删除原始文件。
默认情况下, gzip
将原始文件的时间戳,模式,所有权和名称保留在压缩文件中。
保留原始文件
如果要保留输入(原始)文件,请使用 -k
选项:
gzip -k filename
保留原始文件的另一个选项是使用 -c
选项,该选项告诉 gzip
在标准输出上进行写入并将输出重定向到文件:
gzip -c filename > filename.gz
详细输出
如果要查看百分比减少和正在处理的文件的名称,请使用 -v
选项:
gzip -v filename
filename: 7.5% -- replaced with filename.gz
压缩多个文件
您还可以将多个文件作为参数传递给命令。例如,要压缩命名文件 file1
, file2
, file3
,您将运行以下命令:
gzip file1 file2 file3
上面的命令将创建三个压缩文件, file1.gz
, file2.gz
, file3.gz
。
压缩目录中的所有文件
要压缩给定目录中的所有文件,请使用 -r
选项:
gzip -r directory
gzip
将递归地遍历整个目录结构,并压缩目录及其子目录中的所有文件。
更改压缩级别
gzip
允许您指定1到9的压缩级别范围。 -1
或者 --fast
表示压缩率最小的最快压缩速度, -9
或者 --best
表示压缩率最大的最慢压缩速度。默认压缩级别为 -6
。
例如,要获得最大压缩率,应运行:
gzip -9 filename
压缩是一项占用大量 CPU 的任务,压缩级别越高,处理时间越长。
使用标准输入
要从标准输入创建 .gz
文件,请将命令的输出传递给 gzip
。例如,要创建 Gzip 压缩的 MySQL 数据库备份,请运行:
mysqldump database_name | gzip -c > database_name.sql.gz
该 mysqldump
命令的输出将通过管道输入到 gzip
命令。
用 gzip
解压缩文件
要解压缩 .gz
文件,请使用以下 -d
选项:
gzip -d filename.gz
可以用来解压缩 gzip 文件的另一个命令是 gunzip
。此命令基本上是 gzip -d
:
gunzip filename.gz
您可能会发现它 gunzip
比 gzip -d
更容易记忆。
保留压缩文件
与压缩文件时相同,该 -k
选项告知 gzip
解压缩时保留输入文件 :
gzip -dk filename.gz
解压缩多个文件
要一次解压缩多个文件,请将文件名作为参数传递给 gzip
:
gzip -d file1.gz file2.gz file3.gz
解压缩目录中的所有文件
与 -d
和 -r
选项一起使用时,以 gzip
递归方式解压缩给定目录中的所有文件:
gzip -dr directory
列出压缩文件的内容
与 -l
选项一起使用时, gzip
显示有关给定压缩文件的统计信息:
gzip -l filename
输出将包括未压缩的文件名,压缩和未压缩的大小以及压缩率:
compressed uncompressed ratio uncompressed_name
130 107 7.5% filename
要获取更多信息,请添加 -v
选项:
gzip -lv filename
method crc date time compressed uncompressed ratio uncompressed_name
defla a9b9e776 Sep 3 21:20 130 107 7.5% filename
结论
使用 Gzip ,您可以减小给定文件的大小。 gzip
命令允许您压缩和解压缩文件。
有关该 gzip
命令的更多信息,请参阅 Gnu gzip 文档页面。