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
作者:理想三旬
本人承接各种项目维护和python项目开发, 如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
分类:
linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧