0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux使用tar命令创建/提取tar文件

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-05 16:37 次阅读

tar命令允许您创建,提取,解压缩tar存档文件。它支持各种压缩程序,例如gzipbzip2lziplzmalzopxzcompress压缩程序。

Xz是基于LZMA算法,它也是一种流行压缩算法。按照惯例,以xz压缩程序的tar存档文件的名称以.tar.xz.txz结尾。

教程介绍如何使用tar命令解压.tar.xz.txz存档文件。包括使用文件管理器解压缩文件。

如需要创建tar文件的存档,可以参考我们的教程如何在Linux使用tar命令创建/提取tar文件。此教程几乎包括tar命令日常使用选项与解释。

tar 命令解压tar.xz文件

tar命令默认预安装在所有Linux发行版和macOS。要解压tar.xz文件,请tar命令的使用--extract或者-x选项,并在-f选项后指定tar.xz文件文件名称。

tar自动检测压缩文件使用的算法并自动解压文件。可以使用tar -xf命令来解压使用其他压缩算法的tar存档文件。例如.tar.gz文件和.tar.bz文件。

命令tar -xf archive.tar.xz命令将会解压archive.tar.xz文件到当前目录。-f选项用于指定文件,-x选项表示解压。

tar -xf archive.tar.xz

tar 命令指定解压目录

要获得更详细的输出,请使用tar命令的-v选项。这将会在终端打印正在解压的文件名称。

tar默认解压tar.xz文件到当前工作目录。要解压到指定目录,请使用--directory或者-C选项。

命令tar -xf archive.tar.xz -C /home/myfreax/filesarchive.tar.xz解压到/home/myfreax/files目录。

tar -xvf archive.tar.xz
tar -xf archive.tar.xz -C /home/myfreax/files

tar 命令提取指定文件

要从tar.xz文件中提取指定文件,请tar命令的最后指定要提取文件名称,多个文件以空格作为分隔符。

提取文件时,必须提供文件在压缩内文件的内的路径,你可以使用tar命令的--list/-t选项查看文件路径,运行命令tar tf test.tar.xz

除了在tar.xz压缩文件提取文件以外,你还可以提取一个或多个目录。与提取文件一样你需要指定目录在压缩内文件的内的路径。

如果您尝试提取压缩文件内不存在的文件,tar命令将会错误消息tar: README: Not found in archive。tar: Exiting with failure status due to previous errors

例如命令tar -xf archive.tar.xz test/dir/ test/file1将会提取文件test/file1 和目录test/dir/到当前目录。

test/
test/file1
test/dir/
test/dir/file2

archive.tar.xz

tar -tf archive.tar.xz

tar -xf archive.tar.xz test/file1
tar -xf archive.tar.xz test/dir/ test/file1

tar命令的--wildcards选项允许您基于通配符模式或者正则表达式从tar.xz文件中提取多个文件。

在使用通配符模式或者正则表达匹配多个文件事,必须使用单引号对模式进行包裹,避免shell解释模式中的特殊符号。

例如命令tar -xf archive.tar.xz --wildcards '*.png'将会提取以.png结尾的文件。

tar -xf archive.tar.xz --wildcards '*.png'

tar 命令读取标准输入解压

tar命令可以从指定文件解压,也可以读取标准输入对文件进行解压。这样就可以做到一边下载一边解压。

当通过标准输入解压tar.xz文件时,你必须指定解压的程序。tar命令的-J选项指定使用xz压缩程序解压文件。

如果您未指定解压缩选项,tar命令将会打印消息。tar: Archive is compressed. Use -J option。tar: Error is not recoverable: exiting now。提示你使用-J选项。

例如命令wget -c URL -O - | sudo tar -xj使用wget命令下载Linux内核并到标准输出,然后通过管道传递到tar命令进行解压。

wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj

tar 命令查看tar.xz文件

要查看tar.xz压缩文件,请使用tar命令的--list或者-t选项所有文件内容。

除了查看文件名称,你还可以添加tar命令的--verbose/-v选项打印更详细的信息

这些文件的信息包括所有者,文件大小,时间戳,权限等。

tar -tf archive.tar.xz
tar -tvf archive.tar.xz
drwxrwxr-x myfreax/myfreax   0 2022-12-02 13:30 test/
-rw-rw-r-- myfreax/myfreax   0 2022-12-02 13:25 test/file1
drwxrwxr-x myfreax/myfreax   0 2022-12-02 13:26 test/dir/
-rw-rw-r-- myfreax/myfreax   0 2022-12-02 13:26 test/dir/file2

文件管理器解压tar.xz文件

如果您不是命令行用户,则可以使用GUI文件管理器解压tar.xz文件。

要使用文件管理器解压tar.xz文件,只需右键单击要解压的文件,然后选择提取。Windows用户需要安装7zip软件来解压tar.xz文件。

结论

tar.xz文件是使用xz压缩程序的Tar存档文件。要解压tar.xz文件,请使用tar -xf命令,后跟文件名称。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10989

    浏览量

    206728
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21848
收藏 人收藏

    评论

    相关推荐

    linux中的压缩命令

    linux中主要有.zip,.gz,.bz2及.tar.gz和.tar.bz2等压缩格式。
    发表于 01-04 09:48 529次阅读

    嵌入式学习指引--Linux文件压缩详细解析

    助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为
    发表于 03-14 10:29

    ubuntu中tar命令解压出错??

    ubuntu中tar命令解压出错?这是什么情况怎么都不能解压呢??
    发表于 09-23 14:19

    .tar.bz2文件解压命令

    从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包要解压很简单 :.tar.gz格式解压为 tar-zxvfxx.tar.gz.tar.bz2
    发表于 11-03 15:04

    Linux进阶命令详解

    ,不同于Windows使用搜索框查找,Linux中使用 find 命令查找文件。find 命令: *目的:查找符合条件的文件 *格式: fi
    发表于 03-16 09:45

    如何使用tar文件安装软件?

    嗨,Idownloaded Xilinx_11.5_ISE_DS_nt.tar并在安装程序中点击启动时没有发生任何事情。我该如何使用这个tar文件安装软件?当我解开它时,有一个选项
    发表于 11-26 14:42

    怎样去解决tar -zxvf 解压文件时出现的问题

    问题发现:用tar -zxvf 解压文件的时候发现如下问题“cannot change ownership to uid 0”。问题出现原因:解压文件本来要求解压到的分区,格式要求是ext的,但是
    发表于 12-23 08:32

    OK10xx-linux-fs.tar.bz2软件包中缺少文件

    你好! OK10xx-linux-fs.tar.bz2 软件包中 缺少文件:在目录 /home/forlinx/work/OK10xx-linux-fs/flexbuild/packages
    发表于 01-05 06:27

    Linux基础教程之如何在linux不解压tar.gz文件查看的文件大小资料概述

    本文档的主要内容详细介绍的是Linux基础教程之如何在linux不解压tar.gz文件查看的文件
    发表于 10-31 17:06 2次下载

    虚拟机:Linux查看tar文件内容的方法

    虚拟机:Linux查看tar文件内容的方法
    的头像 发表于 06-22 16:49 6254次阅读

    如何写Linux下的tar打包软件?

    相信你对 linux 的 .tar.gz 有点熟悉,这就是先 tar 打包(.tar 后缀),再对此 tar
    的头像 发表于 03-10 10:44 1266次阅读

    Linux tar命令高级用法——备份数据

    Linux上有功能强大的tar命令tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件和目录备份到磁带
    发表于 11-21 09:21 795次阅读

    何在Linux使用touch命令

    Linux touch命令用于更改文件时间戳。但touch命令的最常见用法是创建文件
    的头像 发表于 12-05 17:21 1692次阅读

    Linux中的18个tar命令示例

    下面的示例命令创建一个tar存档文件rumenz-14-09-12.tar对于目录/home/rumenz在当前工作目录中。请参阅示例
    的头像 发表于 05-04 14:59 630次阅读

    恒讯科技分析:如何在Linux上使用rm命令删除文件和目录?

    本指南展示了如何在Linux中使用rm命令行删除文件、目录和其他内容?
    的头像 发表于 06-09 17:02 853次阅读