Linux 命令速查
压缩备份 man zstd

zstd

高速 Zstandard 压缩与解压工具

返回

补充说明

zstd 是 Facebook 开源的 Zstandard 压缩算法官方命令行工具,主打高压缩速度与可调压缩比的平衡。它支持多线程、长距离匹配和字典,常用于日志归档、软件包、备份和容器镜像层。

默认行为是压缩;使用 -d 解压。压缩级别 1-19,数字越大压缩率越高但越慢;--ultra 可解锁 20-22 级,代价是更高的内存和 CPU 消耗。多线程用 -T0 表示使用全部核心。输出文件默认添加 .zst 后缀并删除原文件,-k 可保留原文件。

解压时 zstd 能自动识别是否使用了长距离匹配,但压缩时若启用 --long,解压端需要足够内存。与 tar 组合可替代 gzip:tar -cf - dir | zstd -T0 -o dir.tar.zst。校验压缩包完整性可用 -t。

语法

zstd [选项] [输入文件...]

选项

  • -z:压缩(默认行为)。
  • -d, --decompress:解压。
  • -1 至 -19:设置压缩级别,默认通常为 3。
  • --ultra:允许使用 20-22 级压缩。
  • -T 数量:设置工作线程数,-T0 使用全部核心。
  • -o 文件:指定输出文件。
  • -k, --keep:保留输入文件。
  • -f, --force:覆盖输出文件。
  • -c, --stdout:输出到标准输出。
  • --rm:成功后删除输入文件。
  • -r:递归处理目录。
  • -l, --list:列出压缩文件信息。
  • -t, --test:测试压缩数据完整性。
  • --long[=窗口]:启用长距离匹配,适合大文件。

实例

# 压缩文件,生成 app.log.zst 并保留原文件
zstd -k app.log

# 高压缩比、多线程压缩
zstd -19 -T0 -o backup.tar.zst backup.tar

# 解压到当前目录
zstd -d archive.tar.zst

# 解压到标准输出,配合 tar
zstd -dc archive.tar.zst | tar -xf -

# 打包目录并压缩
tar -cf - /etc/nginx | zstd -T0 -19 -o nginx.tar.zst

# 列出压缩文件信息
zstd -l archive.tar.zst

# 校验压缩文件
zstd -t archive.tar.zst

参考链接