Linux中的Gzip命令

Gzip是最流行的压缩算法之一,它允许您减小文件的大小并保持原始文件的模式,所有权和时间戳。 Gzip也指.gz文件格式和gzip实用程序,用于压缩和解压缩文件。 在本教程中,我们将向您展示如何使用gzip命令。

5 min read
By myfreax
Linux中的Gzip命令

Gzip是最流行的压缩算法之一,它允许您减小文件的大小并保持原始文件的模式,所有权和时间戳。Gzip也指.gz文件格式和gzip命令,用于压缩和解压缩.gz文件。

在本教程中,我们将向您展示如何使用gzip命令。命令语法以及常见选项的解释,在解/压缩文件时保留原始文件,查看压缩进度,压缩一个或者多个文件与目录,指定压缩的级别,从标准输入中压缩文件,解压缩一个或多个文件与目录。

gzip命令语法

gzip命令的一般语法如下:

gzip [OPTION]... [FILE]...

Gzip仅压缩单个文件,并为每个指定文件创建一个压缩文件。按照约定,使用Gzip压缩的文件的名称都应以.gz.z结尾。

如果要将多个文件或目录压缩到一个文件中,则首先需要创建一个Tar存档文件,然后使用Gzip压缩.tar文件。以.tar.gz.tgz结尾的文件是使用Gzip压缩的Tar归档文件。

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。例如,要创建MySQL数据库备份,请运行以下运行命令:

mysqldump database_name | gzip -c > database_name.sql.gz

mysqldump命令的输出将通过管道传递到gzip命令。

使用gzip解压缩文件

要解压缩.gz文件,请使用-d选项:

gzip -d filename.gz

gunzip命令也可用于解压缩Gzip文件的。此命令基本上是gzip -d的别名。

gunzip filename.gz

gzip -d相比,您可能会更容易记住gunzip

保留压缩文件

与压缩文件时一样,gzip会删除原始文件,即作为参数那个文件。-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文档页面。如有任何疑问,请在下面发表评论。