如何在 Linux 上使用 Tar、Zip 命令压缩和提取文件

Zip 和 tar 是流行的命令行实用程序,用于在 Linux 系统中将多个目录和文件压缩并归档到一个归档文件中。 默认情况下,tar 命令不压缩文件,只收集文件及其元数据以生成单个 tar 文件,但我们可以使用 gzip/bzip2 归档文件。 而 zip 提供无损数据压缩,这是一种数据压缩算法类,允许将压缩数据重建为其原始形式。 gzip 和 zip 使用 DEFLATE 算法压缩文件,而 bzip2 使用 Burrows-Wheeler 算法生成高度压缩的文件,但与 gzip 和 zip 相比消耗更多时间。

安装

默认情况下,tar 命令与 Linux 系统集成,所以让我们从安装 zip 和 unzip 开始。 安装 zip 命令时不会安装 unzip 命令,所以我们需要单独安装。

在继续安装之前不要忘记更新包信息。

$ sudo apt-get update

安装邮编。

$ sudo apt-get install zip

安装解压

$ sudo apt-get install unzip

为了显示以下示例,我使用了 Ubuntu 20.4,并且在主目录中有以下文件。

Tar 命令的一些示例

在继续这个例子之前,你必须知道 tar 的语法,所以语法是这样的:

$ tar -c [option] [archive name] [file] | [directory] |

以下选项是引导命令执行应执行的任务的主要和强制选项。 以下选项可以在命令中使用一次,没有它,命令将不会运行。

-C: 生成存档文件。

-r:向现有存档文件添加更多文件。

-t:查看存档中的所有文件。

-X: 提取存档文件。

使用 gzip 和 bzip2 压缩文件

Tar 命令使用 gzip 和 bzip2 生成一个压缩文件,可以通过分别为命令提供 -z 和 -j 选项来访问该文件。 为了归档和压缩 tar 文件,我们需要执行以下命令。

$ tar -cvzf compress_sample.tar.gz *.txt

使用 gzip 压缩文件。

$ tar -cvjf compress_sample.tar.bz2 *.txt

使用 bz2 压缩文件。

在上面的示例中,-c 选项指的是创建存档,-v 选项显示存档文件的详细信息,-f 表示存档的名称。

注意:-f 选项总是必须在文件名之前。

从压缩文件中提取文件

要提取您需要运行的压缩文件:

$ tar -xvf compress_sample.tar.gz

上面的命令将提取当前工作目录中的文件,但如果要提取不同目录中的文件,您可以使用 -C 命令来完成。

$ tar -xvf compress_sample.tar.gz -C Documents/

使用 tar 将文件提取到不同的目录。

从压缩文件中提取特定文件

我们可以从压缩文件中提取特定文件,如果它在目录中,我们需要指定文件名和目录名。

$ tar -xvf compress_sample.tar sample.txt student.txt

使用 tar 提取特定文件。

Zip 和 Unzip 命令的一些示例。

zip 和 unzip 的语法如下:

$ zip [option] [archive_name] [Files]
$ unzip [option] [archive_name]

使用 Zip 压缩文件

Zip 是存档压缩器,因此我们不需要提供任何额外的参数来压缩文件。 对于压缩,我们需要像这样运行命令:

$ zip zip_demo.zip *.txt

压缩多个文件

解压文件到不同目录

我们可以使用 -d 选项并在命令中指定目录将 zip 文件解压缩到不同的目录。

$ unzip zip_demo.zip -d Documents/

将文件解压缩到其他目录。

从压缩文件中解压缩特定文件

要从存档中解压缩特定文件,必须按以下方式执行命令。

$ unzip zip_demo.zip student.txt sample.txt

从 zip 文件中解压缩特定文件。

结论

在本文中,我们将学习如何使用 tar 和 zip 命令归档和压缩文件。 我在文章中包含了最常见的示例,希望这对您如何压缩文件有所帮助。