news 2026/8/25 19:02:12

Linux命令-xz(高压缩比压缩工具)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令-xz(高压缩比压缩工具)

Linux命令-xz(高压缩比压缩工具)

    • 🔰 命令简介
    • 📖 语法格式
    • ⚙️ 常用选项
    • 💡 实战示例
      • 1. 基本压缩与解压
      • 2. 不同压缩级别
      • 3. 配合 tar 使用(.tar.xz 格式)
      • 4. 标准输入输出(管道操作)
      • 5. 多线程压缩与内存控制
      • 6. 批量压缩/解压
      • 7. 实用技巧
    • ⚠️ 注意事项
    • 📚 相关命令
    • 📝 总结

快速参考xz基于 LZMA2 算法的高压缩比压缩工具,压缩率远超 gzip 和 bzip2,广泛用于源码包分发(.tar.xz)和系统日志压缩。


🔰 命令简介

xz使用 LZMA2(Lempel-Ziv-Markov chain Algorithm)压缩算法,提供业界领先的压缩比。虽然压缩速度较慢,但解压速度尚可,适合需要长期存储或网络传输的场景。

💡格式说明xz生成.xz后缀文件。tar命令通过-J(大写)选项支持.tar.xz格式。

三种压缩工具对比:

工具后缀算法压缩比压缩速度解压速度
gzip.gzDEFLATE中等
bzip2.bz2Burrows-Wheeler较高较慢
xz.xzLZMA2最高中等

📖 语法格式

xz[选项][文件...]# 压缩文件(默认删除原文件)xz 文件名# 解压文件xz-d文件名.xz# 或unxz 文件名.xz# 保留原文件的压缩xz-k文件名

⚙️ 常用选项

选项说明
-z压缩模式(默认)
-d/--decompress解压模式
-k/--keep保留原文件(不删除)
-t/--test测试压缩文件完整性
-l/--list显示压缩文件信息
-0~-9压缩级别:0=最快,6=默认,9=最优
-e/--extreme极限压缩模式(更慢但压缩率更高)
-T N/--threads=N使用 N 个线程并行压缩
-T 0使用所有可用 CPU 核心
-c/--stdout输出到标准输出(不修改文件)
-f/--force强制覆盖已有文件
-q/--quiet抑制警告信息
-v/--verbose显示详细信息
--memlimit=值限制内存使用量
-s/--suffix=后缀指定压缩文件后缀(默认 .xz)

💡 实战示例

1. 基本压缩与解压

# 压缩单个文件(原文件被删除,生成 file.txt.xz)xz file.txt# 解压文件(.xz 文件被删除)xz-dfile.txt.xz# 等效命令unxz file.txt.xz# 压缩并保留原文件xz-klarge_file.log# 解压并保留压缩文件xz-d-karchive.tar.xz# 测试压缩文件完整性xz-tbackup.tar.xz# 显示压缩文件信息xz-larchive.tar.xz# 输出示例:# Strms Blocks Compressed Uncompressed Ratio Check Filename# 1 1 12.5 MiB 45.3 MiB 0.276 CRC64 archive.tar.xz

2. 不同压缩级别

# 最快压缩(压缩比最低)xz-0data.csv# 默认压缩级别(均衡)xz-6data.csv# 最高压缩级别xz-9data.csv# 极限压缩模式(比 -9 更极致)xz-9edata.csv# 多线程极限压缩xz-9e-T4large_database.sql

3. 配合 tar 使用(.tar.xz 格式)

# 创建 .tar.xz 压缩包(推荐方式)tar-cJfarchive.tar.xz /path/to/directory/# -J 调用 xz 压缩# 解压 .tar.xz 文件tar-xJfarchive.tar.xz# 列出 .tar.xz 内容不解压tar-tJfarchive.tar.xz# 使用 xz 多线程配合 tartar-cf- /big/dir/|xz-9e-T4>backup.tar.xz# 从 .tar.xz 中提取单个文件tar-xJfarchive.tar.xz path/to/specific/file

4. 标准输入输出(管道操作)

# 压缩 stdin 并保存catlargefile.txt|xz>largefile.txt.xz# 从 stdin 解压xz-d<largefile.txt.xz>largefile.txt# 压缩 MySQL 数据库备份并输出到文件mysqldump-uroot-pdatabase_name|xz-9>backup.sql.xz# 解压并导入数据库xz-dcbackup.sql.xz|mysql-uroot-pdatabase_name# 压缩日志文件流tail-f/var/log/syslog|xz-c>syslog_live.xz

5. 多线程压缩与内存控制

# 使用 4 个线程并行压缩xz-9-T4huge_file.log# 使用所有 CPU 核心xz-9-T0bigdata.csv# 限制内存使用(压缩大文件时防止 OOM)xz-9--memlimit=512MiB large_file.tar# 限制解压内存使用xz-d--memlimit=256MiB compressed.xz

6. 批量压缩/解压

# 批量压缩目录下所有 .log 文件forfin*.log;doxz-9"$f"done# 批量解压所有 .xz 文件forfin*.xz;dounxz"$f"done# 使用 find 批量压缩find/var/log-name'*.log'-mtime+30-execxz-9{}\;# 批量解压并验证完整性forfin*.tar.xz;doxz-t"$f"&&echo"$f: OK"||echo"$f: CORRUPT"done

7. 实用技巧

# 查看压缩前后大小对比xz-vfile.txt2>&1|grep'%'# 压缩到指定目录xz-cfile.txt>/backup/file.txt.xz# 零压缩(仅存储)xz-0file.txt# 解压到标准输出查看(不产生文件)xz-dcarchive.tar.xz|tartf -# 给压缩文件添加 .xz 以外的后缀xz-z--suffix=.lzma file.txt

⚠️ 注意事项

⚠️操作注意:以下场景需要特别留意。

# 注意:xz 默认删除原文件xz important_file.txt# 原文件 important_file.txt 被删除# 解决:使用 -k 保留原文件xz-kimportant_file.txt# 注意:压缩大文件时内存占用高xz-910GB_file.bin# LZMA2 编码器默认使用大量内存# 解决:使用 --memlimit 限制内存xz-9--memlimit=512MiB 10GB_file.bin# 注意:管道中压缩无法使用 -kcatfile|xz>file.xz# 正确xz-cfile>file.xz# 推荐,保留原文件

💡选择建议

  • 日常快速压缩:优先gzip(速度快)
  • 源码分发/长期归档:使用xz(压缩比最高)
  • 中等需求bzip2是折中选择
  • 多文件归档:始终配合tar使用(tar -cJf
  • 已有 .gz 包转 .xz:使用znew命令

📚 相关命令

命令关系与说明
unxzxz 解压模式(等同xz -d
xzcat解压到 stdout(等同xz -dc
xzless/xzmore分页查看压缩文件内容
xzgrep在压缩文件中搜索文本
gzipGNU 压缩工具(速度优先)
bzip2Burrows-Wheeler 压缩(平衡)
zstd现代高性能压缩工具(速度+压缩比)
tar归档工具(-J 选项使用 xz)
znew将 .Z/.gz 转换为 .xz 格式

📝 总结

xz是 Linux 系统中压缩比最高的通用压缩工具,.tar.xz 是 Linux 源码包的标准分发格式。虽然压缩速度较慢,但凭借出色的压缩比和可接受的解压速度,非常适合软件分发和长期归档场景。

💡运维建议:日志归档使用xz -9最大化空间节省;生产环境使用-T N多线程加速;大文件压缩时用--memlimit避免 OOM。日常快速压缩场景优先使用gzip

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 18:59:23

企业如何实现创新能力综合分析与评价?

观点作者&#xff1a;科易网-国家科技成果转化&#xff08;厦门&#xff09;示范基地在全球新一轮科技革命与产业变革的浪潮中&#xff0c;科技创新已成为驱动经济高质量发展的核心引擎。然而&#xff0c;企业在推进科技创新过程中&#xff0c;常常面临一个关键性难题——如何系…

作者头像 李华
网站建设 2026/8/25 18:47:55

claude-mem:为AI编程助手打造长期记忆,解决上下文限制难题

1. 项目缘起&#xff1a;当Claude Code遇上“金鱼记忆”如果你和我一样&#xff0c;深度依赖Claude Code作为日常编程的“副驾驶”&#xff0c;那你一定经历过这种抓狂时刻&#xff1a;你正在开发一个复杂的微服务模块&#xff0c;花了十分钟向Claude Code解释清楚了业务逻辑、…

作者头像 李华
网站建设 2026/8/25 18:43:33

Windows系统文件webplatstorageserver.dll丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/8/25 18:43:24

大模型驱动的智能搜索:从语义理解到检索增强生成

1. 从“关键词匹配”到“意图理解”&#xff1a;搜索范式的根本性转变如果你在2010年搜索“苹果”&#xff0c;搜索引擎大概率会给你一堆关于水果的网页&#xff0c;附带一些关于苹果公司的新闻。今天&#xff0c;你搜索“苹果”&#xff0c;结果页的顶部很可能是苹果公司的官网…

作者头像 李华
网站建设 2026/8/25 18:42:54

基于.NET原生AI编码智能体运行时SharpClawCode的设计与实践

1. 项目概述&#xff1a;为什么我们需要一个原生的AI编码智能体运行时&#xff1f;在.NET生态里摸爬滚打了十几年&#xff0c;从WinForm到WPF&#xff0c;再到ASP.NET Core&#xff0c;我见证了C#从一门企业级后端语言&#xff0c;逐渐渗透到桌面、移动、云原生乃至AI的边缘。最…

作者头像 李华