如何提取(解压缩)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.bz2)压缩的tar归档文件。
如果我们是桌面用户,而命令行不是事,则可以使用文件管理器。
要提取(解压缩)tar.gz文件,只需右键单击要提取的文件,然后选择“提取”。
Windows用户将需要一个名为7zip的工具来提取tar.gz文件。
'-v'选项将使'tar'命令更加可见,并在终端上打印正在提取的文件的名称。
tar -xvf archive.tar.gz
默认情况下,“ tar”将在当前工作目录中提取存档内容。
使用'--directory'('-C')将归档文件提取到特定目录中:
例如,要将存档内容提取到“/home/theitroad/files”目录中,可以使用:
tar -xf archive.tar.gz -C /home/theitroad/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
输出将如下所示:
file1file2file3
如果添加'--verbose'('-v')选项,则'tar'将打印更多信息,例如所有者,文件大小,时间戳..etc:
tar -tvf archive.tar.gz
-rw-r--r-- theitroad/users 0 2019-02-15 01:19 file1-rw-r--r-- theitroad/users 0 2019-02-15 01:19 file2-rw-r--r-- theitroad/users 0 2019-02-15 01:19 file3