cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内.cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。 有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限。 归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。
语法:
cpio [主选项] [选项] [文件名]
cpio包括3种运行模式。
copy-ou: cpio把要备份的文件复制到归档包中。
copy-in:cpio从归档包中抽取文件,或者列出归档包里的内容。
Pass-through:合并copy-out和copy-in命令的功能。从一个目录向另一个目录或从一个文件系统向另一个文件系统复制文件。
主参数:
-o 或 --create 执行copy-out模式,建立备份档
-i 或 --extract执行copy-in模式,还原备份档。
-p 或 --pass-through 执行 pass-through模式,略过备份步骤,直接将文件复制到目的目
录 。
-t 或 --list 将输入的内容呈现出来。
-v 详细显示指令的执行过程。
例:
一、把pic目录下的所有文件并归档到 a.cpio中
find pic | cpio -oVB > a.cpio
二、把a.cpio解压到abc目录中。
[email protected]:~/ex$ mkdir abc
[email protected]:~/ex$ cd abc
[email protected]:~/ex/abc$ cpio -i < /home/linux/ex/a.cpio
三、显示cpio文档的内容,而不提取其内容。
cpio -vt < a.cpio
# v显示详细信息,t显示其内容,但不解压。
四、压缩cpio归档文件
经常看到xxxx.tar.gz的压缩文件,此类文件利用 gzip压缩的,也有xxx.cpio.gz的压缩文件也是由gzip进行压缩的,gzip不能对目录文件进行压缩,必须先用tar或cpio把多个目录和文件归档,之后再进行压缩。
[email protected]:~/ex$ gzip a.cpio #建立压缩
[email protected]:~/ex$ ls
abc a.cpio.gz pic #生成了a.cpio.gz
五、将当前目录下的pic目录树,备份到backup目录中
kdir backup #建立这个目录
find pic | cpio -vpd backup
#v 详细信息,p pass-through模式,直接复制,d用于创建子目录
注:
1、cpio产生归档文件的内容列表一般是ls,find命令的执行结果作为管道输入。
2、cpio的参数必须指定一个主选项(o,i,p,t),告诉cpio具体做什么。