. cpio
"copy in, copy out".
cpio用于创建和解开档案,或者拷贝文件。
a. 创建档案
% ls | cpio -ov > ../directory.cpio
: "-o"表示创建档案,"-v" 表示打印加入档案的文件名
% find . -depth -print | cpio -ov > tree.cpio
: 结果是把当前目录下的所有文件加入到tree.cpio
b. 解档案
% cpio -iv < directory.cpio
: "-i"表示解开档案
如果档案中包含目录,应该加上"-d"选项。
% cpio -idv < tree.cpio
c. copy-pass mode
该模式下,cpio从一个目录树拷贝文件到另外一个目录树,是组合了copy-out和copy-in的过程但是没有使用档案。
% find . -depth -print0 | cpio -null -pvd new-dir
拷贝当前目录下的文件和子目录到新的目录new-dir。"-print0"和"-null"配合使用,表示每个文件名以空字符结束。这样对于文件名中包含换行符的文件也能拷贝。
更多例子:
% bzcat dir.cpio.bz2 | cpio -i
解压然后解开档案
% find dir -print | cpio -o | bzip2 > dir.cpio.bz2
生成档案然后压缩
总结:
cpio相比tar最大的好处是,比较容易只保存目录中的部分文件到档案中。因为cpio的输入是独立的,可以源自我们熟悉的find, ls或者自己编辑的程序。
转载于:https://blog.51cto.com/jiangjqian/380285
937

被折叠的 条评论
为什么被折叠?



