如何轻松解压.tar.xz文件的步骤
tar
命令允许你创建和解压缩 tar 包。它支持很多压缩算法,例如 gzip, bzip2, lzip, lzop, xz 和 compress。
XZ 是一个基于 LZMA 算法,用于压缩文件的流行算法。
按照惯例,使用 xz 压缩的 tar 包名字都以 .tar.xz
或者 .txz
结尾。
本文讲解了如何使用tar
命令来解压缩.tar.xz
或者 .txz
包。
一、解压 tar.xz 文件
tar 工具默认在所有的 Linux 发行版和 macOS 上都已经安装好了。
想要解压一个 tar.xz 文件,使用 tar
命令加上--extract
(-x
)选项,并且在-f
选项后面加上包文件名。
tar -xf archive.tar.xz
tar
自动检测压缩类型,并且解压缩包文件。同样的命令可以用来解压缩使用其他算法,例如:.tar.gz 或者.tar.bz2 压缩的文件。
如果你不想使用命令行,你可以使用 GUI 文件管理器。 想要解压一个 tar.xz 文件,只需要简单右键点击你想要解压的文件,并且选择"Extract”。Windows 用户需要安装一个名为7zip的工具来解压 tar.xz 文件。
如果想要显示一些输出记录,使用-v
选项。这个选项告诉tar
文件在终端被解压时,显示压缩包里面的文件名。
tar -xvf archive.tar.xz
默认情况下,tar
解压包文婧内容到当前目录。想要解压包文件到一个指定文件夹,使用--directory
(-C
)。
下面的例子显示了如何将压缩包内容,解压到文件夹/home/linuxize/files
。
tar -xf archive.tar.xz -C /home/linuxize/files
二、从 tar.xz 文件中解压指定文件
想要从 tar.xz 文件中解压一个指定的文件,或者多个指定文件,在压缩包名字后面,以空格间隔,列出需要解压出的文件名。
tar -xf archive.tar.xz file1 file2
当解压文件时,你必须提供准确的名字,包括路径。这些路径就像 使用tar
加上--list
(-t
)选项命令运行打印出的结果一样。
从压缩包中解压出一个或者多个文件夹,也和上面解压多个文件一样的:
tar -xf archive.tar.xz dir1 dir2
如果你尝试解压一个在压缩包中不存在的文件,一个类似下面的错误提示将会出现:
tar -xf archive.tar.xz README
输出:
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
--wildcards
选项允许你从一个 tar.xz 文件中基于一个泛名字模式来解压出你需要的文件。这个样式必须使用引号括起来,以免 shell 解释它。
例如,只想解压以.png
结尾的文件,你需要使用:
tar -xf archive.tar.xz --wildcards '*.png'
三、从标准输入解压 tar.xz 文件
当解压一个从标准输入(通常是通过管道)读取的压缩 tar.xz 文件,你必须指定一个压缩选项。这个-J
选项告诉tar
这个文件是使用 xz 来压缩的。
在下面的这个例子中,我们使用 wget 命令下载 Linux Kernel,并且通过管道将输出传递给tar
命令:
wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj
如果你不指定解压缩选项,tar
将会提示你应该用哪一个选项:
tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
四、列出 tar.xz 文件内容
想要列出 tar.xz 文件内容,使用--list
(-t
)选项:
tar -tf archive.tar.xz
输出将会像下面这样:
file1
file2
file3
如果你添加 --verbose
(-v
)选项,tar
将会打印更多信息,例如拥有者,文件大小,时间戳等等:
tar -tvf archive.tar.xz
输出:
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file3
五、总结
tar.xz 是一个使用 xz压缩的 tar 包。想要解压 tar.xz 文件,使用tar -xf
命令,加上压缩包名字即可。
原文 :https://linuxize.com/post/how-to-extract-unzip-tar-xz-file/
推荐阅读
-
35 岁实现财务*,腾讯程序员手握2300万提前退休?-1000万房产、1000万腾讯股票、加上300万的现金,一共2300万的财产。有网友算了一笔账,假设1000万的房产用于自住,剩下1300万资产按照平均税后20-50万不等进行计算,大约花上26-60年左右的时间才能赚到这笔钱。也就是说,普通人可能奋斗一辈子,才能赚到这笔钱。在很多人还在为中年危机而惶惶不可终日的时候,有的人的35岁,就已经安全着陆,试问哪个打工人不羡慕?但问题是有这样财富积累必然有像样的实力做靠山。没有人可以不劳而获。 看到这里,肯定有人说,那么对于普通人来说,卷可能真就成了唯一的出路。但是卷也有轻松的卷,“偷懒”的卷法,对于程序员而言,刨除掉一时无法改掉的开会传统占用的大部分时间,如何把有限的时间和精力放在真正重要的架构设计、需求设计上,而不是重复的造*,编码、改bug、手动测试。因此在科技改变生活的今天,学会使用AI工具成为程序员们的必备技能。 以全栈式全自动的软件开发工具飞算SoFlu软件机器人为例,作为全球首款面向微服务架构设计和最佳实践的软件机器人,SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。 而作为飞算SoFlu软件机器人的一个重要组成部分,FuncGPT(慧函数)支持所有类型函数创建。通过自然语言描述Java函数需求,实时生成高质量、高可读性的Java函数代码。生成代码可直接复制到IDEA,或一键导入Java全自动开发工具函数库。 FuncGPT(慧函数)具有五大核心能力: ● 自然语言:通过自然语言即可生成函数,降低软件开发门槛。 ● 秒级函数开发:全自动秒级开发函数,秒级完成,效率千倍提升。 ● 一站式函数开发应用:函数生成即可直接应用,效率、安全有保障。 ● 质量可靠:生成的函数代码符合业界规范、具备良好的可读性,符合最优解。 ● 灵活生成:可以根据开发人员的具体需求生成并支持调整和修改。 以“将文件流转换为File对象”这个需求为例,以下是FuncGPT(慧函数)秒级生成的代码: / 类名:FileConverter // 函数名:convertStreamToFile // 函数功能:将文件流转换为File对象 // POM依赖包:无 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class FileConverter { /** * 将文件流转换为File对象 * @param inputStream 文件流 * @param filePath 文件路径 * @param fileName 文件名 * @return 转换后的File对象 * @throws IOException 如果发生I/O异常 */ public static File convertStreamToFile(InputStream inputStream, String filePath, String fileName) throws IOException { File file = new File(filePath + File.separator + fileName); // 创建File对象 try (FileOutputStream outputStream = new FileOutputStream(file)) { // 创建文件输出流 byte buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { // 从文件流读取数据并写入文件 outputStream.write(buffer, 0, bytesRead); } } return file; // 返回转换后的File对象 } } // 函数示例 // 将文件流转换为File对象示例 // 入参:inputStream,文件流 // 入参:filePath,文件路径 // 入参:fileName,文件名 // 出参:file,转换后的File对象 // 调用示例: // InputStream inputStream = new FileInputStream("example.txt"); // String filePath = "C:\\Users\\User\\Documents"; // String fileName = "example.txt"; // File file = FileConverter.convertStreamToFile(inputStream, filePath, fileName); // System.out.println(file.getAbsolutePath); // 输出结果:例如,将文件流转换为File对象后,文件的绝对路径为:C:\Users\User\Documents\example.txt // 则输出结果为:C:\Users\User\Documents\example.txt 通过分析,不难发现以上代码:
-
分步教程:如何使用 ZipArchive 的 php 扩展名压缩和解压文件
-
GitHub 教程:如何从 GitHub 下载文件(下载单个文件或下载整个项目文件)的详细步骤说明(图解教程)
-
如何在Arch Linux或Manjaro系统上轻松安装KVM、QEMU和Virt Manager的步骤指南
-
如何轻松快速地安装H3C最新版模拟器HCL_Setup_V3.0.1的步骤指南
-
简单讲解Linux tar命令:打包、压缩与解压缩操作,以及如何将tar解压文件定位到特定文件夹步骤详解
-
轻松掌握tar解压各类常用压缩文件的实用命令集锦
-
如何在Linux中轻松使用tar命令进行文件压缩与解压缩操作
-
如何在Linux中轻松操作tar命令进行文件压缩与解压
-
详细讲解如何在Python中操作tar归档文件的压缩与解压实例