请选择 进入手机版 | 继续访问电脑版
查看: 296|回复: 2

[经验分享] 基于cpio使用的基本说明

[复制链接]

签到天数: 104 天

[LV.6]签到达人

发表于 2018-10-12 17:59:05 | 显示全部楼层 |阅读模式

cpio是一个非常古老的归档工具。已逐渐被tar替代,但是有些功能是tar不存在的,所以还是分享下它的用法。
cpio - copy files to and from archives
cpio用于创建、解压归档文件,也可以对归档文件执行拷入拷出的动作,即向归档文件中追加文件,或从归档文件中提取文件。它也支持tar格式的归档文件,但是对压缩后的tar(如.tar.gz格式)就没法支持了,cpio毕竟不会调用对应的(解)压缩工具。
cpio一般从标准输入获取数据,写入到标准输出,所以一般会结合管道、输入重定向、输出重定向使用。

cpio有三种运行模式:

Copy-out模式:此模式下,cpio将向归档文件中拷入文件,即进行归档操作,所以成为归档模式。它会从标准输入中读取待归档的文件,将它们归档到目标目标中,若未指定归档的目标,将归档到标准输出中。在copy-out模式下,最典型的是使用find来指定待归档文件,在使用find时,最好加上"-depth"以尽可能减少可能出现的问题,例如目录的权限问题

Copy-in模式:此模式下,cpio将从归档文件中提取文件,或者列出归档文件中的文件列表。它将从标准输入中读取归档文件。任意cpio的非选项参数都将认为是shell的glob通配pattern,只有文件名匹配了指定模式时才会从中提取出来或list出来。在cpio中,通配符不能匹配到"."或"/",所以如有需要,必须显式指定"."或"/"。如果没有指定匹配模式,则解压或列出所有文件。

Copy-pass模式:此模式下,cpio拷贝一个目录树(即目录中所有文件)到另一个目录下,并在目标目录下以同名的子目录存在。copy-pass模式是copy-in模式再copy-out模式的结合,它中途没有涉及到任何归档行为。这是cpio的一个特殊用法。它从标准输入中读取待拷贝内容,然后将它们复制到目标路径下。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部