一、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

Linux 高压缩率工具 XZ 压缩详解的更多相关文章

  1. linux下文件打包、压缩详解

    Linux平台下,有如下几种常见的压缩工具: ========================================================================= 工 具 ...

  2. Linux性能分析工具top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. top命令说明 [www.linuxidc.com@linuxidc-t-tomcat-1 ...

  3. Linux文件排序工具 sort 命令详解

    sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...

  4. Linux抓包工具tcpdump命令详解

    1.简介      用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...

  5. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  6. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  7. Linux Shell编程与编辑器使用详解

    <Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...

  8. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  9. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

随机推荐

  1. 这群程序员疯了!他们想成为IT界最会带货的男人

    随着网红主播越来越火,通过直播带货种草的形式也成了今年双12的热点. 不过,网红主播带货早已见怪不怪,但你们见过程序员直播带货吗!? 近日,趁着阿里云双12年末采购节,阿里云邀请了一波程序员GG来为大 ...

  2. 盘一盘 Thread源码

    线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 继承关系图 线 ...

  3. cglib的动态代理

    前言 jdk中的动态代理通过反射类Proxy和InvocationHandler回调接口实现,要求委托类必须实现一个接口,只能对该类接口中定义的方法实现代理,这在实际编程中有一定的局限性. cglib ...

  4. web.config修改文件修改上传大小

    老是要修改上传文件大小的限制,先记在这里. <httpRuntime maxRequestLength= "1048576 " //最大长度 executionTimeout ...

  5. Java动态代理 ----- jdk代理与cglib代理

    1.jdk代理 针对接口进行代理,接口可以没有方法, InvocationHandler会拦截所有方法,不过好像意义不大....只能执行Object类的方法,执行结果有点奇怪... package t ...

  6. 中小型企业级 IPS 部署

    <构建基于Snort+Guardian+Iptables的IPS> 2020年的第三天,依旧如往常写文章,分享最近做的项目继<中小型企业级防火墙部署>之后的另一部分<构建 ...

  7. 开启 Django 博客的 RSS 功能

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 博客提供 RSS 订阅应该是标配,这样读者就可以通过一些聚合阅读工具订阅你的博客,时 ...

  8. Synchronized解析——如果你愿意一层一层剥开我的心

    前言 synchronized,是解决并发情况下数据同步访问问题的一把利刃.那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟. Synchroni ...

  9. 「分块系列」「洛谷P4168 [Violet]」蒲公英 解题报告

    蒲公英 Description 我们把所有的蒲公英看成一个长度为\(n\)的序列(\(a_1,a_2,...a_n\)),其中\(a_i\)为一个正整数,表示第i棵蒲公英的种类的编号. 每次询问一个区 ...

  10. 《C++Primer》第五版习题解答--第四章【学习笔记】

    [C++Primer]第五版习题解答--第四章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/11 第四章:表达式 练习4. ...