unxz 和 xz
unxz - 解压 .xz 文件 (最推荐)
unxz 是专门用来解压 .xz 文件的命令,它实际上是 xz --decompress 的一个便捷别名,它的优点是简单直接,默认情况下会直接删除原始的 .xz 压缩文件。

基本语法:
unxz [选项] [文件名.xz]
最常用的用法:
解压单个文件:
这是最常见的场景,直接在文件名后跟上 .xz 文件即可。
unxz example.txt.xz
执行后,example.txt.xz 会被解压成 example.txt,并且原始的压缩文件 example.txt.xz 会被删除。

解压文件但不删除原压缩文件 (使用 -k 或 --keep 选项):
如果你希望在解压后仍然保留原始的 .xz 文件,可以使用 -k 选项。
unxz -k example.txt.xz
执行后,你会得到 example.txt,example.txt.xz 也会被保留。
解压多个文件:
你可以一次性解压多个 .xz 文件。
unxz -k file1.xz file2.xz file3.xz
这会解压 file1.xz, file2.xz, file3.xz,并保留它们。

从标准输入解压 (管道):
你可以将 .xz 文件的内容通过管道(cat 命令)传递给 unxz。
cat example.txt.xz | unxz > new_example.txt
这条命令会将 example.txt.xz 的内容解压,然后输出到 new_example.txt 文件中,原始的 .xz 文件保持不变。
xz - 通用压缩/解压工具
xz 是一个更通用的工具,既可以用来压缩文件,也可以用来解压文件,它的功能比 unxz 更全面,但命令也稍长一些。
基本语法:
# 解压 xz -d [文件名.xz] # 压缩 xz [文件名]
解压选项 (-d 或 --decompress):
-d: 指定xz命令进行解压操作,这是解压时的核心选项。-k: 保留(keep)原始压缩文件。-c: 将解压后的内容输出到标准输出(stdout),而不是写入文件,这对于管道操作非常有用。
xz 解压的常用用法:
解压单个文件 (并删除原文件):
xz -d example.txt.xz
效果与 unxz example.txt.xz 完全相同。
解压文件并保留原文件:
xz -dk example.txt.xz
效果与 unxz -k example.txt.xz 相同。
输出到屏幕 (不保存为文件):**
xz -dc example.txt.xz
这会直接在终端上显示 example.txt.xz 解压后的内容,非常适合快速查看文件内容。
通过管道传给另一个命令:**
这是一个非常强大的用法,解压一个日志文件后直接用 grep 过滤。
xz -dc access.log.xz | grep "error"
这条命令会解压 access.log.xz,然后将解压后的日志内容作为输入,交给 grep 命令来查找包含 "error" 的行。
其他相关工具
tar 结合 xz (处理 .tar.xz 文件)
在 Linux 世界中,.xz 文件经常被用来压缩 tar 归档文件,因此你经常会遇到 .tar.xz 或 .txz 格式的文件,处理这种文件的最佳方式是使用 tar 命令。
tar 命令解压 .tar.xz 文件:
tar -xf archive.tar.xz
命令解释:
x: extract,表示解压。f: 指定操作的文件名。f后面必须紧跟文件名,f archive.tar.xz。J: 这是一个非常关键的选项,它告诉tar使用xz程序来处理.tar.xz格式的压缩流。J是专门为xz设计的。
tar 命令压缩文件为 .tar.xz 格式:
tar -cJf archive.tar.xz /path/to/directory_or_file
命令解释:
c: create,表示创建新的归档文件。J: 使用xz进行压缩。f: 指定输出的文件名。
总结与对比
| 命令 | 用途 | 优点 | 缺点 |
|---|---|---|---|
unxz |
专门解压 .xz 文件 |
最简单、最直观,无需记忆额外选项 | 功能单一,只能解压 |
xz -d |
解压 .xz 文件 |
功能强大,与压缩功能统一 | 命令稍长,需要 -d 选项 |
tar -Jxf |
解压 .tar.xz 文件 |
处理归档压缩包的标准方式 | 仅适用于 tar 包 |
cat file.xz \| unxz |
从管道解压 | 灵活,可用于脚本 | 语法稍显复杂 |
快速参考
| 任务 | 命令 |
|---|---|
解压单个 .xz 文件 (推荐) |
unxz filename.xz |
解压 .xz 文件并保留原文件 |
unxz -k filename.xz |
使用 xz 解压单个文件 |
xz -d filename.xz |
解压 .tar.xz 归档文件 |
tar -xf archive.tar.xz |
解压 .tar.xz 并显示过程 |
tar -xvf archive.tar.xz |
将 .xz 内容输出到屏幕 |
xz -dc filename.xz |
希望这份详细的指南能帮助你熟练地在 Linux 下使用 xz 解压命令!
