Linux归档命令cpio

cpio 是一种在 Unix 和类 Unix 系统(如 Linux)上用于创建和提取归档文件的工具。与 tar 命令类似,cpio 可以用来打包和解包文件和目录,但它在某些方面提供了不同的功能和选项。cpio 命令通常与 find 命令结合使用,以创建基于文件类型、权限、时间戳等条件的归档文件

创建归档文件

  1. 使用 findcpio 创建归档文件
    find /path/to/directory -print | cpio -o -H newc > archive.cpio
  • find:用于查找文件或目录
  • -print:将找到的文件或目录打印到标准输出
  • cpio -o -H newc:使用 cpio 创建归档文件。-o 表示输出到标准输出,-H newc 指定归档格式为新的 ASCII 格式(也称为 cpio ASCII 格式)
  • >:将标准输出重定向到文件

提取归档文件

  1. 提取 cpio 归档文件
    cpio -idmv < archive.cpio
  • cpio -idmv:使用 cpio 解包归档文件
  • -i:从归档文件中提取文件
  • -d:创建目标目录
  • -m:保留文件的修改时间
  • -v:详细模式,显示正在进行的操作
  • <:从文件读取标准输入

常用选项

  • -o:写入到标准输出
  • -i:从标准输入读取
  • -H:指定归档格式,如 newc(新的 ASCII 格式)、bin(二进制格式)等
  • -d:创建必要的目录结构
  • -m:保留文件的修改时间
  • -v:详细模式,显示操作过程

示例

  1. 提取归档文件到指定目录
    mkdir extract_dir 
    cpio -idmv < archive.cpio > extract_dir/
  2. 仅提取归档中的特定文件
    find /path/to/archive -name 'pattern*' -print | cpio -o -H newc > extracted_files.cpio

如果只从归档中提取某些文件,可以使用 find 命令的 -name 参数来过滤文件,然后再通过管道传递给 cpio

cpio 命令是一个功能强大的工具,它提供了比 tar 更多的选项和灵活性。然而,由于 tar 命令在许多系统上更常用,并且与 gzip 和 bzip2 等压缩工具结合得更好,因此它通常更受欢迎

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
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
发出的红包

打赏作者

Nosery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值