如何使用自定义结构创建 cpio 存档

Posted

技术标签:

【中文标题】如何使用自定义结构创建 cpio 存档【英文标题】:How to create cpio archive with custom structure 【发布时间】:2012-07-02 08:39:34 【问题描述】:

我有一个包含一个文件的 cpio 存档 - /./folder1/file1

我的目标是用另一个替换file1

我将我的 cpio 存档解压缩到文件夹 /test 并替换了 file1

我的结构:

/test/folder1/file1

我用这个命令创建了新的存档:

find ./test | cpio -o -F newArch

但在newArch 中,我的文件存储为/folder1/file1

如何获取结构为/./folder1/file1的存档

【问题讨论】:

您知道/.// 含义相同吗? 是的。但是当我在 Windows 中通过 7zip 打开旧存档时,7zip 显示 /./folder1/ 当我打开新存档时,7zip 显示 /folder1/ 【参考方案1】:

cpio 没有任何前缀命令,虽然我仍然认为这是一个没有实际意义的练习,但您可以尝试它是否保留通过标准输入获得的文件名:

find ./test -printf "././%f\n"| cpio -o -F newArch

根据需要调整格式字符串的前缀。我没有 7zip 来测试它如何解释路径。

【讨论】:

这个方法行不通。我尝试了不同的组合,但没有取得任何结果。

以上是关于如何使用自定义结构创建 cpio 存档的主要内容,如果未能解决你的问题,请参考以下文章

linux:如何在归档 tar/cpio/...other 中单独压缩每个文件

使用自定义帖子名称自动创建一个链接,该链接返回到自定义帖子存档页面(包括主题 slug)

php 如何使用自定义帖子类型存档作为首页

如何线程安全存档一组自定义对象?

如何:在wordpress中自定义帖子类型的自定义类别存档页面

在没有 root 的情况下更改 cpio 存档中的所有权