一分钟学一个 Linux 命令 - tar

前言

大家好,我是 god23bin。今天给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 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 命令中,选项参数的先后顺序通常没有特定的规定。你可以根据需要灵活地组合和排列选项参数。

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

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

总结

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

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

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

最后的最后

希望各位屏幕前的靓仔靓女们给个三连!你轻轻地点了个赞,那将在我的心里世界增添一颗明亮而耀眼的星!

咱们下期再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/27380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SUSTechPOINTS三维点云标注工具使用

官方地址:SUSTechPOINTS 官方中文教程 相关文章: OpenPCDet安装、使用方式及自定义数据集训练 安装 git clone https://github.com/naurril/SUSTechPOINTS cd SUSTechPOINTS pip install -r requirement.txt wget https://github.com/naurril/SUSTec…

STL——string和vector容器

初识STL **STL的基本概念****vector容器存放内置数据类型****在vector容器中存放自定义数据类型****vector容器嵌套vector容器****string容器——构造函数****string容器——赋值操作****string容器——字符串拼接****string容器——字符串的查找和替换****string容器——字符串…

Midjourney竞品Leap免费试用; Google 刚刚发布10门独立AI课程

🦉 AI新闻 🚀 Midjourney竞品,免费试玩AI图片生成工具Leap,细节还需提升 摘要:Leap是一款免费试玩的AI图片生成工具,用户可以选择不同的生成模型和步长及数量。功能上尚需提高细节把握能力,但…

线段树算法(C++/C)

目录​​​​​​​ 一、线段树算法的概念 二、为什么需要线段树 三、线段树算法的实现 (1)建树 (2)查询 (3)修改 (4)综合代码,求区间和 (5&#xff…

Python暑假自律打卡学习班,免费,速来(2)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 很快就放暑假了,还有20多天吧! 猫妹对这个暑假相当期待啊, 想想今年的五一劳动节有多火爆…

Openharmony添加编译自己应用

介绍一下Openharmony如何在庞大的编译构建系统中,增添自己想编译的内容。不定期更新~🐸 gn官方文档: https://gn.googlesource.com/gn//main/docs/quick_start.md https://gn.googlesource.com/gn//master/docs/reference.md openharmony官…

Redis 消息队列 Stream

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 💕💕 推荐:体系化学习Java(Java面试专题&#…

C语言写网络爬虫总体思路

使用C语言编写爬虫可以实现网络数据的快速获取和处理,适用于需要高效处理海量数据的场景。与其他编程语言相比,C语言具有较高的性能和灵活性,可以进行底层操作和内存管理,适合处理较复杂的网络请求和数据处理任务。 但是&#xf…

Redis学习总结(二)

AOF 为什么是在执行完命令之后记录日志? 关系型数据库(如 MySQL)通常都是执行命令之前记录日志(方便故障恢复),而 Redis AOF 持久化机制是在执行完命令之后再记录日志。AOF 记录日志过程为什么是在执行完命…

【LeetCode】HOT 100(7)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

chatgpt赋能python:Python创建SEO文章的指南

#Python创建SEO文章的指南 在当今数字化世界中,SEO(搜索引擎优化)对于拥有一个成功的在线业务至关重要。SEO文章不仅可以帮助提高网站的排名,还可以吸引更多的访问者并提高转化率。在本文中,我们将介绍如何使用Python…

数据分析第17课seaborn绘图

关系型绘图 seaborn.relplot() 这个函数功能非常强大,可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图(散点图是看到变量与变量之间相关性最优的一个图形),也可以绘制线性图,具体绘制什么图形是通过kind参数来决定的。实际上以下两个函数就是relplot的特例…

2023网安面试题170道,轻松应对面试

最近有不少小伙伴跑来咨询: 想找网络安全工作,应该要怎么进行技术面试准备? 工作不到 2 年,想跳槽看下机会,有没有相关的面试题呢? 为了更好地帮助大家高薪就业,今天就给大家分享两份网络安全工…

(1Gbit)MT28EW01GABA1LPC-0SIT、MT28EW01GABA1HPC-0SIT FLASH - NOR 存储器

MT28EW01GABA1LPC-0SIT、MT28EW01GABA1HPC-0SIT 1Gbit并行NOR闪存器件具有较高的密度、就地执行 (XiP) 性能和架构灵活性,可满足汽车、消费类和移动产品的设计要求。该器件非常适合用于GPS/导航、汽车后视摄像头、手机、智能手机和电子阅读器。该器件还具有较宽的温…

使用OpenFlow和Ryu控制器实现网络交换机的软件定义网络(SDN)控制

使用OpenFlow和Ryu控制器实现网络交换机的软件定义网络(SDN)控制 (1)环境介绍 硬件环境:系统最低要求为2个CPU 、2 GB内存。 拓扑介绍:云平台具体安装拓扑如图5-4所示。 图5-4 云平台安装拓扑 搭建云平…

NodeJS MongoDB⑦

文章目录 ✨文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持😘前言Node&MongoDB 第一步 连接数据库 第二步 创建User Mongodb模型 第三步 简单使用 Mongodb命令 第四步 规范使用 Mongodb命令 &#xff08…

解数独--难的一批

1题目 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数…

RHEL7同步ntp时间

RHEL7同步ntp时间 RHEL7同步ntp时间测试ntp服务器是否可用抓包分析ntp 查看NTP同步情况ntp服务器配置文件将ntp配置迁移到chronytimedatectl设置时区和时间设置UTC或RTC时间查看所有可用时区查看当前时区设置系统时区启用夏令时timedatectl时间同步timedatectl修改当前日期时间…

基于ADME的分子过滤和 lead-likeness标准

T002 基于ADME的分子过滤和 lead-likeness标准 项目来源于TeachOpenCADD 本文目标 在药物设计的背景下,重要的是通过例如它们的物理化学性质来过滤候选分子。 在这个教程中,从 ChEMBL ( Talktorial T001 )获得的化合物将按照 Lipinsik 的五法则进行…

卷积编码和维特比译码

文章目录 卷积编码维特比译码 卷积编码 卷积码是一种非分组码,通常适用于前向纠错。在分组码中,编码器产生的 n 个码元的一个码组,完全决定于这段时间中 k 比特输入信息。这个码组中的监督位仅监督本码组中 k 个信息位。卷积码在编码时虽然也…