cpio 文件格式

用途

描述副本进/出 (Cpio) 归档文件。

描述

Cpio 实用程序将备份和恢复文件。 这些文件将以 Cpio 格式保存在备份介质上。

Cpio 命令与 -c 标志配合使用时, Cpio 结构的头将如下所示:

sscanf(Chdr,"%6ho%6ho%6ho%6ho%6ho%6ho%6ho%6ho%11lo%6ho%11lo%s",
&Hdr.h_magic, &Hdr.h_dev, &Hdr.h_ino, &Hdr.h_mode,
&Hdr.h_uid, &Hdr.h_gid, &Hdr.h_nlink, &Hdr.h_rdev,
&Longtime, &Hdr.h_namesize, &Longfile, &Hdr.h_name);
LongtimeLongfile相当于Hdr.h_mtimeHdr.h_filesize,分别。 每个文件的内容以及描述该文件的其他项都记录在具有不同长度的结构数组中的元素中。
注: 使用 -c 标志保存的文件必须使用 -c 标志进行复原。

如果未使用 Cpio 命令的 -c 标志,那么头结构将包含下列字段:

描述
h_magic 包含常量八进制 070707 (或 0x71c7)。
h_dev 包含该文件的目录条目的设备。
h_ino 用于标识文件系统的输入文件的 I 节点号。
h_mode 输入文件的方式,如 mode.h 文件中所定义。
h_uid 输入文件所有者的用户标识。
h_gid 输入文件所有者的组标识。

对于远程文件,这些字段包含反向转换后的标识:

描述
h_nlink 连接到输入文件的链接数量。
h_rdev 从中取出输入文件的远程设备的标识。
h_mtime 数据最后修改的时间。 对于远程文件,此字段包含服务器上的时间。 可以通过 克里特弗克拉夫截断姆克诺德奥佩克斯管道乌特 子例程来更改此时间。
h_namesize 路径名的长度 (包括终止空字节)。
h_filesize 文件长度(以字节计)。 这是遵循标题结构的数据节的长度。
h_name 以 null 结束的路径名。 路径名 (包括空字节) 的长度由 N 变量指示,其中 N 等于((h_namesize % 2) + h_namesize). 即, N 变量等于h_namesize字段 (如果h_namesize字段为偶数。 如果h_namesize字段为奇数,且 N 变量等于h_namesize字段 + 1。

归档的最后一个记录始终包含该名称TRAILER!!!.特殊文件,目录和预告片将记录在 h_filesize字段等于 0。