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

压缩多个文件

您还可以将多个文件作为参数传递给命令。例如,要压缩命名文件 file1file2file3 ,您将运行以下命令:

gzip file1 file2 file3

上面的命令将创建三个压缩文件, file1.gzfile2.gzfile3.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

您可能会发现它 gunzipgzip -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 文档页面