如何解压缩包含 .zst 或 tar.zst 的存档文件? [已关闭]

问题描述 投票:0回答:6

假设我有两个文件:

  • file1.zst
  • file2.tar.zst

如何在终端中解压这些文件?

compression archive zstd
6个回答
229
投票

扩展名.zst表示该存档是通过zstd压缩的。

tar 命令有一个选项 -I (--use-compress-program) 来指定压缩/解压缩命令。

您可以按照以下方式使用它。

$ tar --use-compress-program=unzstd -xvf archive.tar.zst

138
投票

在终端中解压它。

unzstd yourfilename.zst

我知道可用的资源不多,但我在这里找到了这个:http://manpages.org/zstd


23
投票

如果您有标准的 cmake + gcc 构建堆栈:

git clone https://github.com/facebook/zstd.git
cd zstd/build/cmake
cmake .
make
./programs/zstd -d /path/to/file.zst

13
投票

在 macOS Mojave 10.14.3 上,我无法使用 -I 标志指定压缩算法。这样做对我有用;

如果尚未安装,请使用brew 安装 zstd。

  1. 从 .zst 解压:
    unzstd filename.tar.zst
    zstd -d filename.tar.zst
    filename.tar
    将被创建。
  2. 列出压缩档案:
    tar tf filename.tar
  3. 解压压缩包:
    tar xf filename.tar

希望这有帮助。


4
投票

下载Python库然后你就可以像下面这样使用Python:

import zstandard as zstd
dctx = zstd.ZstdDecompressor()
with open(submission_path_read, 'rb') as ifh, open(submission_path_save, 'wb') as ofh:
    dctx.copy_stream(ifh, ofh, write_size=65536)

3
投票

我在 Anaconda 下载中找到了其中一些文件。安装 Anaconda 后,我正在下载其他软件包。我的 Anaconda 下载目录中下载的包是 zip 文件(不带 .zip 扩展名),但其中包含这些

.tar.zst
文件。这导致我通过 stackoverflow 来弄清楚它们是什么,这让我想到了这个问题。如果您也有同样的情况,那么 Anaconda 也可以提供答案。

事实证明,

zstd
unzstd
可执行文件也由Anaconda安装程序安装,因此如果您在Anaconda环境中,它们应该可以在命令行中使用。

© www.soinside.com 2019 - 2024. All rights reserved.