Linux提供了几个用于压缩/解压缩文件的命令行工具。 其中一个是Gzip ,它使用Lempel-Ziv编码(LZ77)进行压缩操作。 在本教程中,我们将讨论gzip的基础知识,以及使用易于理解的示例提供的功能。
但在我们继续之前,值得一提的是,本教程中提到的所有示例/指令都已在Ubuntu 16.04LTS上进行了测试。
Linux Gzip命令
如您所了解的那样,Gzip命令行工具用于压缩或扩展文件。 以下是此命令的语法:
gzip [ -acdfhklLnNrtvV19 ] [--rsyncable] [-S suffix] [ name ... ]
手册页面介绍了这个工具:
Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each
file is replaced by one with the extension .gz, while keeping the same ownership modes, access and
modification times. (The default extension is -gz for VMS, z for MSDOS, OS/2 FAT,
Windows NT FAT and Atari.)
以下Q&A风格的示例应该让您了解Gzip的工作原理。
Q1。 如何使用Gzip压缩文件?
这很简单 - 你所要做的就是将文件的名称作为参数传递给gzip命令,方式如下:
gzip [file-name]
这里有一个例子:
所以你可以看到该命令压缩了一个名为'file1'的文件,并生成了一个同名的.gz文件。 值得注意的是,该工具默认使用压缩版本替换原始文件。
Q2。 如何强制gzip不能删除原文件?
如之前的问答中所述,gzip的默认行为是删除原始文件。 但是,您可以使用-k命令行选项强制该工具不这样做。
gzip -k [file-name]
Q3。 如何使用gzip递归压缩文件?
要递归压缩文件,请使用-r命令行选项。 顾名思义,该选项将压缩主目录以及所有子目录中的文件。
gzip -r *
这里有一个例子:
所以您可以看到所有文件(无论是在主目录还是子目录中)被压缩。
Q4。 如何使用gzip解压缩文件?
要解压缩文件,请使用-d命令行选项。
gzip -d [compressed-file-name]
以下是一个例子:
所以你可以看到file3.gz被解压缩以产生file3,然后被压缩的文件被删除。
注意 :要递归解压缩,请使用-r选项以及-d选项。
Q5。 如何使gzip列表详细信息与压缩文件相关?
这可以使用-l命令行选项来实现。
gzip -l [compressed-file-name]
这里有一个例子:
这些领域意味着什么:
Q6。 在某些情况下如何强制gzip执行压缩/解压缩操作?
假设您创建了.gz文件,同时确保原始文件未被删除(使用-k命令行选项)。 现在,如果您再次尝试创建相同的.gz文件(无论什么原因),gzip命令将不会让您这样做,或者至少要求您的权限。
现在,如果你想要的话,你可以执行gzip,不会产生这样的通知。 这可以使用-f命令行选项完成。
gzip -f [file-name]
Q7。 如何调节压缩速度?
Gzip命令还可以调节压缩速度。 这可以通过指定一个连字符( - ),后跟一个数字作为工具的命令行参数。 例如:
gzip -5 [file-name]
请注意,您可以使用1到9之间的任何数字,其中-1表示最快的压缩,而-9表示最慢(但最好)。 这是手册页面所说的:
结论
显然,Gzip命令是一个有用的工具。 什么使它更好是事实,它很容易理解和使用。 我们试图覆盖本教程中许多重要的命令行选项。 所以,一旦你完成了这些工作,请转到该工具的手册页 ,了解更多信息。