如何提取(解压缩)Tar Gz 文件

评论 0 浏览 0 2019-02-17

如果你在开源世界漫游,你有可能经常遇到.tar.gz文件。开源包通常以.tar.gz和.zip格式提供下载。

tar用于通过将一组文件转换为存档来创建 tar 存档。它支持大量的压缩程序,如gzip、bzip2、lzip、lzma、lzop、xz和compress。Tar 最初设计用于创建存档以将文件存储在磁带上,这就是为什么它的名字是"Tape ARchive"。

Gzip是最流行的压缩tar文件的算法。按照惯例,用gzip压缩的tar压缩文件的名称应该以.tar.gz.tgz结尾。

简而言之,以.tar.gz结尾的文件是用gzip压缩的.tar归档文件。

tar命令还可以用来提取tar存档,显示存档中包含的文件列表,向现有的存档中添加额外的文件,以及其他各种操作。

在本教程中,我们将向你展示如何提取(或解压)tar.gztgz档案。

提取tar.gz文件

大多数Linux发行版和macOS都默认预装了tar命令。

要提取tar.gz文件,使用--extract (-x)选项,并在f选项后指定存档文件名。

tar -xf archive.tar.gz

tar命令会自动检测压缩类型并提取存档。同样的命令也可以用来提取用其他算法压缩的tar存档,如.tar.bz2

如果你是一个桌面用户,命令行不是你的事,你可以使用你的文件管理器。要提取(解压缩)一个tar.gz文件,只需右击你要提取的文件并选择 "提取"。Windows用户需要一个名为7zip的工具来提取tar.gz文件。

-v选项将使tar命令更加明显,并在终端上打印正在提取的文件的名称。

tar -xvf archive.tar.gz

默认情况下,tar再当前工作目录中提取存档内容 。使用 --directory (-C) 在特定目录中提取存档文件:

例如,要提取存档内容到/home/linuxize/files目录,你可以使用。

tar -xf archive.tar.gz -C /home/linuxize/files

从tar.gz文件中提取特定的文件

要从tar.gz文件中提取一个或多个特定的文件,请在归档文件名后添加一个用空格分隔的要提取的文件名的列表。

tar -xf archive.tar.gz file1 file2

当提取文件时,你必须提供它们的确切名称,包括路径,如--list (-t)所打印的那样。

从归档文件中提取一个或多个目录与提取文件是一样的。

tar -xf archive.tar.gz dir1 dir2

如果你试图提取一个不存在的文件,将显示一个类似于以下的错误信息。

tar -xf archive.tar.gz README

输出

tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

你也可以根据通配符模式从tar.gz文件中提取文件,方法是使用--wildcards选项,并对模式加引号以防止shell解释它。

例如,要提取名称以.js结尾的文件(Javascript文件),你将使用。

tar -xf archive.tar.gz --wildcards '*.js'

从stdin中提取tar.gz文件

如果你是通过从stdin读取压缩的tar.gz文件(通常是通过管道)来提取,你需要指定解压缩选项。告诉tar通过gzip读取归档文件的选项是-z

在下面的例子中,我们使用wget命令下载Blender源,并将其输出管道到tar命令:

wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz

如果你没有指定解压选项,tar将指示你应该使用哪种选项。

输出

tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now

列举tar.gz文件

要列出一个tar.gz文件的内容,使用--list (-t)选项。

tar -tf archive.tar.gz

输出结果将看起来像这样。

file1
file2
file3

如果你加上--verbose-v)选项,tar将打印更多信息,如所有者、文件大小、时间戳......等。

tar -tvf archive.tar.gz
-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file1-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file2-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file3

总结

tar.gz文件是一个用Gzip压缩的Tar存档。要提取一个tar.gz文件,使用tar -xf命令,后面跟着存档名称。

如果你有任何问题,请在下面留言。

最后更新2023-10-18
0 个评论
标签