Linux 命令:xz

xz 是 Linux/Unix 系统中一款高压缩比的现代化压缩工具 ,采用 LZMA2 压缩算法,压缩率通常优于 gzip 和 bzip2,对应的压缩文件后缀为 .xz,配套解压工具为 unxz,同时 xz -d 与 unxz 功能完全等价。

资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a

核心功能

  • 压缩单个文件为 .xz 格式,默认删除原文件。
  • 支持多线程压缩(适合多核 CPU)、不同压缩级别、保留原文件等。
  • 可直接解压 .xz 文件,也能处理 .tar.xz 格式(需结合 tar)。

基本语法

bash 复制代码
# 压缩文件
xz [选项] 文件名

# 解压文件(三种等价方式)
unxz [选项] 文件名.xz
xz -d [选项] 文件名.xz
xz --decompress [选项] 文件名.xz

常用选项

选项 作用
-d/--decompress 解压模式,等同于 unxz
-k/--keep 压缩/解压时保留原文件(默认删除原文件)
-f/--force 强制覆盖已存在的目标文件
-v/--verbose 显示压缩/解压的详细信息(大小、压缩比、进度等)
-0 ~ -9 设置压缩级别,-0 最快、压缩率最低;-9 最慢、压缩率最高,默认 -6
-T/--threads=数字 指定压缩线程数,例如 -T4 表示使用4线程,适合多核CPU
-c/--stdout 将压缩/解压内容输出到标准输出,不修改原文件

典型用法

一、 压缩操作
  1. 基础压缩

    压缩单个文件,生成 .xz 压缩包,原文件被删除:

    bash 复制代码
    xz test.log
    # 执行后生成 test.log.xz,test.log 被删除
  2. 保留原文件压缩

    使用 -k 选项,压缩后原文件保留:

    bash 复制代码
    xz -k large_database.sql
    # 生成 large_database.sql.xz,原文件保留
  3. 多线程高压缩比压缩

    针对大文件,用 -9 拉满压缩率,-T4 启用4线程加速:

    bash 复制代码
    xz -9 -T4 -k backup.tar
    # 生成 backup.tar.xz,多线程压缩效率更高
  4. 压缩内容重定向输出

    用 -c 自定义压缩包名称,同时保留原文件:

    bash 复制代码
    xz -c data.csv > custom_data.csv.xz
二、 解压操作
  1. 基础解压

    三种方式效果一致,默认删除原压缩包:

    bash 复制代码
    unxz test.log.xz
    # 或
    xz -d test.log.xz
    # 或
    xz --decompress test.log.xz
    # 执行后生成 test.log,test.log.xz 被删除
  2. 保留压缩包解压

    加上 -k 选项,解压后 .xz 文件不删除:

    bash 复制代码
    unxz -k test.log.xz
    # 或
    xz -dk test.log.xz
  3. 批量解压

    一次性解压当前目录下所有 .xz 文件:

    bash 复制代码
    unxz *.xz
  4. 查看解压内容(不生成文件)

    用 -c 直接在终端打印解压后的内容:

    bash 复制代码
    xz -dc config.conf.xz

注意事项

  1. xz 只能压缩单个文件 ,无法直接压缩目录。压缩目录需先通过 tar 打包,再用 xz 压缩,最终生成 .tar.xz 格式文件。
  2. 解压 .tar.xz 文件推荐用 tar 一步完成:tar -Jxvf filename.tar.xz(-J 代表 xz 格式)。
  3. xz 压缩速度比 gzip、bzip2 更慢,但压缩率更高,适合对存储空间敏感的场景(如备份大文件)。
  4. 老版本系统可能未预装 xz,可通过 yum install xz(CentOS)或 apt install xz-utils(Ubuntu)安装。
相关推荐
泡海椒21 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qq_3945620021 小时前
【在Linux上升级nginx】
linux·服务器·nginx
丸子君君21 小时前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机
海盗12341 天前
AI 新闻日报 2026-09-28:正确性审查自动化、7×24 个人智能体、具身部署态
运维·人工智能·机器人·自动化·人工智能aigc
元岳数字人小元1 天前
数字人源码系统:模块化开发赋能智能场景灵活迭代升级
运维·人工智能·开源·人机交互·交互
Tairitsu_H1 天前
[Linux系统] 基础IO核心 | 系统接口 | 文件描述符 | 重定向
linux·服务器·文件操作
嵌入式-老费1 天前
esp32开发与应用(用Python+PySide6解决上位机开发)
linux·单片机·嵌入式硬件
事已至此先睡覺吧1 天前
(三)Linux 基础指令(二):基础常用的一些指令
linux·运维·服务器
不会写DN1 天前
Go日志库工程选型与逃逸分析评测报告
java·服务器·golang
ShineWinsu1 天前
对于Redis:Redis的认识以及分布式系统的解析
linux·数据库·c++·redis·缓存·消息队列·分布式架构