假设我有两个文件:
file1.zst
file2.tar.zst
如何在终端中解压缩这些文件?
扩展名 .zst 表示存档由 zstd 压缩。
- https://github.com/facebook/zstd
tar 命令有一个选项 -I (--use-compress-program( 来指定压缩/解压缩的命令。
您可以按如下方式使用它。
$ tar --use-compress-program=unzstd -xvf archive.tar.zst
在终端中解压缩它。
unzstd yourfilename.zst
我知道可用的资源不多,但我在这里找到了这个:http://manpages.org/zstd
如果你有一个标准的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标志指定压缩算法。这样做对我有用;
如果您尚未安装 zstd,请使用 brew 安装它。
- 从 .zst 解压缩:
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
文件。这导致我堆叠溢出以弄清楚它们是什么,这让我想到了这个问题。如果你在同一条船上,那么Anaconda也提供了答案。
事实证明,zstd
和unzstd
可执行文件也是由 Anaconda 安装程序安装的,因此如果您在 Anaconda 环境中,它们应该在命令行中可用。