TAR(磁带归档)是 Linux 和 Unix 系统中的标准归档格式,其历史可以追溯到 1979 年,当时创建它是为了将数据写入顺序磁带驱动器。与 ZIP 或 RAR 不同,TAR 不压缩数据 - 它仅将多个文件和目录捆绑到一个文件中,同时保留其目录结构、权限、所有权和时间戳。通常通过 gzip ( .tar.gz )、bzip2 ( .tar.bz2 ) 或 xz ( .tar.xz ) 管道将压缩添加为单独的层。
原始.tar 文件未压缩,这意味着其大小等于所有包含的文件的总大小加上少量元数据开销。这使得 TAR 文件的创建和提取速度更快,因为不涉及压缩或解压缩计算。
AnExplorer 以本机方式打开 TAR 文件 — 浏览内容、预览文件或将所有内容提取到文件夹中。
快速解答
打开 AnExplorer → 点击 .tar 文件 → 浏览内容。长按 → 提取 将所有文件提取到文件夹中。
什么是 TAR 文件?
TAR 代表磁带存档。它最初的设计目的是将多个文件顺序写入磁带以进行备份。如今,由于其简单性和可靠性,它仍然是 Unix、Linux 和 macOS 环境中占主导地位的归档工具。
TAR 文件包含:
- 文件数据 — 每个存档文件的实际内容
- 标头块 — 每个包含元数据的文件前面的 512 字节块
- 目录结构 — 保留文件夹层次结构的完整路径信息
- Unix 元数据 — 文件权限 (chmod)、所有权 (uid/gid)、修改时间戳
- 符号链接和硬链接 — 在 Unix 系统上创建存档时保留
TAR 不压缩任何内容。它在单个文件中创建目录树的忠实副本。这种设计理念将关注点分开:TAR 处理捆绑,而单独的工具处理压缩。
在哪里遇到 TAR 文件
TAR 文件经常出现在以下环境中:
- Linux 软件分发 — 来自项目网站的源代码 tarball
- GitHub 源代码下载 — 存储库档案为
.tar.gz - NAS 备份 — Synology、QNAP 和 TrueNAS 将备份导出为 TAR
- Docker 和容器镜像 — 容器层存储为 TAR 文件
- macOS 终端导出 — Mac 上与
tar命令捆绑的文件 - 服务器备份 — cPanel、Plesk 和自定义备份脚本生成 TAR
- Android 备份工具 — 某些应用程序会创建每个应用程序
.tar备份 - 包管理器 —
.deb(Debian) 和.rpm(Red Hat) 包内部包含 TAR 存档 - 开发者工具链 — SDK、编译器和交叉编译工具
如何使用 AnExplorer 打开 TAR 文件
浏览而不解压
- 启动 AnExplorer
- 导航到包含
.tar文件的文件夹 - 点击文件 — 它会在存档查看器中打开 4.浏览TAR内的目录结构
- 点击单个文件进行预览(文本、图像、文档)
提取整个档案
- 导航到 AnExplorer 中的
.tar文件 - 长按文件选择它
- 点击菜单 (⋮) → 提取
- 选择目标文件夹
- 点击 确定 — 提取很快完成,因为不需要解压
提取特定文件
- 点击
.tar文件进行内部浏览 - 导航到您想要的特定文件或文件夹
- 长按选择它们
- 点击 解压 → 选择目的地
- 仅提取选定的项目
如何使用 AnExplorer 创建 TAR 文件
您可以直接在设备上创建 TAR 存档:
- 导航到要捆绑的文件或文件夹
- 长按选择它们
- 点击菜单 (⋮) → 压缩
- 选择 TAR 作为格式
- 为您的存档命名
- 点击 确定 — TAR 文件已创建
注意:创建原始 TAR 会生成未压缩的存档。如果需要压缩,请选择 TAR.GZ 格式作为压缩包。
技术细节
TAR 标头格式
TAR 存档中的每个文件前面都有一个 512 字节的标头,其中包含:
| 领域 | 尺寸 | 描述 |
|---|---|---|
| 名称 | 100 字节 | 文件名(路径) |
| 模式 | 8 字节 | Unix 文件权限 |
| UID | 8 字节 | 所有者用户 ID |
| GID | 8 字节 | 所有者组 ID |
| 尺寸 | 12 字节 | 文件大小(以字节为单位)(八进制) |
| 时光网 | 12 字节 | 最后修改时间 |
| 校验和 | 8 字节 | 标头验证 |
| 类型 | 1 字节 | 文件类型(常规、目录、符号链接) |
| 链接名称 | 100 字节 | 符号链接的目标 |
TAR 格式变体
存在多种 TAR 标头格式:
| 格式 | 年份 | 主要特点 |
|---|---|---|
| V7(原版) | 1979 | 100 个字符的路径,基本元数据 |
| 星 | 1988 | 256 个字符的路径、设备文件 |
| POSIX(帕克斯) | 2001 | 无限路径长度,扩展属性 |
| GNU 焦油 | 1992 | 长名称、稀疏文件、增量备份 |
AnExplorer 处理所有常见的 TAR 变体。大多数现代 TAR 文件使用 GNU tar 或 POSIX pax 格式。
TAR 与压缩 TAR
| 格式 | 扩展 | 压缩 | 提取速度 | 文件大小 |
|---|---|---|---|---|
| 焦油 | .tar | 无 | 即时(磁盘速度) | 与原版相同 |
| TAR + GZIP | .tar.gz 或 .tgz | GZIP(快速) | 快 | 缩小约 30–60% |
| TAR + BZIP2 | .tar.bz2 或 .tbz2 | BZIP2(中) | 中等 | 缩小约 35–65% |
| 焦油 + XZ | .tar.xz 或 .txz | XZ/LZMA(慢) | 慢 | 缩小约 40–70% |
| 焦油 + ZSTD | .tar.zst | Zstandard(快速) | 非常快 | 缩小约 35–60% |
AnExplorer 支持所有压缩变体。您遇到的格式取决于存档的创建者以及他们在大小和速度之间首选的权衡。
TAR 与 ZIP — 设计理念
| 方面 | 焦油 | 邮政编码 |
|---|---|---|
| 压缩 | 分离(外部工具) | 内置(每个文件) |
| 文件访问 | 顺序 | 随机访问 |
| 元数据 | 完整的 Unix 权限 | 基本时间戳 |
| 符号链接 | ✅ 保存 | ❌ 不支持 |
| 开放标准 | ✅ POSIX | ✅ PKWARE |
| 主导平台 | Linux/Unix/Mac | Windows/跨平台 |
| 在移动设备上创作 | ✅ AnExplorer | ✅ AnExplorer |
TAR 的顺序性质意味着必须读取整个文件才能找到靠近末尾的文件。ZIP 的中央目录允许直接跳转到任何文件。然而,TAR 的全流压缩通常比 ZIP 的每个文件压缩获得更好的比率,特别是对于类似小文件的集合。
Android 上的常见 TAR 用例
| 来源 | 你得到什么 | 做什么 |
|---|---|---|
| GitHub源码下载 | repository-main.tar.gz | 摘录阅读源码 |
| NAS备份 | TAR 备份文件 | 解压恢复特定文件 |
| Docker 镜像导出 | 分层 TAR 文件 | 浏览内容进行检查 |
| Linux软件 | 源代码包 | 提取并阅读文档 |
| macOS 文件传输 | 从航站楼出发的 TAR | 提取以访问传输的文件 |
| 服务器迁移 | 全站备份 | 提取数据库和文件数据 |
TAR 文件中的权限
TAR 档案保留 Unix 文件权限 (chmod) 和所有权 (chown)。在 Android 上解压时:
- Android 的文件系统不会像 Linux 那样强制执行 Unix 权限
- 使用标准 Android 读/写权限提取文件
- 可执行标志 (
chmod +x) 在 Android 文件系统上没有意义 - TAR 档案中的 Shell 脚本不会直接在 Android 上执行
- 提取过程中忽略所有权信息(UID/GID)
这意味着在 Android 上提取的 TAR 文件会丢失其 Unix 特定的元数据。如果您重新存档提取的文件,新存档将具有 Android 的默认权限。
故障排除
TAR 提取需要很长时间
- 原始
.tar提取速度很快(受磁盘I/O速度限制,无需CPU工作) - 压缩变体(
.tar.gz、.tar.bz2、.tar.xz)需要CPU解压缩 - 在中端手机上,1 GB
.tar.bz2可能需要 2-5 分钟 .tar.xz解压速度最慢,但生成的文件最小
提取过程中出现“存储空间不足”错误
- TAR 文件在提取之前不显示未压缩的大小
- 压缩的 TAR 变体可以扩展其压缩大小的 2-5 倍
- 估计所需空间为文件大小的 3 倍,并验证您是否有可用空间
- 在提取大型存档之前,使用内存清理器释放存储空间
提取的文件名称错误或乱码
- TAR 可能是使用不同的字符编码创建的
- 大多数现代 TAR 工具使用 UTF-8,但较旧的存档可能使用系统特定的编码
- AnExplorer 处理 UTF-8 和常见的旧编码
在大型 TAR 中找不到特定文件
- 浏览存档内容时使用AnExplorer的搜索功能
- TAR 文件可以包含深层目录结构中的数千个文件
- 存档浏览器可让您像普通目录一样浏览文件夹树
相关指南
- 打开 TAR.GZ 文件 — 压缩的 TAR 变体
- 打开 ZIP 文件 — ZIP 存档指南
- 打开 7Z 文件 — 高压缩存档
- 打开 RAR 文件 — RAR 存档指南
- 存档管理员
