归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,它占用的空间就是其中所有文件和目录的总和。

压缩,也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件采用了不同的存储方式,使其所占用的空间比集合中所有文件大小的总和要小。

一、tar 基础操作

在 Linux 上,tar 实用程序是用于创建、管理和提取存档的常用命令。使用 tar 命令可将多个文件收集到一个存档文件中。tar存档是文件元数据和数据的结构化序列,带有方便您提取各个文件的索引。

在创建存档过程中,可以使用其中一种受支持的压缩算法来压缩文件。tar 命令可以在不提取文件的情况下列出存档的内容,并且可以直接从压缩和未压缩的存档中提取原始文件。

tar :创建、管理和提取存档

  • -c/--create :创建存档文件
  • -t/--list :列出存档内容
  • -x/--extract :提取存档
  • -v/--verbose :显示在 tar 操作期间存档或提取的文件
  • -f/--file :在此选项后面指定要创建或打开的文件
  • -P :记录存档前的位置,释放到原始位置
  • -C :释放到指定目录

二、归档

tar -cf [directory.tar] [directory] :将 [directory] 归档为 [directory.tar]

2XoC4vbe-1.png

tar -xf [directory.tar] :将 [directory.tar] 释放到本目录下

2XoC4vbe-2.png

tar -xf [directory.tar] -C [/opt] :将 [directory.tar] 释放到 [/opt] 目录下

2XoC4vbe-3.png

tar -cPf [/opt/directory.tar] [directory] :将 [directory] 归档到 [/opt/directory.tar],并记录归档位置

2XoC4vbe-4.png

tar -xPf /opt/directory.tar :将 [directory.tar] 释放到归档时的原目录下

2XoC4vbe-5.png

三、压缩

tar 压缩格式

  • -a/--auto-compress :使用存档的后缀来自动确定算法
  • -z:以 gzip 格式进行压缩(最常用)
  • -j :以 bzip2 格式进行压缩
  • -J :以 xz 格式压缩

tar -czf [directory.tar.gz] [directory] :将 [directory] 以 gzip 格式压缩为 [directory.tar.gz]

2XoC4vbe-6.png

tar -cjf [directory.tar.bz2] [directory] :将 [directory] 以 bzip2 格式压缩为 [directory.tar.bz2]

2XoC4vbe-7.png

tar -cJf [directory.tar.xz] [directory] :将 [directory] 以 gzip 格式压缩为 [directory.tar.xz]

2XoC4vbe-8.png

tar -x[a/z/j/J]f [directory.tar.gz/bz2/xz] :将 [directory.tar.gz/bz2/xz] 解压到本目录下

2XoC4vbe-9.png