Gzip是最流行的压缩算法之一,它允许您减小文件的大小并保持原始文件的权限,所有权和时间戳。
Gzip也指.gz
文件格式和gzip
命令,用于压缩和解压.gz
文件。在本教程中,我们将向您展示如何使用gzip
命令。
gzip命令语法以及常见选项的解释,在解/压缩文件时保留原始文件,查看压缩进度,压缩一个或者多个文件与目录。
gzip命令
gzip
命令的语法形式是gzip [OPTION]... [FILE]...
。OPTION
gzip命令的选项,是可选参数,[FILE]
一个或者多个文件,可选参数。
gzip命令仅压缩单个文件,并为每个指定文件创建一个压缩文件。按照约定,使用gzip命令压缩的文件的名称都应以.gz
或.z
结尾。
如果要将多个文件或目录压缩到一个gz文件,请先创建tar存档文件,然后使用gzip命令压缩.tar
文件。按照约定,使用gzip命令压缩的tar存档文件以.tar.gz
或.tgz
结尾。
gzip最常用于压缩文本文件,tar存档和网页。不要使用gzip压缩图像,音频,PDF文档和其他二进制文件,因为它们已经被压缩。Gzip只能压缩普通文件,符号链接将会被忽略。
gzip 命令压缩文件
要压缩单个文件,请运行gzip
命令后跟文件名。gzip
命令将创建filename.gz
文件并删除原始文件filename
。
如果你需要保留原始文件,可以使用gzip命令的-k
选项。例如命令gzip -k filename
不会删除文件filename
。
保留原始文件另一个选项是使用gzip命令的-c
选项,-c
选项将压缩文件写到标准输出,可以将-c
选项的标准输出重定向到文件创建压缩文件gz。
gzip filename
gzip -k filename
gzip -c filename > filename.gz
gzip 命令压缩多个文件
您也可以将多个文件作为参数传递给gzip
命令。当传递多个文件给gzip
命令时,gzip
命令并不会将多个文件存放一个压缩文件中。
正如引言所提到的那样,gzip
命令只会压缩一个文件,gzip
命令会创建多个gz文件。
例如命令gzip file1 file2 file3
将会要压缩文件file1
,file2
,file3
并创建三个压缩文件file1.gz
,file2.gz
,file3.gz
。
gzip file1 file2 file3
gzip 命令压缩目录
gzip命令仅可以压缩单个文件,如果你尝试使用gzip命令压缩目录,gzip命令将会打印消息gzip: ssh-8w1J5Qs9sIIr is a directory -- ignored。
要压缩指定目录的所有文件,请使用gzip
命令-r
选项。gzip
命令将递归遍历所有文件并压缩。
gzip命令压缩目录和压缩多个文件的结果一样,会目录内的每个文件创建一个压缩文件。
gzip -r directory
gzip 命令压缩级别
gzip
命令允许您指定1到9的压缩级别。-1
或--fast
表示使用最快的压缩速度,但压缩比最小。
-9
或--best
表示最慢的压缩速度,但压缩率是最大的。默认压缩级别为-6
。压缩是一项占用大量CPU的任务,压缩级别越高,花费的时间就越长。
例如命令gzip -9 filename
以最大的压缩级别压缩文件filename
。
gzip -9 filename
gzip 命令压缩标准输入
gzip命令除了可以压缩文件之外,还可以压缩标准输入。使你一边导出数据一边进行压缩。
要使用gzip命令压缩标准输入并创建.gz
文件,可以将另一个命令的标准输出通过管道传递到gzip
命令。
例如命令mysqldump database_name | gzip -c > database_name.sql.gz
将mysqldump
命令的标准输出通过管道传递到gzip
命令创建MySQL数据库备份。
mysqldump database_name | gzip -c > database_name.sql.gz
gzip 命令解压gz文件
gzip
命令的-d
选项可以解压.gz
文件。gzip
命令在解压完成后,将会删除原始的压缩文件。如果你需要保留压缩文件,请使用gzip
命令的-k
选项解压文件。
另一个可用于解压.gz文件的命令是gunzip
。gunzip
命令实质是命令gzip -d
的别名。
要使用gunzip
命令解压.gz
文件,只需将文件名传递给gunzip
命令,gunzip
默认不会删除原始压缩文件。例如命令gunzip file.gz
。
要一次解压缩多个文件,请将多个文件名以空格分隔作为参数传递给gzip
。
如果您使用的是GUI环境,而不是命令行,则可以使用文件管理器。打开或者解压.gz
文件,请右键单击要解压缩的文件,然后选择提取
。
gzip -dk file.gz
gunzip file.gz
gzip -dk file1.gz file2.gz file3.gz
gzip 命令解压目录
gzip命令的-d
选项可以解压.gz文件,-r
选项可以递归遍历目录所有压缩文件。当两个组合在一起就可以递归解压指定目录压缩文件
例如命令gzip -dr directory
将会解压directory
目录压缩文件。如果你需要保留压缩文件,请添加-k
选项。
gzip -dr directory
gzip 命令查看压缩文件
与-l
选项一起使用时,gzip
显示指定压缩文件的统计信息。输出将包括未压缩的文件名,压缩和未压缩的大小以及压缩率。
要获取更多信息,请组合使用gzip命令的-v
选项。例如命令gzip -lv filename
。
gzip -l filename
gzip -lv filename
method crc date time compressed uncompressed ratio uncompressed_name
defla 00000000 Dec 2 17:29 26 0 0.0% file2
结论
使用Gzip,您可以缩小文件的大小。gzip
命令允许您压缩和解压文件。gzip
命令的更多信息,请参阅Gnu gzip文档页面。如有任何疑问,请在下面发表评论。