zoukankan      html  css  js  c++  java
  • Linux 高压缩率工具 XZ 压缩详解

    一、XZ 基础信息

    XZ 压缩比比较高,在这里没有进行详细对比。

    官网链接: https://tukaani.org/xz/

    官网介绍到: 压缩后的文件大小 gzip 小30%,比bzip2小15%。

    我测试 一个 112M 的文件,xz 压缩完后 4.5M, gz 压缩完后 16M, biz2 缩完后7.6M.
    压缩比: xz >biz2 > gzip

    二、安装

    yum install epel-release
    yum  install  xz 
    

    三、详解

    3.1、常用的参数

    默认压缩后的文件后缀为 xz

    -z	强制执行压缩, 默认不保留源文件。压缩后的文件名为源文件.xz
    -d	强制执行解压缩
    -l	列出压缩文件的信息
    -k	保留源文件不要删除
    -f	强制覆盖输出文件和压缩链接
    -c	写入到标准输出,输入文件不要删除
    -0..-9	压缩比例,默认为6
    -e  使用更多的 CPU time 来进行压缩,提高压缩率。不会影响解压时所需要的内存。
    -T  指定线程数,默认是 1 ,当设置为 0 时使用和机器核心一样多的线程。
    --format=  指定压缩输出格式,可以是 raw、xz、lzma
    -v	显示更详细的信息
    

    注意点: 压缩后的文件时在和源文件同一个目录。当我们压缩的文件为 /home/nginx/logs/error.log-20191126 ,当我们在任意目录执行完 xz /home/nginx/logs/error.log-20191126 后,压缩后的文件路径是 /home/nginx/logs/error.log-20191126.xz.

    3.2、 常用命令

    xz 进行压缩的时候,默认使用的内存为 总内存的 5% 左右。

    • 压缩文件(源文件不保留)
    xz   /home/nginx/logs/error.log-20191126
    
    • 压缩文件(源文件保留)
    xz -k /home/nginx/logs/error.log-20191126
    

    压缩的时候设定最大使用内存 --memlimit-compress= 示例:--mem‐
    limit-compress=80MiB

    • 解压缩文件
    xz -d  /home/nginx/logs/error.log-20191126.xz
    

    或者

    unxz  /home/nginx/logs/error.log-20191126.xz 
    

    解压缩的时候设定最大使用内存 --memlimit-decompress=

    • 指定多线程数来进行压缩
    xz -T 4  /home/nginx/logs/error.log-20191126
    

    四、扩展

    4.1、unxz

    xz 压缩包的解压命令

    4.2、xzcat

    xz --decompress --stdout
    查看压缩文件的内容

    4.3、lzma

    xz --format=lzma
    压缩格式为 lzma

    4.4、unlzma

    xz --format=lzma --decompress
    解压 压缩格式为 lzma 的压缩包

    4.5、lzcat

    xz --format=lzma --decompress --stdout

  • 相关阅读:
    2-4 递增链表的插入 链表
    KMPnext数组自看
    Shortest Prefixes POJ
    Xor Sum HDU
    Immediate Decodability HDU
    Repository HDU
    "strcmp()" Anyone? UVA
    Remember the Word UVALive
    A Magic Lamp HDU
    Check Corners HDU
  • 原文地址:https://www.cnblogs.com/operationhome/p/12253549.html
Copyright © 2011-2022 走看看