Linux 中 tar 命令详解

 更新时间:2023年07月25日 09:44:34   作者:god23bin  
这篇文章主要,给大家带来的是 Linux 命令系列,要介绍的是一个常用且强大的命令:tar,文中代码示例介绍的非常详细,需要的朋友可以参考下

什么是 tar 命令?

tartape archive 的缩写,意思是磁带归档,归档可以视为存档。tar 命令网上很多都提到,它是一个压缩命令,为什么会这样说呢?

实际上,它是用于创建和提取 tar 归档文件的,最初的设计就是用于将多个文件打包到磁带上进行备份。随着时间的推移,tar 命令已经扩展到处理文件和目录的归档和压缩。

tar 命令之所以常被称为压缩命令,是因为它通常与压缩算法结合使用,可以在创建归档时对文件进行压缩,以减小归档文件的大小。这种结合使用压缩算法的方式是出于效率和存储空间的考虑,尤其在处理大量文件或传输文件时特别有用。压缩算法通常是通过选项来指定的。在常见的 tar 命令中,使用 -z 选项表示使用 gzip 压缩算法,-j 选项表示使用 bzip2 压缩算法,而 -Z 选项表示使用 compress 压缩算法。这些压缩算法可以有效地减小文件的大小,并在需要时进行解压缩还原。所以,现在的 tar 命令在许多场景中不仅用于创建和提取归档文件,还常用于压缩和解压缩文件。

如何使用 tar 命令?

tar 命令的基本语法如下:

tar [选项参数] 归档文件名 文件/目录名

其中,选项参数 是可选的,用于指定 tar 命令的不同操作。归档文件名 是要创建或提取的归档文件的名称。文件/目录名 是要打包或提取的文件或目录的名称。

创建归档文件

要创建归档文件,可以使用 -c 选项并指定要创建的归档文件的名称,然后提供要打包的文件或目录的名称。

c 代表 create,意味着创建一个新的归档文件来保存指定的文件和目录。使用 -c 参数时,通常需要结合 -f 参数指定存档文件的名称。f 代表 file,表示后面紧跟着的参数是存档文件的名称。例如,-f archive.tar 指定了归档文件为 archive.tar

tar -c -f 归档文件.tar 文件/目录

举个例子,现在我们在 /opt/games/gta6 目录下有一个 crack 目录,我们想将 crack 目录归档,保存一下,那么就可以要创建名一个为 crack.tar 的归档文件并打包 crack 目录,可以执行以下命令:

tar -c -f crack.tar crack

提取(解压)归档文件

要从归档文件中提取文件或目录,可以使用 -x 选项并指定要提取的归档文件的名称。

x 代表 extract,表示从存档文件中提取归档的文件和目录。使用 -x 参数时,通常需要结合 -f 参数指定要提取的存档文件的名称。

tar -x -f 归档文件.tar

现在,我们把上一步创建的归档文件移动到 model 目录下再进行提取,提取所有文件和目录,可以执行以下命令:

tar -x -f crack.tar

压缩归档文件

tar 命令还支持将归档文件与压缩算法结合使用以减小文件大小。常见的压缩算法包括 gzip (-z)、bzip2 (-j) 和 xz (-J)。

tar -c -z -f 归档文件.tar.gz 文件/目录
tar -c -j -f 归档文件.tar.bz2 文件/目录
tar -c -J -f 归档文件.tar.xz 文件/目录

现在,我们想要把 config4gta6 归档并且压缩,分别使用这 3 种算法压缩,那么可以分别创建名为 config4gta6.tar.gz 的 gzip 压缩归档文件、config4gta6.tar.bz2 的 bzip2 压缩归档文件和 config4gta6.tar.xz 的 xz 压缩归档文件,并打包目录 config4gta6,现在就可以依次执行以下命令:

tar -c -z -f config4gta6.tar.gz config4gta6
tar -c -j -f config4gta6.tar.bz2 config4gta6
tar -c -J -f config4gta6.tar.xz config4gta6

解压归档文件

现在是有了 3 个压缩的归档文件了,那么如何解压呢?聪明的你肯定知道了,就是使用 -x 选项参数。现在我们先将这 3 个压缩归档文件移动到当前的 crack 目录下,在 crack 目录中进行解压。

# 移动 3 个压缩文件到 crack 目录
mv config4gta6.tar.gz config4gta6.tar.bz2 config4gta6.tar.xz crack

接着我们可以根据压缩的算法选择用哪个参数来解压,就是通过 -x 与 -z 或 -j 或 -J 配合使用。

直接解压 gzip 压缩归档文件到当前目录:

tar -x -z -f config4gta6.tar.gz

解压 bzip2 压缩归档文件到指定目录,配置选项参数 -C(大写字母 C,是 Change directory 的缩写,表示改变目录)来指定目录:

tar -x -j -f config4gta6.tar.bz2 -C /opt/games/gta6/model/crack/bz2dir/

解压 xz 压缩归档文件到指定目录:

tar -x -J -f config4gta6.tar.xz -C xzdir/

显示归档文件内容

要查看归档文件中的内容,可以使用 -t 选项并指定归档文件的名称。-t  列出存档文件中的内容(list)

tar -t -f 归档文件.tar

我们现在就看看归档的内容,以最开始的 crack.tar 为例:

tar -t -f crack.tar

对于有使用压缩算法压缩的归档文件,也是一样的用法。

tar -t -f config4gta6.tar.gz

其他常用选项

除了上述基本用法,tar 命令还提供了许多其他选项,用于执行各种操作和控制归档文件的行为。以下是一些常用的选项:

  • -v:(verbose,详细的)显示详细输出,列出打包或提取的每个文件的名称。
  • -C:(Change directory)切换到指定目录后再执行操作,在 tar 命令中,一般就是解压的时候,配合这个 -C,可以让我们将文件解压到其他指定的目录中。
  • -u:(update)仅将较新的文件添加到存档文件中。

选项参数的先后顺序

tar 命令中,选项参数的先后顺序通常没有特定的规定。你可以根据需要灵活地组合和排列选项参数。

还有一些通用的惯例需要知道,这样可以帮助我们更好地使用选项参数:

  • 通常情况下,选项参数以连字符 - 开头,例如 -c, -x, -v 等。
  • 单个字母的选项参数可以组合在一起,形成一个选项字符串。例如,-cvf 表示同时启用 -c, -v, -f 这三个选项。
  • 选项参数的顺序可能会影响命令的行为。例如,使用 -f 选项指定文件名时,应该确保 -f 出现在文件名之前,以便正确识别文件名。
  • 一些选项参数可能需要后面紧跟着参数值。例如,-f 选项需要指定后面的文件名,例如 -f archive.tar.gz

总结

tar 最初是 tape archive(磁带归档)的简称,并且在早期主要用于磁带备份,但现在它已经成为一种常见的文件处理工具,可以创建、提取和管理归档文件,并结合压缩算法实现文件的压缩和解压缩功能。

现在,相信聪明的你已经学会了 tar 命令!

希望本文能够帮助大家更好地理解和应用 tar 命令。如果你对其他 Linux 命令也感兴趣,敬请期待我后续的文章。谢谢大家的阅读!

以上就是Linux 中 tar 命令详解的详细内容,更多关于Linux tar 命令的资料请关注脚本之家其它相关文章!

相关文章

  • 通过shell进行数学运算的多种方式

    通过shell进行数学运算的多种方式

    这篇文章主要介绍了通过shell进行数学运算的多种方式、有let命令 、$[]形式、expr命令等,需要的朋友可以参考下
    2014-03-03
  • 你可能不知道的Shell(有趣的知识)

    你可能不知道的Shell(有趣的知识)

    这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝shell主食后的甜点吧
    2013-07-07
  • Linux rpm 命令参数使用详解

    Linux rpm 命令参数使用详解

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”。本文给大家介绍Linux rpm命令参数使用详解,需要的童鞋一起看看吧
    2015-10-10
  • Shell脚本传参数方法总结

    Shell脚本传参数方法总结

    这篇文章主要介绍了Shell脚本传参数方法总结,本文着重讲解传递固定个数参数的方法、可变个数参数的方法两部份内容,需要的朋友可以参考下
    2015-05-05
  • linux top命令基本实战

    linux top命令基本实战

    top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息,这篇文章主要介绍了linux top命令 实战,需要的朋友可以参考下
    2023-02-02
  • shell学习教程获取命令行参数示例

    shell学习教程获取命令行参数示例

    这篇文章主要介绍了shell学习中的基础知识的获取命令行参数示例,需要的朋友可以参考下
    2014-03-03
  • shell 脚本语言的变量用法示例详解

    shell 脚本语言的变量用法示例详解

    变量表示命名的内存空间,将数据放在内存空间中,通过变量名引用,获取数据,本文给大家介绍shell 脚本语言的变量用法,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • shell -z和-n的使用区别

    shell -z和-n的使用区别

    本文将深入探讨shell命令中的-z和-n选项,通过详细解释这两个选项的工作原理和用途,帮助读者更好地理解和掌握Shell脚本编写,感兴趣的可以了解一下
    2024-01-01
  • Linux常用ls, alias基础命令详解

    Linux常用ls, alias基础命令详解

    这篇文章主要介绍了Linux常用ls, alias基础命令详解,ls命令 的作用是列举目录文件信息,alias查看定义的别名,具体内容详情大家参考下本文
    2018-05-05
  • 浅析Linux系统下安装wetty和使用说明

    浅析Linux系统下安装wetty和使用说明

    本篇文章主要给大家介绍linux系统下安装wetty和使用说明,以及linux tty命令学习总结,感兴趣的朋友跟着小编一起学习吧
    2015-10-10

最新评论