压缩工具zstd
zstd命令安装及使用
·
快速压缩工具zstd(zstandard)是由facebook开源的快速无损压缩算法,主要应用于zlib级别的实时压缩场景,并且具有更好的压缩比(5:1),压缩速度快。
#安装(centos为例)
yum isntall zstd
或者下载源码包安装
wget https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz
tar -zxvf zstd-1.5.2.tar.gz
cd zstd-1.5.2
make && make install
#Ubuntu安装
apt install zstd
编译安装
git clone https://github.com/facebook/zstd.git
cd zstd
make && make install
#压缩单个文件,会生成一个以.zst结尾的新文件
zstd file_name
#压缩目录-r,会对目录下的每个子文件进行压缩,为每个字文件生成.zst
zstd -r dir_name
#解压-d
zstd -d file_name.zst
#查看zst压缩包
zstd -l file_name.zst
zstdcat file_name.zst
参数命令
$ zstd --help
使用方式 :
zstd [args] [FILE(s)] [-o file]
参数选项 :
-# : 压缩级别(1-19,默认值为3)
-d : 解压
-D file: 使用文件作为字典
-o file: 结果存储在文件中
-f : 在没有提示的情况下覆盖输出并(解压)压缩链接
--rm : 成功解压缩后删除源文件
-k : 保存源文件(默认)
-h/-H : 显示帮助/长帮助并退出
高级选项 :
-V : 显示版本号并退出
-v : 详细模式
-q : 静默输出
-c : 强制写入标准输出
-l : 输出zstd压缩包中的信息
--ultra : 启用超过19级,最多22级(需要更多内存)
-T# : 使用几个线程进行压缩(默认值:1个)
-r : 递归地操作目录
--format=gzip : 将文件压缩为.gz格式
-M# : 为解压设置内存使用限制
字典生成器 :
--train ## : 从一组训练文件中创建一个字典
--train-cover[=k=#,d=#,steps=#] : 使用带有可选参数的cover算法
--train-legacy[=s=#] : 有选择性地使用遗留算法(默认值:9)
-o file : “file”是字典名(默认:字典)
--maxdict=# : 将字典限制为指定大小(默认值:112640)
--dictID=# : 强制字典ID为指定值(默认:随机)
性能测试参数 :
-b# : 基准测试文件,使用#压缩级别(默认为1)
-e# : 测试从-bX到#的所有压缩级别(默认值:1)
-i# : 最小计算时间(秒)(默认为3s)
-B# : 将文件切成大小为#个独立块(默认:无块)
--priority=rt : 将进程优先级设置为实时
高级用法
# 输出详细信息
$ zstd -v file
$ zstd -v -d file.zst
# 压缩一个文件同时指定压缩级别(19最高,0最低,3为默认)
$ zstd -level file
$ zstd -9 file
# 使用更多的内存(压缩和解压时)以达到更高的压缩比
$ zstd --ultra -level file
# 解压缩为单进程
# 多个进程并发执行压缩过程(0表示自动使用所有CPU核心)
$ zstd -T0 file
$ zstd -T4 file
$ zstd -T4 -d file.zst
参考文档
更多推荐
已为社区贡献2条内容
所有评论(0)