xz 是一个使用LZMA2压缩算法的压缩工具,能够生成 .xz 格式的压缩文件。它提供了高压缩比,特别适合压缩大型文件或需要长期存储的数据。
# 基本语法
xz [选项] [文件...]
# 解压语法
xz -d [选项] [文件.xz...]
unxz [选项] [文件.xz...]
| 选项 | 说明 |
|---|---|
-z, --compress |
强制压缩(默认) |
-d, --decompress |
解压文件(.xz文件) |
-t, --test |
测试压缩文件的完整性 |
-k, --keep |
保留原始文件(不删除源文件) |
-f, --force |
强制覆盖输出文件 |
-l, --list |
列出.xz文件的信息 |
-# |
压缩级别(0-9,默认为6,数字越大压缩率越高但速度越慢) |
-T, --threads=N |
指定使用的线程数(0=使用所有可用CPU核心) |
-v, --verbose |
显示详细信息 |
-q, --quiet |
抑制警告信息 |
--format=FORMAT |
指定格式(auto, xz, lzma) |
# 压缩文件,生成file.txt.xz,删除原文件
xz file.txt
# 压缩并保留原文件
xz -k file.txt
# 压缩文件并显示详细信息
xz -v file.txt
# 使用最高压缩级别
xz -9 file.txt
# 解压.xz文件,删除原压缩文件
xz -d file.txt.xz
# 解压并保留压缩文件
xz -dk file.txt.xz
# 使用unxz命令解压(等同于xz -d)
unxz file.txt.xz
# 测试压缩文件的完整性
xz -t file.txt.xz
# 测试多个文件
xz -t *.xz
# 列出.xz文件的详细信息
xz -l file.txt.xz
# 列出多个文件信息
xz -l *.xz
# 显示详细信息
xz -lv file.txt.xz
# 使用4个线程进行压缩
xz -T4 largefile.dat
# 使用所有可用的CPU核心
xz -T0 largefile.dat
# 批量压缩所有.txt文件
for file in *.txt; do
xz -k "$file"
done
# 批量解压所有.xz文件
for file in *.xz; do
xz -dk "$file"
done
# 压缩输出流
tar -cf - directory/ | xz > archive.tar.xz
# 解压输入流
xz -dc archive.tar.xz | tar -xf -
# 结合find命令压缩
find . -name "*.log" -type f -exec xz -k {} \;
xz常与tar命令结合使用,创建.tar.xz或.txz压缩包。
# 先打包再压缩
tar -cf archive.tar directory/
xz archive.tar
# 先解压再解包
xz -d archive.tar.xz
tar -xf archive.tar
# 直接创建.tar.xz压缩包
tar -cJf archive.tar.xz directory/
# 解压.tar.xz文件
tar -xJf archive.tar.xz
# 查看.tar.xz文件内容
tar -tJf archive.tar.xz
-J选项表示使用xz压缩,需要较新版本的tar支持
# 打包并压缩
tar -cf - directory/ | xz > archive.tar.xz
# 解压并解包
xz -dc archive.tar.xz | tar -xf -
| 工具 | 扩展名 | 压缩率 | 速度 | 适用场景 |
|---|---|---|---|---|
| xz | .xz | 最高 | 压缩慢,解压快 | 需要高压缩率、长期存储 |
| gzip | .gz | 一般 | 快 | 日常使用、网络传输 |
| bzip2 | .bz2 | 较高 | 较慢 | 中等压缩需求 |
| zip | .zip | 一般 | 快 | 跨平台、Windows兼容 |
# 使用file命令
file archive.xz
# 输出示例:archive.xz: XZ compressed data
使用 -k 或 --keep 选项:xz -k file.txt
xz本身不能直接压缩目录,需要先用tar打包:tar -cJf dir.tar.xz directory/
确保系统已安装xz工具:sudo apt install xz-utils (Ubuntu/Debian) 或 sudo yum install xz (CentOS/RHEL)
gzip - 使用LZ77算法的压缩工具bzip2 - 使用Burrows-Wheeler算法的压缩工具tar - 打包工具,常与压缩工具结合使用zip - 创建zip压缩文件unxz - xz解压的快捷方式xzcat - 不解压直接查看.xz文件内容xz file 或 tar -cJf archive.tar.xz dir/xz -d file.xz 或 tar -xJf archive.tar.xz-k 选项-T 选项启用多线程-9 选项(但速度会变慢)