zstd 速度快、性能好的压缩工具

发布时间: 更新时间: 总字数:1147 阅读时间:3m 作者:IP:上海 网址

zstd(Zstandard) 是一种快速的无损压缩算法,目标是在 zlib 级别的实时压缩场景和更好的压缩率。它由 Huff0 和 FSE 库提供的一个非常快速的熵阶段支持。

安装

  • Ubuntu
$ apt install zstd
  • CentOS
$ yum install zstd
  • 源码编译
$ git clone https://github.com/facebook/zstd.git
$ cd zstd; make; sudo make install

zstd

help

zstd--help ...

简单使用

# 压缩
$ zstd README.md
README.md            : 40.85%   ( 14163 =>   5785 bytes, README.md.zst)
$ ls
README.md  README.md.zst

# 压缩后删除源文件
$ zstd --rm README.md
README.md            : 40.85%   ( 14163 =>   5785 bytes, README.md.zst)
$ ls
README.md.zst

# 解压
$ zstd -d README.md.zst
README.md.zst       : 14163 bytes
$ ls
README.md  README.md.zst

# 解压
$ unzstd README.md.zst

# 解压到标准输出
$ zstd -dc README.md.zst

# 查看
$ zstd -l README.md
$ zstdcat README.md.zst  # 同解压到标准输出效果

# 查看详细信息
$ zstd -v README.md.zst
$ zstd -v -d README.md.zst  # -d 解压

# 压缩文件,同时指定压缩级别(最低0,最高19,默认为3)
$ zstd -level README.md.zst
$ zstd -6 README.md.zst

# 使用更多的内存(压缩和解压时)以达到更高的压缩比
$ zstd --ultra -level file

# 多进程并发压缩(0表示使用所有CPU)
$ zstd -T0 file
$ zstd -T4 file

# 解压缩为单进程
$ zstd -T4 -d README.md.zst

# 指定压缩模式,默认为 1
zstd --fast=3 xxx

tar

# 使用 tar 创建压缩包
tar -I zstd -cvf test.tar.zst test

# 忽略 test 目录
tar -I zstd -cvf test.tar.zst -C test/ .

# 解压
tar -I zstd -xvf test.tar.zst

# 压缩目录,先压缩为 tar,再压缩为 zst
tar cvf nginx.tar /etc/nginx; zstd nginx.tar
  • tar-1.31 及以上版本
# 压缩
tar cvfa nginx.tar.zst /etc/nginx
tar cvfz nginx.tar.zst /etc/nginx

训练自定义字典

# Create the dictionary
zstd --train FullPathToTrainingSet/* -o dictionaryName

# Compress with dictionary
zstd -D dictionaryName FILE

# Decompress with dictionary
zstd -D dictionaryName --decompress FILE.zst

python 实现

pzstd

  • pzstd 并行 zstd(Zstandard) 压缩

help

pzstd --help ...

使用

pzstd -11 -p 1 X -o xxx
本文总阅读量 次 本站总访问量 次 本站总访客数