Linux 高压缩率工具 XZ 压缩详解

站长

发表文章数:4245

解决apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题

目录

一、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% 左右。

ssh隧道使用

  • 压缩文件(源文件不保留)
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

K8S生产环境中实践高可靠的配置和技巧都有哪些?

未经允许不得转载:www.xssyun.com作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家-资源网,新人技术交流平台,一个湖北娃的个人博客
原文地址:《Linux 高压缩率工具 XZ 压缩详解》 发布于2020-02-02

分享到:
赞(0) 生成海报

长按图片转发给朋友

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册