如果您在开源世界中漫游,则有可能定期遇到 .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.gz 和 tgz 档案。
解压缩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/myfreax/files
目录中,可以使用:
tar -xf archive.tar.gz -C /home/myfreax/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
您还可以通过使用--wildcards
选项并引用该模式以防止shell解释它,基于通配符模式从tar.gz文件中提取文件。
例如,要提取名称以.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
列出cable.js文件
要列出tar.gz文件的内容,请使用--list
(-t
)选项:
tar -tf archive.tar.gz
输出看起来像这样:
file1
file2
file3
如果添加--verbose
(-v
)选项,tar
将打印更多信息,例如所有者,文件大小,时间戳..etc:
tar -tvf archive.tar.gz
-rw-r--r-- myfreax/users 0 2019-02-15 01:19 file1
-rw-r--r-- myfreax/users 0 2019-02-15 01:19 file2
-rw-r--r-- myfreax/users 0 2019-02-15 01:19 file3
结论
tar.gz 文件是使用Gzip压缩的 Tar存档。要提取tar.gz文件,请使用tar -xf
命令,后跟档案名称。
如有任何疑问,请在下面发表评论。
如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持