您可以通过 star 我固定的 GitHub 存储库来支持我,谢谢!以下是我的一些 GitHub 存储库,很有可能对您有用:
原文 URL: blog.xi-xu.me/2025/06/07/...
tzst
文件格式是一种采用 Zstandard(zstd)压缩算法的 tar 归档格式。这种格式因其卓越的性能和现代化的特性而日益普及。本文将全面解析 tzst
格式的先进性,并提供详细的跨平台文件管理指南。
tzst
归档格式的先进性
tzst
归档格式代表了现代压缩技术的重大进步,它结合了传统 tar 归档与先进的 Zstandard 压缩算法,创造出一种高效、安全且功能丰富的文件格式。
技术架构基础
tzst
文件本质上是 Zstandard 压缩的 tar 归档。这种格式的工作原理是首先将文件组合成 tar 归档(tarball),然后应用 Zstandard 压缩算法来减少文件大小。这种两步骤方法在备份数据时特别受欢迎,因为它能够高效压缩大量文件集,同时保持快速的解压缩速度。
Zstandard 压缩算法的先进性
Zstandard 是由 Meta 开发的无损数据压缩算法,具有多项突破性技术特性。该算法结合了最新的压缩突破技术,如有限状态熵(Finite State Entropy),采用性能优先的设计理念。
性能优势包括:
- 在相同压缩速度下,文件大小比现有算法减少 10-15%。
- 解压缩速度几乎是传统算法的 2 倍。
- 对于 Silesia 语料库,Zstandard 的解压缩速度约为 550 MB/s,而 zlib 仅为 270 MB/s。
算法技术特点:
- 使用有限状态熵(FSE)进行高级压缩编码,基于非对称数字系统(ANS)。
- 支持分数位编码,比传统霍夫曼编码(只能使用整数位)更高效。
- 消除条件分支以避免CPU流水线停滞,确保持续高性能执行。
压缩性能对比
根据实际测试数据,Zstandard 在压缩效率方面表现卓越:
压缩算法 | 平均压缩比 |
---|---|
GZIP | 2.56:1 |
Zstandard | 2.86:1 |
Brotli | 3.08:1 |
与其他算法相比,Zstandard 提供了速度与压缩率之间的最佳平衡。测试显示,zstd -3 模式可以提供比任何模式下的 gzip 更好的压缩效果,同时速度更快。
压缩级别和优化
Zstandard 支持 1-22 级的精细压缩级别调整:
- 1-3级:快速压缩,较大文件。
- 3级(默认):速度与压缩的良好平衡。
- 10-15级:更好的压缩率,较慢速度。
- 20-22级:最大压缩率,显著较慢。
这种精细调整能力使 Zstandard 能够在各种使用场景中与最快和最高压缩算法竞争,同时保持显著的解压缩速度优势。
行业采用和实际应用
tzst
格式已被多个重要平台采用:
- Duplicati备份软件:作为主要档案格式。
- Plesk服务器:自 18.0.40 版本起用于备份和恢复操作。
- Nodecraft:用于服务器文件的现代压缩归档。
Plesk 选择从 GZIP/DEFLATE 切换到 tzst
是因为其更快的压缩速度和更好的压缩率,尽管官方不建议切换回旧格式,因为这会降低 Web 服务器性能。
tzst
归档格式的先进性体现在其技术创新、性能优势、安全特性和现代化实现上,代表了压缩技术向更高效、更安全方向发展的重要里程碑。
各平台支持情况
tzst
格式在主流操作系统上都获得了良好的支持。
Windows 平台
Windows 11 通过 KB5031455 预览累积更新添加了对 tzst
格式的原生支持,用户可以在文件资源管理器中直接处理这些文件。除了原生支持外,还有多种第三方工具:
- 7-Zip with ZSTD support :专门构建的支持
tzst
的 7-Zip 版本。 - WinRAR v6.x :最新版本的 WinRAR 已支持
tzst
归档格式。 - PeaZip :一款免费的 RAR/ZIP 开启应用程序,可以在 Windows 上提取
tzst
归档。
macOS 平台
Mac 用户可以通过以下方式处理 tzst
文件:
- Homebrew :使用
brew install zstd
安装 zstd 工具,然后用zstd -d yourfile.tzst
命令解压文件。 - Keka :一款广受欢迎的 GUI 档案管理工具,原生支持
tzst
格式。 - 终端命令行 :通过
zstd
命令行工具进行手动的解压操作。
Linux 平台
Linux 系统对 tzst
的支持非常完善:
- 原生 tar 支持 :许多现代 Linux 发行版可以直接使用
tar -xvf filename.tzst --use-compress-program pzstd
命令解压。 - 多种档案管理器 :Linux 桌面环境中的各种档案管理器(如 File Roller)都支持
tzst
归档。 - 命令行工具 :通过系统的包管理器(如 apt, yum, pacman)安装
zstd
工具包即可使用。
跨平台:tzst

tzst
不仅是一种格式,也是一个用于创建和管理 .tzst
/ .tar.zst
归档文件的 Python 库。其命令行界面 (CLI) 在 Windows、macOS 和 Linux 上提供完全一致的使用体验,是跨平台文件管理和开发的利器。
安装方式
您可以根据需求选择以下三种安装方式之一:
-
独立二进制文件 这是最方便的安装方式,因为它不依赖于您的系统上是否安装了 Python,并且通常能提供最佳性能。
- 下载 : 前往 tzst 的 GitHub Releases 页面。
- 选择: 根据您的操作系统 (Windows、macOS 或 Linux) 和处理器架构 (如 x86_64、ARM64) 下载对应的预编译可执行文件。
- 使用 : 下载后,您可以直接在终端或命令行中使用该文件。为了方便,可以将其移动到一个在您系统
PATH
环境变量中的目录。
-
pip 安装 如果您的系统上已经安装了 Python 和 pip,这是最传统的安装方式。在您的终端中运行以下命令:
bashpip install tzst
-
uvx 运行 (免安装)
uvx
是一个更现代的 Python 包运行器,它可以在不全局或虚拟环境中安装包的情况下直接运行tzst
,并且通常比pip
/python
的执行速度更快。在您的终端中运行以下命令:bashuvx tzst [命令] [参数...]
例如,要查看帮助信息:
uvx tzst --help
使用方式
tzst
的命令行使用方法简洁直观,主要通过子命令来执行不同的操作。
-
创建归档 (a)
bashtzst a <归档文件名>.tzst <文件或目录1> [<文件或目录2> ...]
示例:
bashtzst a my_archive.tzst file1.txt my_directory/
-
解压归档 (x)
bashtzst x <归档文件名>.tzst
示例:
bashtzst x my_archive.tzst
-
列出归档内容 (l)
bashtzst l <归档文件名>.tzst
示例:
bashtzst l my_archive.tzst
-
测试归档完整性 (t)
bashtzst t <归档文件名>.tzst
示例:
bashtzst t my_archive.tzst
该工具还具备其他高级功能,例如智能文件扩展名处理、1-22 级可调压缩等级、用于大型归档的内存高效流模式、带自动清理的原子操作以及全面的错误处理机制。
更多资源
- GitHub : github.com/xixu-me/tzs...
- 文档 : tzst.xi-xu.me
- 快速入门 : tzst.xi-xu.me/quickstart
- 性能指南 : tzst.xi-xu.me/performance
- 各种场景示例 : tzst.xi-xu.me/examples
- 完整 API 参考 : tzst.xi-xu.me/api
- 开发指南 : tzst.xi-xu.me/development