ar SVR4 归档格式是一种用于将文件集合存储在单个归档文件中的文件格式。它作为 System V Release 4 (SVR4) UNIX 操作系统的一部分在 20 世纪 80 年代末引入。ar 格式至今仍广泛用于许多 UNIX 和 Linux 系统,用于打包软件库、对象文件和其他相关文件集合。
ar 归档由一个全局头后跟一系列归档成员组成。每个归档成员表示存储在归档中的一个文件。全局头是一个简单的 8 字节结构,它将文件标识为 ar 归档并指定到第一个归档成员的偏移量。
全局头具有以下格式: - 字节 0-1:魔术字符串“!<arch>\n”,它将文件标识为 ar 归档 - 字节 2-3:四个 ASCII 字符“`\”,后跟两个与平台相关的填充字节,使头部的长度恰好为 8 字节
在全局头之后是各个归档成员。每个归档成员由一个头组成,紧跟其后的是成员的内容。每个成员的头具有以下格式: - 字节 0-15:文件名,左对齐并以 null 填充 - 字节 16-27:十进制文件修改时间戳 - 字节 28-33:十进制所有者 ID - 字节 34-39:十进制组 ID - 字节 40-47:八进制文件模式 - 字节 48-57:十进制文件大小(以字节为单位) - 字节 58-59:字符串“`\”