Linux命令学习手册-cpio

  • 时间:2020-04-24 17:22 作者:QuietHeart 来源: 阅读:79
  • 扫一扫,手机访问
摘要:cpio [选项] 文件名或者者设施名 cpio [选项] 文件名或者者设施名功能cpio 命令是通过重定向的方式将文件进行打包备份,复原恢复的工具,它可以解压以 .cpio 或者者 .tar 结尾的文件。形容选项说明:详细选项说明参看下表, 包括:选项、含义 o 将文件拷贝打包成文件或者者将文件
cpio [选项] > 文件名或者者设施名 cpio [选项] < 文件名或者者设施名

功能

cpio 命令是通过重定向的方式将文件进行打包备份,复原恢复的工具,它可以解压以 .cpio 或者者 .tar 结尾的文件。

形容

选项说明:详细选项说明参看下表, 包括:选项、含义

  • -o 将文件拷贝打包成文件或者者将文件输出到设施上。
  • -i 将打包文件解压或者者将设施上的备份复原到系统。
  • -t 查看 cpio 打包的文件内容或者者输出到设施上的文件内容。
  • -v 显示打包过程中的文件名称。
  • -dcpio 复原文件的过程中,自动的建立相应的目录。
  • -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

输入之后,输出如下:

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$rm ramdisk.img

这样,当前目录下就是原来 rootfs 中的内容了。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|windows】字节跳动前台面试题解析:盛最多水的容器(2021-03-20 21:27)
【系统环境|windows】DevOps敏捷60问,肯定有你想理解的问题(2021-03-20 21:27)
【系统环境|windows】字节跳动最爱考的前台面试题:JavaScript 基础(2021-03-20 21:27)
【系统环境|windows】JavaScript 的 switch 条件语句(2021-03-20 21:27)
【系统环境|windows】解决 XML 数据应用实践(2021-03-20 21:26)
【系统环境|windows】20个编写现代CSS代码的建议(2021-03-20 21:26)
【系统环境|windows】《vue 3.0探险记》- 运行报错:Error:To install them, you can run: npm install --save core-js/modules/es.arra...(2021-03-20 21:24)
【系统环境|windows】浅谈前台可视化编辑器的实现(2021-03-20 21:24)
【系统环境|windows】产品经理入门迁移学习指南(2021-03-20 21:23)
【系统环境|windows】初识webRTC(2021-03-20 21:23)
血鸟云
手机二维码手机访问领取大礼包
返回顶部