云网牛站
所在位置:首页 > Linux命令 > 在Linux中用Gzip命令的方法:压缩及解压缩多个文件,列出压缩文件内容

在Linux中用Gzip命令的方法:压缩及解压缩多个文件,列出压缩文件内容

2019-09-04 09:56:49作者:牛福昕稿源:云网牛站

本文介绍在Linux操作系统中使用Gzip命令的方法,非常详细的介绍它的用法及使用场景,如果你正在学习该命令,把本文教给你的技巧学会就可以了。Gzip是最流行的压缩算法之一,允许你减小文件的大小并保持原始文件模式、所有权和时间戳,Gzip还引用.gz文件格式用于压缩和解压缩文件的gzip实用程序。

在Linux中用Gzip命令的方法:压缩及解压缩多个文件,列出压缩文件内容

 

gzip命令语法

gzip命令的一般语法如下:

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

Gzip仅压缩单个文件,并为每个给定文件创建一个压缩文件,按照惯例,使用Gzip压缩的文件名应以.gz或.z结尾。

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

Gzip最常用于压缩文本文件,Tar档案和网页,不要使用Gzip压缩图像、音频、PDF文档和其他二进制文件,因为它们已经过压缩。

gzip只能压缩常规文件,符号链接被忽略。

参考:使用gzip及bzip2在Linux系统下压缩和解压缩文件

 

使用gzip压缩文件的方法

要压缩单个文件,请调用gzip命令,后跟文件名:

$ gzip filename

gzip将创建一个文件filename.gz并删除原始文件。

默认情况下,gzip会在压缩文件中保留原始文件的时间戳、模式、所有权和名称。

1、保留原始文件

如果要保留输入(原始)文件,请使用-k选项:

$ gzip -k filename

保留原始文件的另一个选项是使用-c选项,它使gzip在标准输出上写入并将输出重定向到文件:

$ gzip -c filename > filename.gz

2、详细输出

如果要查看减少百分比和正在处理的文件的名称,请使用-v选项:

$ gzip -v filename

返回数据:

filename: 7.5% -- replaced with filename.gz

3、压缩多个文件

你还可以将多个文件作为参数传递给命令,例如,要压缩名为file1、file2、file3的文件,你将运行以下命令:

$ gzip file1 file2 file3

上面的命令将创建三个压缩文件:file1.gz、file2.gz、file3.gz。

4、压缩目录中的所有文件

要压缩给定目录中的所有文件,请使用-r选项:

$ gzip -r directory

gzip将递归遍历整个目录结构并压缩目录及其子目录中的所有文件。

5、更改压缩级别

gzip允许你指定一系列压缩级别,从1到9,-1或--fast表示最快的压缩速度和最小的压缩比,-9或--best表示最慢的压缩速度和最大的压缩比,默认压缩级别为-6。

例如,要获得最大压缩,你将运行:

$ gzip -9 filename

压缩是一项CPU密集型任务,压缩级别越高,进程所需的时间就越长。

6、使用标准输入

要从stdin创建.gz文件,请将命令的输出传递给gzip,例如,要创建Gzipped MySQL数据库备份,你将运行:

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

将为gzip输入mysqldump命令的输出。

 

使用gzip解压缩文件的方法

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

$ gzip -d filename.gz

你可以用来解压缩Gzip文件的另一个命令是gunzip,这个命令基本上是gzip -d的别名:

$ gunzip filename.gz

你可能会发现比gzip -d更容易记住gunzip。

1、保留压缩文件

与压缩文件时相同,-k选项使gzip保留输入文件,在本例中为压缩文件:

$ gzip -dk filename.gz

2、解压缩多个文件

要一次解压缩多个文件,请将文件名作为参数传递给gzip:

$ gzip -d file1 file2 file3

3、解压缩目录中的所有文件

当与-d和-r选项一起使用时,gzip以递归方式解压缩给定目录中的所有文件:

$ gzip -dr directory

4、列出压缩文件内容

与-l选项一起使用时,gzip显示有关给定压缩文件的统计信息:

$ gzip -l filename

输出将包括未压缩的文件名,压缩和未压缩的大小以及压缩率,如下图:

在Linux中用Gzip命令的方法:压缩及解压缩多个文件,列出压缩文件内容

要获取更多信息,请添加-v选项:

$ gzip -lv filename

在Linux中用Gzip命令的方法:压缩及解压缩多个文件,列出压缩文件内容

 

结论

使用Gzip,你可以减小给定文件的大小,gzip命令允许你压缩和解压缩文件,关于该命令的技巧及所有用途上面都给你介绍了。

 

相关主题

在Linux上为Nginx启用GZIP和Brotli压缩的方法

Linux命令子频道
精选文章
热门文章