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 filenamegzip将创建一个文件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 directorygzip会递归遍历整个目录结构,并压缩该目录及其子目录中的所有文件。
更改压缩级别
gzip允许您指定一系列压缩级别,从1到9。-1或--fast表示最快压缩速度和最小压缩比,-9或--best表示最慢压缩速度和最大压缩比。默认压缩级别为-6。
例如,要获得最大压缩,您可以运行:
gzip -9 filename压缩是一项CPU密集型任务,压缩级别越高,过程花费的时间越长。
使用标准输入
要从标准输入创建 .gz 文件,请将命令的输出通过管道传输到 gzip。例如,创建 Gzipped MySQL 数据库备份
你会运行:
mysqldump database_name | gzip -c > database_name.sql.gzmysqldump命令的输出将作为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文档页面
。
如果您有任何疑问,请在下面留言。