cpio命令

本文介绍了解析boot.img过程中遇到的cpio指令用法。详细解释了cpio指令的三种模式:copy-out、copy-in及copy-pass,并列举了常用选项如-i和-d等的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在分离boot.img时,遇到了这个语句:$sudo cpio -i --make-directories <../boot.img-ramdisk查了一下cpio指令

cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。 有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限。 归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。

pico 有三种操作模式: 
在copy-out模式中, cpio 把文件复制到归档包中。它从标准输入获得文件名列表 (一行一个), 把归档包写到标准输出。生成文件名列表的典型方法是使用find 命令; 你可能要在 find 后面用上 -depth选项, 减少因为进入没有访问权限的目录而引起的麻烦。 
在copy-in模式中, cpio 从归档包里读取文件, 或者列出归档包里的内容。它从标准输入读入归档包。任何不是选项的命令行参数被视为shell的通配符模式串 (globbing pattern); 在归档包中, 只有文件名匹配这些模式串的文件才能复制出来。 和 shell 中不一样, 文件名起始处的 '.' 可以匹配模式串起始处的通配符, 文件名中的 '/' 也可以匹配通配符。 如果没有给出模式串, 那么将读出所有文件。 
在copy-pass模式中, cpio把文件从一棵目录树复制到另一棵, 它结合了 copy-in 和 copy-out 的操作, 但不使用归档包。 cpio从标准输入读取欲复制的文件名列表; 目标目录作为非选项的命令行参数给出。 

pico 选项: 

-i, --extract 进入 copy-in 模式

-d, --make-directories 在需要的地方创建开始目录

转载于:https://www.cnblogs.com/shamoguzhou/p/6590070.html

cpio命令的使用 利用cpio 可将文件或目录从文件库获取出来或将数据拷贝到文件库。 cpio 的指令格式: cpio –i[bcdmrtuv] [patterns] cpio –o [abcv] cpio –p [adlmuv][directory] 说明:cpio 共有三种基本模式,-o即copy-out 模式,将一组文件copy到一个文件库,-i 即copy-in 模式,读取文件库,并将其展开在当前目录,-p 能从某个目录读取所有文件(包括子目录到另一个目录),且不以archive(归档)的方式存放。 cpio 常配合shell使用。-o常用标准输入设备读取要copy 的文件名称,并将copy成的archive file 通过标准输出设备输出。一般利用输入/输出重定向或管道的原理,达到真正复制的功能。 (一)利用cpio备份: [例1] $ find work –print | cpio –ocdv > /dev/rfd0135ds18 将work目录下的文件备份到软盘上。-o表示输出模式,-c生成一个带有头信息的文件。 -d表示按需要生成目录,-v表示命令执行时不断显示信息。用“>”把结果定向到软盘。 [例2] $ ls |cpio –o >/usr/linfs/old1 将当前目录下的所有文件复制成old1 archive file [例3] $ ls *.c | cpio –o>oldc 复制工作目录中的所有的c程序. [例4] $ ls| cpio –p /usr/linfs/tempdir 复制当前工作目录下的文件到/usr/linfs/tempdir 目录,不生成archive file . (二)利用cpio 复原: [例5] $ cpio –icdv < /dev/rfd0135ds18 将软盘中的文件复原。-i告诉cpio把文件作为它的输入,-d按需要生成目录,-v显示执行时的所有信息,-c具有头文件格式。 [例6] $ cpio –icdv "*stat.wp" < /dev/rfd0135ds18 仅复原*stat.wp的文件 [例7] $ cpio –i </usr/linfs/old1 *.f 仅复原*.f 文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值