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)安装。
相关推荐
HIT_Weston2 分钟前
110、【Ubuntu】【Hugo】搭建私人博客:搜索功能(六)
linux·运维·ubuntu
90的程序爱好者4 分钟前
Linux 常用命令分类整理
linux·运维·服务器
坐怀不乱杯魂7 分钟前
Linux - 线程的同步与互斥
linux·c++
HABuo9 分钟前
【linux基础I/O(一)】文件系统调用接口&文件描述符详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
拾光Ծ9 分钟前
【Linux】一切皆文件:深入理解文件与文件IO
linux·c语言·运维开发·系统编程·重定向·linux开发·文件io
biubiubiu070611 分钟前
Devops(gitlab和jenkins)安装
运维·devops
J_liaty13 分钟前
客户端负载均衡与服务端负载均衡解释与对比
java·运维·负载均衡
梦想的旅途216 分钟前
企微API自动化:外部群消息高效推送
运维·自动化·企业微信
先生先生39318 分钟前
docker/linux
linux·运维·服务器
独隅19 分钟前
Ollama 在 Linux 上的完整安装与使用指南:从零部署到熟练运行大语言模型
linux·运维·语言模型