zstd安装_zstd - 一种由Facebook使用的快速数据压缩算法

Zstandard (也被称为zstd )是一款免费的开源,快速实时数据压缩程序,具有更好的压缩比,由Facebook开发。 它是用C语言编写的无损压缩算法 (在Java中有一个重新实现) - 因此它是一个本地Linux程序。

当需要时,它可以将压缩速度交换为更高的压缩比率(压缩速度与压缩比率的权衡可以通过小增量来配置),反之亦然。 它具有小数据压缩的特殊模式,称为字典压缩,可以从任何提供的样本集中构建字典。 它带有一个命令行实用程序,用于创建和解码.zst , .gz , .xz和.lz4文件。

重要的是, Zstandard拥有丰富的API集合,支持几乎所有流行的编程语言,包括Python,Java,JavaScript,Nodejs,Perl,Ruby,C#,Go,Rust,PHP,Switft等等。

它被积极用于压缩Facebook中多种格式和用例的大量数据; 服务,如Amazon Redshift数据仓库; 数据库,如Hadoop和Redis; Tor网络和许多其他应用程序,包括游戏。

通过使用lzbench (一种开源内存基准测试工具)在运行Linux Debian的服务器上执行多个快速压缩算法测试,可以获得以下结果。

Z标准压缩测试

如何在Linux中安装Zstandard压缩工具

要在Linux发行版上安装Zstandard ,您需要从源代码进行编译,但在此之前,您需要使用发行包管理器在系统上安装必要的开发工具,如图所示。$ sudo apt update && sudo apt install build-essential#Ubuntu/Debian

# yum group install "Development Tools" #CentOS/REHL

# dnf groupinstall "C Development Tools and Libraries"#Fedora 22+

一旦安装了所有需要的开发工具,现在您可以下载源软件包,进入本地repo目录,构建二进制文件并按照所示进行安装。$ cd ~/Downloads

$ git clone https://github.com/facebook/zstd.git

$ cd zstd

$ make

$ sudo make install

一旦安装了Zstandard ,现在我们可以进一步学习以下部分中有关Zstd命令示例的一些基本用法。

在Linux中学习10个Zstd命令使用示例

Zstd的命令行语法通常与gzip和xz工具类似,但有一些差异。

1.要创建.zst压缩文件,只需提供一个压缩文件名即可,或者使用-z标志也意味着压缩,这是默认操作。$ zstd etcher-1.3.1-x86_64.AppImage

OR

$ zstd -z etcher-1.3.1-x86_64.AppImage

2.要解压缩.zst压缩文件,请使用-d标志或unzstd实用程序,如图所示。$ zstd -d etcher-1.3.1-x86_64.AppImage

OR

$ unzstd etcher-1.3.1-x86_64.AppImage

3.要在操作后删除源文件,默认情况下,源文件在成功压缩或解压缩后不会被删除,要删除它,请使用--rm选项。$ ls etcher-1.3.1-x86_64.AppImage

$ zstd --rm etcher-1.3.1-x86_64.AppImage

$ ls etcher-1.3.1-x86_64.AppImage

4.要设置压缩级别,zstd具有许多操作修饰符,例如,您可以指定压缩级别为-6 (数字1-19,默认值为3),如图所示。$ zstd -6 --rm etcher-1.3.1-x86_64.AppImage

5.要设置压缩速度,zstd的压缩速度比率为1-10 ,默认压缩速度为1 。 您可以使用--fast选项--fast压缩速度的压缩比,数字越高压缩速度越快。$ zstd --fast=10 etcher-1.3.1-x86_64.AppImage

6.要显示有关压缩文件的信息,请使用-l标志,例如用于显示有关压缩文件的信息。$ zstd -l etcher-1.3.1-x86_64.AppImage.zst

7.要测试压缩文件的完整性,请使用-t标志,如图所示。$ zstd -t etcher-1.3.1-x86_64.AppImage.zst

8.要启用详细模式,请使用-v选项。$ zstd -v -5 etcher-1.3.1-x86_64.AppImage

9.使用其他文件压缩或解压缩格式,例如gzip,xz,lzma和lz4,使用--format=FORMAT ,如图所示。$ zstd -v --format=gzip etcher-1.3.1-x86_64.AppImage

$ zstd -v --format=xz etcher-1.3.1-x86_64.AppImage

10.要将zstd进程优先级设置为实时,可以使用选项-priority = rt ,如图所示。$zstd --priority=rt etcher-1.3.1-x86_64.AppImage

-r标志指示zstd在字典上递归操作。 您可以找到许多有用的高级选项,以及如何通过查阅zstd手册页来阅读或创建词典。$ man zstd

Zstandard是一种快速的实时无损数据压缩算法和压缩工具,可提供高压缩比。 尝试一下,分享您的想法或通过下面的反馈表格提问。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值