假设我有两个文件:
file1.zst
file2.tar.zst
如何在终端中解压这些文件?
扩展名.zst表示该存档是通过zstd压缩的。
tar 命令有一个选项 -I (--use-compress-program) 来指定压缩/解压缩命令。
您可以按照以下方式使用它。
$ tar --use-compress-program=unzstd -xvf archive.tar.zst
如果您有标准的 cmake + gcc 构建堆栈:
git clone https://github.com/facebook/zstd.git
cd zstd/build/cmake
cmake .
make
./programs/zstd -d /path/to/file.zst
在 macOS Mojave 10.14.3 上,我无法使用 -I 标志指定压缩算法。这样做对我有用;
如果尚未安装,请使用brew 安装 zstd。
unzstd filename.tar.zst
或 zstd -d filename.tar.zst
。 filename.tar
将被创建。tar tf filename.tar
。tar xf filename.tar
。希望这有帮助。
下载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)
我在 Anaconda 下载中找到了其中一些文件。安装 Anaconda 后,我正在下载其他软件包。我的 Anaconda 下载目录中下载的包是 zip 文件(不带 .zip 扩展名),但其中包含这些
.tar.zst
文件。这导致我通过 stackoverflow 来弄清楚它们是什么,这让我想到了这个问题。如果您也有同样的情况,那么 Anaconda 也可以提供答案。
事实证明,
zstd
和unzstd
可执行文件也由Anaconda安装程序安装,因此如果您在Anaconda环境中,它们应该可以在命令行中使用。