压缩文件在备份重要文件和通过网络发送大文件时非常有用。请注意,压缩已压缩的文件会增加开销,因此您最终会得到一个更大的文件。所以,请不要压缩已经压缩过的文件。在GNU/Linux中,有很多程序可以用来压缩和解压缩文件。在本教程中,我们只研究其中的两个应用程序。用于在类Unix系统上压缩文件的最常见程序是:gzipbzip21。使用gzip程序压缩和解压缩文件gzip是一个使用Lempel-Ziv编码(LZ77)算法压缩和解压缩文件的实用程序。1.1压缩文件如果要将名为ostechnix.txt的文件压缩成gzip格式的压缩文件,只需要运行以下命令:$gzipostechnix.txt上述命令运行后,会出现一个名为ostechnix的文件.txt.gz是替换原始ostechnix.txt文件的gzip压缩文件。gzip命令还有其他用途。一个有趣的例子是我们可以通过管道将特定命令的输出作为gzip程序的输入来创建压缩文件。请参阅以下命令:$ls-lDownloads/|gzip>ostechnix.txt.gz以上命令会生成一个gzip格式的压缩文件,文件内容为Downloads 目录的目录入口。1.2压缩文件并将输出写入新文件(不要覆盖原始文件)默认情况下,gzip程序压缩给定文件并用压缩文件替换原始文件。但是,您也可以保留原始文件并将输出写入标准输出。例如,以下命令将压缩ostechnix.txt文件并将输出写入文件output.txt.gz。$gzip-costechnix.txt>output.txt.gz类似地,要解压gzip压缩文件并指定输出文件的文件名,只需运行:$gzip-c-doutput.txt.gz>ostechnix1.txt以上命令将解压缩output.txt.gz文件并将输出写入文件ostechnix1.txt。在上面的两个例子中,原始文件都没有被删除。1.3解压文件如果你想解压ostechnix.txt.gz文件并替换为原来的未压缩版本的文件,只需运行:$gzip-dostechnix.txt.gz我们也可以使用gunzip程序来解压文件:$gunzipostechnix.txt.gz1.4不解压查看压缩文件内容如果想使用gzip程序查看压缩文件内容而不解压,可以这样使用-c选项:$gunzip-costechnix1.txt.gz或者,您可以像这样使用zcat程序:$zcatostechnix.txt.gz您还可以将输出通过管道传递给less命令以逐页阅读查看输出,如下所示:$gunzip-c操作系统1.txt.gz|少$zcatostechnix.txt.gz|less另外,zless程序也可以实现与上述流水线相同的功能。$zlessostechnix1.txt.gz1.5使用gzip压缩文件并指定压缩级别gzip的另一个显着优点是它支持压缩级别。它支持下面给出的3种压缩级别:1-最快(最差)9-最慢(***)6-默认级别是压缩名为ostechnix.txt的文件,使其成为“***”对于压缩的gzip压缩文件level,可以运行:$gzip-9ostechnix.txt1.6连接多个压缩文件我们也可以将多个需要压缩的文件压缩到同一个文件中。如何?请参见下面的示例。$gzip-costechnix1.txt>output.txt.gz$gzip-costechnix2.txt>>output.txt.gz上面两条命令会压缩文件ostechnix1.txt和ostechnix2.txt并将输出保存到一个中文件输出.txt.gz。您可以使用以下任何命令查看ostechnix1.txt和ostechnix2.txt这两个文件的内容,而无需解压它们:$gunzip-coutput.txt.gz$gunzip-coutput.txt$zcatoutput.txt.gz$zcatoutput.txt如果您想了解有关gzip的更多详细信息,请参阅其手册页。$人gzip2。使用bzip2程序压缩和解压缩文件bzip2与gzip非常相似,但bzip2使用Burrows-Wheelerblockordering压缩算法并使用Huffman编码。使用bzip2压缩的文件以“.bz2”扩展名结尾。正如我上面所说,bzip2的使用几乎与gzip完全一样。在上面的示例中,只需将gzip替换为bzip2,将gunzip替换为bunzip2,并将zcat替换为bzcat。要使用bzip2压缩文件并将其替换为压缩文件,只需运行:$bzip2ostechnix.txt如果不想替换原始文件,可以使用-c选项并将输出写入新文件。$bzip2-costechnix.txt>output.txt.bz2如果你想解压文件,运行:$bzip2-dostechnix.txt.bz2或者,$bunzip2ostechnix.txt.bz2如果你想查看而不解压压缩一个文件的内容,运行:$bunzip2-costechnix.txt.bz2或$bzcatostechnix.txt.bz2如果您想了解有关bzip2的更多详细信息,请参阅其手册页。$manbzip2总结在本教程中,我们通过一些示例了解了gzip和bzip2程序是什么,以及如何使用它们在GNU/Linux下压缩和解压缩文件。接下来,我们将学习如何在Linux中归档文件和目录。
