在备份重要文件以及通过 Internet 发送大文件时,压缩非常有用。 在本教程中,我们将讨论如何在 Linux 中使用两个命令行程序来压缩和解压缩文件,即 压缩包 和 压缩包.
笔记:
压缩已经压缩的文件会增加额外的开销,因此您将获得稍大的文件。 所以,停止压缩压缩文件。
内容
在 Linux 中压缩和解压缩文件
如前所述,Linux 和类 Unix 系统中最常用的文件压缩程序是:
- 压缩包
- 压缩包
首先,我们将看到 Gzip 的用法。
1.使用Gzip程序压缩和解压文件
gzip 是一个使用 Lempel-Ziv 编码 (LZ77) 算法压缩和解压缩文件的实用程序。
1.1 压缩文件
压缩一个名为 ostechnix.txt,将其替换为 gzip 压缩版本,运行:
$ gzip ostechnix.txt
Gzip 将替换原始文件 ostechnix.txt 带有名为的 gzipped 压缩版本 ostechnix.txt.gz.
gzip 命令也可以以其他方式使用。 一个很好的例子是我们可以创建特定命令输出的压缩版本。 看下面的命令。
$ ls -l Downloads/ | gzip > ostechnix.txt.gz
上面的命令创建了 Downloads 文件夹目录列表的压缩版本。
1.2 压缩文件并将输出写入不同的文件(不要替换原文件)
默认情况下,gzip 程序将压缩给定的文件,将其替换为 gzip 压缩版本。 但是,您可以保留原始文件并将输出写入标准输出。 例如,下面的命令,压缩 ostechnix.txt 并将输出写入 输出.txt.gz.
$ gzip -c ostechnix.txt > output.txt.gz
同样,要解压缩指定输出文件名的 gzip 压缩文件:
$ gzip -c -d output.txt.gz > ostechnix1.txt
上面的命令解压 输出.txt.gz 文件并将输出写入 ostechnix1.txt 文件。 在这两种情况下,它都不会删除原始文件。
1.3 解压文件
解压文件 ostechnix.txt.gz,用原始的未压缩版本替换它,我们这样做:
$ gzip -d ostechnix.txt.gz
我们也可以使用 gunzip 来解压文件。
$ gunzip ostechnix.txt.gz
1.4 不解压查看压缩文件内容
要使用 gzip 查看压缩文件的内容而不对其进行解压缩,请使用 -C 标志如下图:
$ gunzip -c ostechnix1.txt.gz
或者,使用 猫猫 如下所示的实用程序。
$ zcat ostechnix.txt.gz
您还可以将输出传递给“less”命令,以逐页查看输出,如下所示。
$ gunzip -c ostechnix1.txt.gz | less
$ zcat ostechnix.txt.gz | less
或者,有一个 无 执行与上述管道相同功能的程序。
$ zless ostechnix1.txt.gz
1.5 通过指定压缩级别使用 gzip 压缩文件
gzip 的另一个显着优势是它支持压缩级别。 它支持 3 个压缩级别,如下所示。
- 1 – 最快(最差)
- 9 – 最慢(最佳)
- 6 – 默认的级别
压缩一个名为 ostechnix.txt, 用 gzipped 压缩版本替换它 最好的 压缩级别,我们使用:
$ gzip -9 ostechnix.txt
1.6 拼接多个压缩文件
也可以将多个压缩文件合并为一个。 如何? 看看下面的例子。
$ gzip -c ostechnix1.txt > output.txt.gz
$ gzip -c ostechnix2.txt >> output.txt.gz
以上两条命令将 ostechnix1.txt 和 ostechnix2.txt 压缩并保存在一个名为 输出.txt.gz.
您可以查看两个文件(ostechnix1.txt 和 ostechnix2.txt)的内容,而无需使用以下任一命令提取它们:
$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt
有关更多详细信息,请参阅手册页。
$ man gzip
2.使用bzip2程序压缩和解压文件
这 压缩包 与 gzip 程序非常相似,但使用了不同的压缩算法,命名为 Burrows-Wheeler 块排序文本压缩算法和 Huffman 编码。 使用 bzip2 压缩的文件将以 .bz2 延期。
就像我说的,bzip2 的用法与 gzip 几乎相同。 只需更换 压缩包 在上面的例子中 压缩包, 枪弹 和 bunzip2, 猫猫 和 猫猫 等等。
要使用 bzip2 压缩文件,将其替换为压缩版本,请运行:
$ bzip2 ostechnix.txt
如果您不想替换原始文件,请使用 -C 标记并将输出写入新文件。
$ bzip2 -c ostechnix.txt > output.txt.bz2
解压缩压缩文件:
$ bzip2 -d ostechnix.txt.bz2
或者,
$ bunzip2 ostechnix.txt.bz2
要在不解压缩的情况下查看压缩文件的内容:
$ bunzip2 -c ostechnix.txt.bz2
或者,
$ bzcat ostechnix.txt.bz2
有关更多详细信息,请参阅手册页。
$ man bzip2
建议阅读:
- Pigz – 在 Linux 中并行压缩和解压缩文件
概括
在本教程中,我们通过 GNU/Linux 中的一些示例了解了什么是 gzip 和 bzip2 程序以及如何使用它们来压缩和解压缩文件。 在下一个指南中,我们将学习 如何在 Linux 中归档文件和目录.
Bzip2CLICompressDecompress文件压缩GzipLinux