-c 一种较新的存储方式。
-B 让默认的Blocks可以增大到5120 bytes,默认Blocks为512 bytes,这样做的好处是可以加快存取速度。
注意linux常用命令,
1)cpio恢复的路径,如果cpio在打包备份的时候用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下,同理,如果在打包备份用的是相对路径,还原时也将恢复到相对路径下。
2)cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此linux常用命令,cpio命令一般和find命令配合使用。
3)cpio恢复的时候不会自动覆盖同名文件。
4)不会创建目录而是直接解压到当前文件夹。
[举例]
*将etc目录备份:
find ./etc -print |cpio -ov >etc.cpio
*要恢复文件的时候
*只是查看etc.cpio文件,可以使用
输入之后,输出如下:
drwxrwxr-x 4 quiethea quiethea0 Nov 4 17:14 etc
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/2
drwxrwxr-x 2 quiethea quiethea0 Nov 4 17:07 etc/11
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/11/11
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/4
drwxrwxr-x 2 quiethea quiethea0 Nov 4 17:07 etc/22
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/3
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/1
-rw-rw-r– 1 quiethea quiethea0 Nov 4 17:07 etc/5
这样显示得是将要恢复得文件得名称。
[其它]
现在,内核刚刚启动的时候,会事先挂一个initrd内存文件系统,这个initrd文件系统镜像可以由cpio制作。参见内核源码文档initrd.txt.
*例如我有一个非常简单的文件系统rootfs.制作镜像方法如下:
cdrootfscdrootfsfind . | cpio -c -o -v |gzip -9 -n >../ramdisk.img
这样,父目录下会生成一个ramdisk.img压缩文件系统镜像。
*将镜像解压恢复成文件系统的命令:
mkdirrootfsmkdirrootfscp ramdisk.img rootfs
cdrootfscdrootfsmv ramdisk.img ramdisk.img.gz
gunzipramdisk.img.gzgunzipramdisk.img.gzcpio -i
$rm ramdisk.img
这样,当前目录下就是原来rootfs中的内容了。