cpio命令用法
2015-12-27 15:17
176 查看
cpio [选项] > 文件名或者设备名 cpio [选项] < 文件名或者设备名
[功能] cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件。
[描述] 选项说明:详细选项说明参看下表 选项 含义 -o 将文件拷贝打包成文件或者将文件输出到设备上。 -i 将打包文件解压或者将设备上的备份还原到系统。 -t 查看cpio打包的文件内容或者输出到设备上的文件内容。 -v 显示打包过程中的文件名称。 -d 在cpio还原文件的过程中,自动的建立相应的目录。 -c 一种较新的存储方式。 -B 让默认的Blocks可以增大到5120 bytes,默认Blocks为512 bytes,这样做的好处是可以加快存取速度。
注意, 1)cpio恢复的路径,如果cpio在打包备份的时候用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下,同理,如果在打包备份用的是相对路径,还原时也将恢复到相对路径下。 2)cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此,cpio命令一般和find命令配合使用。 3)cpio恢复的时候不会自动覆盖同名文件。 4)不会创建目录而是直接解压到当前文件夹。
[举例] *将etc目录备份: find ./etc -print |cpio -ov >etc.cpio
*要恢复文件的时候 #cpio -idv
*只是查看etc.cpio文件,可以使用 # cpio -tv.cpio <>
输入之后,输出如下: drwxrwxr-x 4 quiethea quiethea 0 Nov 4 17:14 etc -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/2 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/11/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/4 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/22 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/3 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/1 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/5 这样显示得是将要恢复得文件得名称。
[其它] 现在,内核刚刚启动的时候,会事先挂一个initrd内存文件系统,这个initrd文件系统镜像可以由cpio制作。参见内核源码文档initrd.txt. *例如我有一个非常简单的文件系统rootfs.制作镜像方法如下: $cd rootfs $find . | cpio -c -o -v |gzip -9 -n >../ramdisk.img 这样,父目录下会生成一个ramdisk.img压缩文件系统镜像。
*将镜像解压恢复成文件系统的命令: $mkdir rootfs $cp ramdisk.img rootfs $cd rootfs $mv ramdisk.img ramdisk.img.gz $gunzip ramdisk.img.gz $cpio -i.img <>$rm ramdisk.img 这样,当前目录下就是原来rootfs中的内容了。
[功能] cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件。
[描述] 选项说明:详细选项说明参看下表 选项 含义 -o 将文件拷贝打包成文件或者将文件输出到设备上。 -i 将打包文件解压或者将设备上的备份还原到系统。 -t 查看cpio打包的文件内容或者输出到设备上的文件内容。 -v 显示打包过程中的文件名称。 -d 在cpio还原文件的过程中,自动的建立相应的目录。 -c 一种较新的存储方式。 -B 让默认的Blocks可以增大到5120 bytes,默认Blocks为512 bytes,这样做的好处是可以加快存取速度。
注意, 1)cpio恢复的路径,如果cpio在打包备份的时候用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下,同理,如果在打包备份用的是相对路径,还原时也将恢复到相对路径下。 2)cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此,cpio命令一般和find命令配合使用。 3)cpio恢复的时候不会自动覆盖同名文件。 4)不会创建目录而是直接解压到当前文件夹。
[举例] *将etc目录备份: find ./etc -print |cpio -ov >etc.cpio
*要恢复文件的时候 #cpio -idv
*只是查看etc.cpio文件,可以使用 # cpio -tv.cpio <>
输入之后,输出如下: drwxrwxr-x 4 quiethea quiethea 0 Nov 4 17:14 etc -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/2 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/11/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/4 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/22 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/3 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/1 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/5 这样显示得是将要恢复得文件得名称。
[其它] 现在,内核刚刚启动的时候,会事先挂一个initrd内存文件系统,这个initrd文件系统镜像可以由cpio制作。参见内核源码文档initrd.txt. *例如我有一个非常简单的文件系统rootfs.制作镜像方法如下: $cd rootfs $find . | cpio -c -o -v |gzip -9 -n >../ramdisk.img 这样,父目录下会生成一个ramdisk.img压缩文件系统镜像。
*将镜像解压恢复成文件系统的命令: $mkdir rootfs $cp ramdisk.img rootfs $cd rootfs $mv ramdisk.img ramdisk.img.gz $gunzip ramdisk.img.gz $cpio -i.img <>$rm ramdisk.img 这样,当前目录下就是原来rootfs中的内容了。
相关文章推荐
- 对STL的一些小计
- python3 zip()
- PtSetResource() 导致 Memory fault 的原因分析
- 基于C/S模式的简单聊天程序(服务器篇)
- 150,项目管理器git的使用
- 扣丁学堂——文件管理
- 系统设计与实践(实战演练)
- 利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)
- MUI如何有效的在浏览器中进行调试
- printf()函数常用格式控制
- model传值
- android之旅11 网络编程实例:多线程下载与断点续传
- Android混淆、反编译基础教程
- 设计模式六大原则(6):开闭原则
- 堆栈,堆栈,堆和栈的区别
- 【虚幻4】学习总结2-蓝图入门1
- Directory.GetFiles 方法
- Spring MVC的路径匹配
- meteor框架学习
- Linux系统下Oracle数据库的安装和启动关闭操作教程