当前位置: 首页 > 知识库问答 >
问题:

如何解压缩tar。gz在另一个目录中

张晨朗
2023-03-14

我有一个档案

*.tar.gz

如何将其解压缩到目标目录?

共有3个答案

丌官运珧
2023-03-14

提取物myArchive.tar /destinationDirectory

命令:

cd /destinationDirectory
pax -rv -f myArchive.tar -s ',^/,,'
拓拔俊德
2023-03-14
gzip -dc archive.tar.gz | tar -xf - -C /destination

或者,使用GNU tar

tar xzf archive.tar.gz -C /destination
赫连睿
2023-03-14

如果您使用的是Gnu版本的tar,您可以使用选项-C(或者--directory如果您喜欢长选项)来提供您选择的目标目录。目录应该存在:

mkdir foo
tar -xzf bar.tar.gz -C foo

如果您没有使用能够提取到特定目录的tar,您可以在调用tar之前简单地cd到您的目标目录中;然后您当然必须提供您的存档的完整路径。您可以在作用域子shell中执行此操作以避免影响周围的脚本:

mkdir foo
(cd foo; tar -xzf ../bar.tar.gz)  # instead of ../ you can use an absolute path as well

或者,如果存档文件的绝对路径和相对路径都不合适,您也可以使用它来命名范围子壳之外的存档:

TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz
 类似资料:
  • 我在使用共享资源压缩库创建目录的tar.gz时遇到了一个问题。我有一个目录结构如下。 我正在使用以下代码进行压缩。它运行良好,无一例外。但是,当我尝试解压缩该 tar.gz时,我得到一个名为“子DirTo压缩”的文件。它的大小是正确的,因此文件在焦油过程中清楚地相互附加。所需的输出将是一个目录。我不知道我做错了什么。任何明智的共享资源压缩器都可以让我走上正确的道路吗?

  • 我是Perl新手,我正在尝试编写一个脚本,该脚本获取一个tar文件的路径,检查其中是否有txt文件,如果是,则将文件提取到输出文件夹。这是我的代码: 当我运行这个脚本时,我收到一个错误:存档中没有这样的文件。 你能帮我理解我做错了什么,什么应该是正确的命令?

  • 问题内容: 我想将普通文件压缩为.zip,然后将其压缩为gzip文件,而不创建新文件。 例如,假设我有一个pdf文档 doc.pdf ,我必须得到的是: 我不想创建一个名为的新文件,然后将其打开并gzip。 我正在与服务器一起从浏览器获取文件并将其返回,这是我的功能: 我得到了一个文件,但是它有一个损坏的文件并且没有压缩,为什么? 问题答案: 我认为您可以为zip创建一个临时文件,将其添加到gzi

  • 我有多个zip文件在一个文件夹和另一个zip文件存在于每一个这些zip文件夹。我想解压第一个和第二个zip文件夹,并创建它们自己的目录。 这是结构 如上所示,在中,我们有多个zip文件,在每个zip文件中,都存在另一个zip文件。我想解压缩,,和到新的文件夹中。我想使用与父zip文件夹相同的名称来放置每个结果。我尝试了以下答案,但这只解压缩第一个文件夹。 顺便说一句,我在Jenkins管道中运行这

  • 问题内容: 目录类似于: 我正在使用与PHPMyAdmin使用的相同的PHPZip类。我不确定如何压缩目录而不是仅压缩文件。这是我到目前为止的内容: 但是当我尝试解压缩相应的已下载的zip文件时,出现“不允许操作” 仅当我尝试在Mac上解压缩时,才出现此错误,当我通过命令行解压缩时,文件解压缩就可以了。我是否需要在下载时发送特定的内容类型,当前为“application / zip” 问题答案: