zoukankan      html  css  js  c++  java
  • zstd

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

    另请参阅 : Linux中的10 7zip(Data Comperssion)命令示例

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

    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的命令行语法通常与gzipxz工具类似,但有一些差异。

    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 Github存储库 : https : //github.com/facebook/zstd

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

  • 相关阅读:
    https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic net::ERR_CONNECTION_TIMED_OUT问题解决
    nginx 下使用 bootstrap 字体的问题
    php中函数preg_match或preg_match_all 第三个参数$match的解释
    thinkphp中 volist循环的 mod取值的问题
    mysql中sql注入的随笔
    修改mysql的字符集和默认存储引擎
    使用Marsedit在博客园写作
    Server Tomcat v7.0 Server at localhost failed to start.临时解决办法
    【转】Linux Mint 17.2 gedit中文乱码
    HashMap和HashSet
  • 原文地址:https://www.cnblogs.com/exmyth/p/14240627.html
Copyright © 2011-2022 走看看