Linux 中的 Gzip 命令
Gzip 是最流行的压缩算法之一,它允许您减小文件的大小并保留原始文件模式、所有权和时间戳。
Gzip 还指.gz
文件格式和用于压缩和解压缩文件的gzip
实用程序。
在本教程中,我们将向您展示如何使用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
压缩多个文件
您还可以将多个文件作为参数传递给命令。例如,要压缩名为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
。例如,创建 Gzipped 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文档页面
。
如果您有任何疑问,请在下面留言。