提取tar.gz文件将返回“看起来不像tar存档”。

TheRookierLearner

我有一个tar.gz文件,我想使用终端将其解压缩。我使用了以下命令:tar tvzf ldtp_3.5.0.orig.tar.gztar -xvzf ldtp_3.5.0.orig.tar.gz但是,对于这两个文件,我得到相同的结果:

tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

我的file命令输出显示了它的一个gzip文件:

$ file ldtp_3.5.0.orig.tar.gz 
ldtp_3.5.0.orig.tar.gz: gzip compressed data, from Unix

我可以使用右键单击->提取来提取它,但是我想使用终端来提取它。谁能告诉我该怎么做?

贾科莫1968

查看错误后,您会发现实际上是可以解压缩的文件,它表示该文件是真正的TAR / Gzip存档,但可能不是在Gzip之后立即创建的TAR。

这意味着,如果您从Web服务器下载了此文件,则有时会将Gzip压缩应用到服务器级别的Web内容上,以加快内容下载的速度。但是,如果在服务器上未正确设置以忽略已经压缩的内容(例如这样的内容),它可能会无意中将Gzip文件加倍。

考虑到这一点,我将看看是否只需从命令行将其解压缩即可查看发生了什么。使用如下命令:

gzip -d ldtp_3.5.0.orig.tar.gz

并查看生成的文件是什么。运行该命令后,我有一种奇怪的感觉,您将ldtp_3.5.0.orig.tar在目录中看不到a ,而是看到一个类似于源的文件ldtp_3.5.0.orig.tar.gz-但也许修改了吗?如果是这样的话,它确实是双重压缩的。因此,在这一点上(在最初的解压缩后),您可以运行如下tar命令:

tar -xvzf ldtp_3.5.0.orig.tar.gz

现在,它应该正确解压缩完整的TAR存档。

做类似于两个步骤东西的另一种方式是管道的输出gzip,以tar这样的:

gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf -

cgzip还有-在命令的末尾的关键在于:

  • c选项gzip将告诉gzip解压缩到标准输出流。
  • 所述-在所述的端部tar命令的意思是“使用标准输入。” 因此,与-cin耦合gzip,管道将从中获取通过其传输的标准输出流,gzip并将其连接到in的标准输入tar

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章