TAR 文件格式
概述
TAR 文件,代表 Tape ARchive,在文件管理的世界中至关重要,特别是在基于 Unix 的系统上。 由 AT&T Bell Laboratories 在 1979 年创建,Tar 数据作为一个简单但强大的机制,将多个文件和目录集成到一个单一的档案中,而无需压缩. 这个格式是由于其简单性和兼容性而广泛使用的各种操作系统.
主要特点
- Uncompressed Storage:TAR存储数据在未压缩的形式,使其理想的快速文件传输,而无需担心压力过剩.
- 详细的Metadata:在TAR档案中,每个文件都包含如时间表、所有权细节和许可等的metadata,以确保每一个文件的原始背景保持.
- 跨平台兼容性:尽管根源于Unix系统,但大多数现代操作系统都支持TAR文件,使其在不同的环境中多样化.
- 標準格式:格蘭格符合 POSIX 規格(POSIX.1-1988 及後 POSix.1-2001) ,並在各種實施中確保一致性.
- File End-Marker:TAR 文件包含一个两个区块的文件结尾标记,这有助于识别档案的终止点.
技术规格
格式结构
TAR 是一个基于文本的格式,将数据组织为 512 位元的区块,每个区别可以代表一个标题或文件内容,缺乏一个神奇的数字使其与其他形式不同,如 ZIP,在那里使用特定的识别器来认出档案类型.
核心组件
- 标题区块:包含有关每个文件的代数据,如名称、模式、用户ID、组 ID、大小和时间表.
- 文件内容块:跟随标题块并包含真实的文件数据.这些块可以分为更大的单位,以便有效的 I/O 操作(锁定).
- 文件终端标记器(End-of-File Marker):由两个512位元的区块组成,填满了二进制零字符,以表示档案的终结.
标准与兼容性
TAR 遵守 POSIX 标准,确保不同系统和版本的兼容性 .tar.gz
(gzip) 或 .tar.bz2
(bzip2) 通常用于压缩的 TAR 档案.
历史与进化
- 1979:由AT&T Bell Laboratories首次引入.
- POSIX.1-1988 和 POSIX1-2001:标准建立,以标准化格式,确保各式各样的实施一致性.
- GNU Tar: 增强版本,配有附加功能,如 pax 扩展,以提高兼容性.
與 TAR 檔案合作
開啟 TAR 檔案
打开一个 TAR 文件:
- Windows:安装 7-Zip 或使用 Windows Subsystem for Linux (WSL).
- Mac:双击文件以提取文件.
- Linux:使用
tar -xvf
命令在终端.
转换TAR文件
常见的转换包括压缩TAR文件到 .tar.gz
, .tar.bz2
, 例如,将平坦的 TAR 文件转换为 gzip 压缩文件可以通过:
tar -czf archive.tar.gz directory/
创建TAR文件
在基于Linux或Unix的系统上创建一个新的TAR文件:
tar -cvf archive.tar /path/to/directory
在 Windows 上,您可以使用 WSL 或第三方工具,如 7-Zip.
常见用例
- Backup and Restore: 理想创建无压缩的目录和文件的备份.
- 文件分布:在未压缩格式的网络中分发大组文件.
- 源代码管理(Source Code Management):在上传到版本控制系统或与合作伙伴共享之前,连接源号存储库.
优点与限制
优点:
- 简单而易于理解的结构
- 跨平台兼容性
- 详细的数据保留
限制:
- 没有内置压缩支持(特别是扩展等
.tar.gz
被广泛使用) - 与压缩格式相比,更大的文件大小
开发人员资源
使用 TAR 文件的编程通过各种 API 和图书馆得到支持. 代码示例和实施指南将很快添加.
经常提出的问题
为什么一个TAR文件没有魔法号码?
与其他档案格式不同,TAR 不会在文件开始时使用一个特定的识别器来标记其类型;相反,它依赖于文件内部的结构和内容.
如何查看TAR文件是否完整?
确保文件的最后两个区块充满了二元零(512位终端文件标记),这表明档案已正确完成.
tar 和 .ar.gz 文件之间的区别是什么?
一个平面
.tar
文件是未压缩的档案,而.tar.gz
文件使用 gzip 压缩来缩小大小.