如何在 Linux 中压缩和解压缩文件

在备份重要文件以及通过 Internet 发送大文件时,压缩非常有用。 在本教程中,我们将讨论如何在 Linux 中使用两个命令行程序来压缩和解压缩文件,即 压缩包压缩包.

笔记:

压缩已经压缩的文件会增加额外的开销,因此您将获得稍大的文件。 所以,停止压缩压缩文件。

内容

  1. 在 Linux 中压缩和解压缩文件
    1. 1.使用Gzip程序压缩和解压文件
      1. 1.1 压缩文件
      2. 1.2 压缩文件并将输出写入不同的文件(不要替换原文件)
      3. 1.3 解压文件
      4. 1.4 不解压查看压缩文件内容
      5. 1.5 通过指定压缩级别使用 gzip 压缩文件
      6. 1.6 拼接多个压缩文件
    2. 2.使用bzip2程序压缩和解压文件
      1. 概括

在 Linux 中压缩和解压缩文件

如前所述,Linux 和类 Unix 系统中最常用的文件压缩程序是:

  1. 压缩包
  2. 压缩包

首先,我们将看到 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