【Linux指令集】---tar指令(超详细)

个人主页:平行线也会相交
欢迎 点赞 收藏✨ 留言✉ 加关注本文由 平行线也会相交 原创
收录于专栏【Linux专栏】
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论
演示环境:centos7
【Linux指令集】---tar指令(超详细)_第1张图片

tar指令是在Linux和Unix系统中用于创建、查看、提取和压缩tar文件(归档文件)的命令行工具。它可以用于处理单个文件或整个目录。

那为什么在Linux中很少看到.zip和.tar这样的压缩包呢?
zip和rar在压缩文件时无法保留文件的属性,所以才有tar指令的压缩,即先归档后压缩。
在Linux系统中,通常更倾向于使用.tar压缩文件格式,因为.tar文件不会进行压缩,只是将文件打包在一起,更适合用于归档和文件打包。

在Linux中,常见的压缩包格式有:.tar.tar.xz.tar.gz(或.tgz)、.tar.bz2。这里要注意:.tar文件是一种仅打包不压缩的文件格式。
.tar.xz.tar.gz(或.tgz)、.tar.bz2文件才是对.tar文件的压缩。
所以.tar 文件本身并不是压缩文件,而是一种归档文件格式。

下面来看tar指令的详细介绍。

目录

  • 一、tar包创建
  • 二、tar包解包
  • 三、查看tar包文件
  • 四、向已存在的tar包中添加文件
  • 五、最后

一、tar包创建

先特别强调一下:tar包只归档不压缩

创建tar包的命令如下:

# 两者区别在于是否显示文件的详情信息。
tar -cvf archive.tar file1 file2 file3   # 显示每个文件的详情信息
tar -cf archive.tar file1 file2 file3    # 不显示每个文件的详情信息

解释将文件file1,file2和file3打包成一个名为archive.tar的tar文件。

-c:创建一个新的 tar 文件。
-v:显示每个文件的详细信息。
-f:后面指定要创建的 tar 文件的文件名。

请看举例
【Linux指令集】---tar指令(超详细)_第2张图片

二、tar包解包

tar包解包命令:

tar -xf archive.tar
tar -xvf archive.tar
# 解释:将名为archive.tar的tar文件中的文件提取到当前目录。

tar -xf archive.tar -C /path/to/directory
tar -xvf archive.tar -C /path/to/directory
# 解释:将名为archive.tar的tar文件中的文件提取到指定的目录/path/to/directory

-x:-x代表对tar包进行解包

举个例子:
【Linux指令集】---tar指令(超详细)_第3张图片

三、查看tar包文件

常用命令tar -tvf archive.tar

解释:显示名为archive.tar的tar文件中包含的文件列表。

例如
【Linux指令集】---tar指令(超详细)_第4张图片

四、向已存在的tar包中添加文件

常用命令:

tar -rvf archive.tar newfile1 newfile2
# 解释:archive.tar 是已存在的tar包的文件名,
#      newfile1 和 newfile2 是要添加到tar包中的新文件。

tar -rvf archive.tar *.txt
# 解释:当然可以配合通配符来使用

tar -rvf archive1.tar @archive2.tar newfile1
# 解释:创建一个名为archive1.tar的归档文件,
#      并将archive2.tar中的所有文件添加到归档中,同时还会添加newfile1。

-r选项:将新文件追加到现有的tar包中。

例如tar -rvf test.tar *.txt
【Linux指令集】---tar指令(超详细)_第5张图片

五、最后

最后是.tar.xz.tar.gz(或.tgz)、.tar.bz2压缩文件的创建和解压缩方式。方法和.tar文件的创建和解压缩方式是类似的,只不过不同格式的压缩包只需要在其创建和解压缩过程中加入相应的关键字即可

1️⃣.tar.gz.tgz压缩包(关键字z
创建tar -czvf files.tar.gz file1 file2
解压缩tar -zxvf files.tar.gz
tar -zxvf files.tar.gz -C /path/to/directory
分隔符-----------------------------------------------------------------------------------------------------------
2️⃣.tar.bz2压缩包:是bzip2格式的文件(关键字j
创建tar -cjvf files.tar.gz file1 file2
解压缩tar -jxvf files.tar.gz
tar -jxvf files.tar.gz -C /path/to/directory
分隔符-----------------------------------------------------------------------------------------------------------
3️⃣.tar.xz压缩包(关键字:J
创建tar -cJvf files.tar.gz file1 file2
解压缩tar -Jxvf files.tar.gz
tar -Jxvf files.tar.gz -C /path/to/directory

再次强调:

.tar文件是一种仅打包不压缩的文件格式。
但是有时为了减小文件的大小,.tar文件压缩算法结合使用,例如经常使用的gzip和bzip2压缩算法。这样的文件通常被称为tar压缩包或者.tar.gz.tar.bz2等。这些压缩包是.tar文件的压缩版本,以便减小文件的大小。解压缩这些压缩包会还原成原始的.tar文件。**

这回真的是最后啦
好了,以上就是对tar指令以及.tar.tar.xz.tar.gz(或.tgz)、.tar.bz2文件的介绍,就到这里吧!
再见啦,友友们!!!

【Linux指令集】---tar指令(超详细)_第6张图片

你可能感兴趣的:(Linux专栏,linux,服务器,运维)