首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用文件解压缩folder.tar.gz

用文件解压缩folder.tar.gz
EN

Unix & Linux用户
提问于 2022-10-24 22:53:35
回答 2查看 594关注 0票数 1

我正在尝试解压缩以前用zstd压缩的folder.tar.gz,所以我做到了:

代码语言:javascript
复制
unzstd folder.tar.gz.zst

现在,如果我试图通过以下方法来解压缩:

代码语言:javascript
复制
tar -xvf folder.tar.gz

它将解压两个大文件中的一些文件夹连接在一起。

显然,被压缩的路径是:/opt/local/data/file1.logfile2.log

解压缩后,我得到data文件夹的大小为"file1和file2.log“。

EN

回答 2

Unix & Linux用户

发布于 2022-11-21 14:06:36

该文件是(按顺序读取扩展名)是使用gzip压缩的D1文件,其本身由zstd压缩。例如:双压缩:gzip inside zstd

这不是一般的做法,也许你改变了你自己的扩展,或者创建者犯了一个错误?

zstd压缩的tar文件的适当扩展名是.tzst.

我建议使用file命令检查该文件

tar -xvf folder.tzst实际上是一个"zstd压缩的tar文件“而只是有错误的扩展名时,您也应该能够执行它,只需重命名该文件.

票数 1
EN

Unix & Linux用户

发布于 2022-11-21 14:35:24

tar.gz.zstd建议您使用gz压缩tar存档,使用zstd再次压缩结果。

要确认,可以使用file

代码语言:javascript
复制
$ file file.tar.gz.zstd
file.tar.gz.zstd: Zstandard compressed data (v0.8+), Dictionary ID: None
$ unzstd < file.tar.gz.zstd | file -
/dev/stdin: gzip compressed data, from Unix
$ unzstd < file.tar.gz.zstd | gunzip | file -
/dev/stdin: POSIX tar archive (GNU)

要列出tar存档的内容,可以使用libarchive的bsdtar,它应该能够动态检测双压缩和解压缩:

代码语言:javascript
复制
bsdtar tvf file.tar.gz.zstd

或者在其他tar实现中,手工执行:

代码语言:javascript
复制
unzstd < file.tar.gz.zstd | gunzip | tar tvf -

要提取,这是相同的,您只需将t替换为x

如果要删除冗余压缩,可以执行以下操作:

代码语言:javascript
复制
unzstd file.tar.gz.zstd

然后得到一个file.tar.gz,或者做:

代码语言:javascript
复制
unzstd < file.tar.gz.zstd | gunzip | zstd > file.tar.zstd

得到一个file.tar.zstd

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/722297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档