Linux 命令:xz

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

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://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 压缩速度比 gzipbzip2 更慢,但压缩率更高,适合对存储空间敏感的场景(如备份大文件)。
  4. 老版本系统可能未预装 xz,可通过 yum install xz(CentOS)或 apt install xz-utils(Ubuntu)安装。
相关推荐
阿拉斯攀登2 小时前
平台设备驱动:platform bus 与设备树
linux·嵌入式硬件·嵌入式·linux驱动·字符设备驱动
阿拉斯攀登3 小时前
并发与同步:自旋锁、信号量、互斥锁
linux·网络·嵌入式硬件·linux驱动·字符设备驱动
网络小白不怕黑3 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
TTBIGDATA3 小时前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
CN_HW3 小时前
Nginx 流量镜像配置文档-双轨国产化
服务器·前端·网络
java_logo4 小时前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
Macbethad4 小时前
基于TwinCAT的半导体刻蚀设备SCADA管理程序技术方案
运维·网络·数据库
Carlos_Xu4 小时前
Linux基础-基础命令
linux
风曦Kisaki4 小时前
# Linux实战笔记-HIS项目实战Day01:版本控制与Git基础
linux·笔记·git
刘马想放假5 小时前
生成树协议 STP、RSTP、MSTP 分析:二层环网如何既冗余又不环路
运维·网络协议