如何检测 cpio 存档中使用的格式?我知道当我们从 cpio 存档中提取内容时,它会自动检测格式。但是,我需要知道使用的是什么格式。
例如,我有一个文件A.cpio
,我想提取它,修改一些内容,然后创建一个新的A.cpio
。我需要这个新文件A.cpio
具有与旧文件相同的格式,因为使用的功能程序A.cpio
可能只理解某些或其中一种格式。
答案1
你正在寻找file
命令
file x y
x: ASCII cpio archive (SVR4 with no CRC)
y: ASCII cpio archive (pre-SVR4 or odc)
按照man file
file — 确定文件类型
gnu cpio 使用以下格式(参见https://www.gnu.org/software/cpio/manual/cpio.html#format), 与-H format
- ‘bin’ 过时的二进制格式。(2147483647 字节)
- ‘odc’ 旧的(POSIX.1)可移植格式。(8589934591 字节)
- 'newc' 新的 (SVR4) 可移植格式,支持具有超过 65536 个 i 节点的文件系统。(4294967295 字节)
- 'crc' 添加了校验和的新型(SVR4)可移植格式。
- ‘tar’ 旧的 tar 格式。(8589934591 字节)
- 'ustar' POSIX.1 tar 格式。还可识别 GNU tar 档案,它们类似但不完全相同。(8589934591 字节)
- 'hpbin' HPUX 的 cpio 使用的过时二进制格式(以不同的方式存储设备文件)。
- 'hpodc' HPUX 的 cpio 使用的可移植格式(以不同方式存储设备文件)。