插件窝 干货文章 linux中xz是什么命令

linux中xz是什么命令

压缩 文件 解压 filename 284    来源:    2025-04-30

xz 是 Linux 系统中一个高效的压缩和解压缩工具,用于处理 .xz.lzma 格式的压缩文件。它基于 LZMA/LZMA2 压缩算法,通常能提供比传统工具(如 gzipbzip2)更高的压缩率,适合处理大文件或需要节省空间的场景。


主要功能

  1. 压缩文件

    xz filename          # 压缩文件,生成 filename.xz(原文件默认删除)
    xz -k filename       # 保留原文件(-k 或 --keep)
    xz -1到-9 filename   # 设置压缩级别(1最快压缩,9最高压缩率,默认6)
    
  2. 解压文件

    xz -d filename.xz    # 解压 .xz 文件(等价于 unxz filename.xz)
    xz -dk filename.xz   # 解压并保留原压缩文件
    
  3. 查看压缩文件内容

    xzcat filename.xz    # 不解压直接查看内容(类似 zcat)
    xzless filename.xz   # 分页查看内容
    
  4. 多文件操作

    xz file1 file2       # 同时压缩多个文件(生成 file1.xz 和 file2.xz)
    

常用选项

选项 说明
-d 解压模式
-k 保留原文件
-T 设置线程数(如 -T0 使用所有CPU核心)
-v 显示详细过程
-l 列出压缩文件信息(如 xz -l filename.xz
-z 强制压缩(默认行为,通常可省略)

示例场景

  1. 压缩日志文件

    xz -9k /var/log/syslog   # 最高压缩率保留原文件
    
  2. 解压并提取内容

    xz -dc archive.xz > output.txt  # 解压到标准输出并重定向
    
  3. 与 tar 结合使用

    tar -cvf - directory/ | xz > archive.tar.xz  # 打包目录并压缩
    tar -xvf archive.tar.xz                     # 解压并解包
    

注意事项

  • 资源消耗:高压缩级别(如 -9)会占用更多CPU和时间。
  • 默认行为:不加 -k 时,原文件会被删除。
  • 替代命令
    • unxzxz -d 的别名。
    • xzdec 是轻量级解压工具(仅解压,无压缩功能)。

与其他工具对比

工具 压缩速度 压缩率 常见用途
gzip 一般 日志、文本
bzip2 较高 中等大小文件
xz 最慢 最高 大文件/归档

如果需要进一步优化,可以尝试 zstd(速度与压缩率平衡的新工具)。