GNU cpio

授权协议 GPL
开发语言 C/C++
所属分类 应用工具、 操作系统工具
软件类型 开源软件
地区 不详
投 递 者 司徒钱青
操作系统 Linux
开源组织
适用人群 未知
 软件概览

tar 和cpio 类似,从备份来看二者基本等效。都能将文件存到磁带并取出文件。都能使用几乎所有介质,因为核心设备驱动处理低级设备操作,对用户级程序看来所有设备都差不多。有些unix
的软件包就是cpio压的。

cpio 用法举例:
带目录结构拷贝指定文件到指定目录:
find /backup/svr -name "63201.rpt" |cpio -pdl /print
将带目录结构的指定文件拷贝到一个指定的文件:
find . -name "63201.rpt" |cpio -ov 63201.cpio
从文件中恢复:
cpio -ivd 63201.cpio

为什么cpio比tar好?有这样几个原因。
1、cpio会保留硬连接(hard link),备份的时候这个很重要
2、cpio没有文件名长度的限制。确实,guntar在这一点上做过改进,允许使用长文件名(实际上是创建了一个临时文件用来保存实际的文件名),但是在非gnu的tar工具上仍然存在这个问题。
3、默认情况下,cpio保留时间戳
4、在编写脚本的时候,cpio可以更好的控制要操作哪些文件。因为cpio需要显式的制定要操作的文件列表,例如下面哪个更加容易理解?

find . -type f -name '*.sh' -print | cpio -o | gzip >sh.cpio.gz

这儿有一个需要特别注意的:对于包含大量文件的列表,不能将find放在反引号(`)内,因为命令行长度会超出长度限制,因此必须使用中间文件。find和tar分开跑很明显会使得速度减慢。

下面这个例子更加复杂,将一部分文件打包到一个文件中,其它部分打包到另外一个文件中:

  1. find . -depth -print >/tmp/files  
  2. egrep    '\.sh$' /tmp/files | cpio -o | gzip >with.cpio.gz  
  3. egrep -v '\.sh$' /tmp/files | cpio -o | gzip >without.cpio.gz

同样的,find和tar分开跑会使得速度变慢。创建多个中间文件也搞出了更多的混乱。gnutar稍好些,但是它的命令行参数却是不兼容的。

5、如果有很多文件需要通过网络在两台机器之间复制,则可以并行的跑几个cpio。例如:

  1. find . -depth -print >/tmp/files  
  2. split /tmp/files  
  3. for F in /tmp/files?? ; do  
  4. cat $F | cpio -o | ssh destination "cd /target && cpio -idum" &  
  5. done
  • CPIO 是一种binary file archiver, 同时也定义了一种文件格式(file format). CPIO software utility 被作为tape archiver,它最初是作为PWB/UNIX(Programmer's Workbech:1976, 在UNIX最开始在Bell Lab出现的时候,UNIX主要是用于研究目的, 随着UNIX的商业价值逐渐被挖掘出来,一个裁剪

  • GNU cpio 使用帮助 版本:cpio (GNU cpio) 2.13 用法:cpio [选项...] [目标目录] 示例: # 将名称列表中指定的文件复制到存档中(尖括号是重定向符号) cpio -o < name-list [> archive] # 从存档中提取文件 cpio -i [< archive] # 将名称列表中指定的文件复制到目标目录 cpio -

  • cpio解压方法:     1.  # gunzip  XXX.cpio.gz     2. cpio -idmv < XXX.cpio 制作cpio格式文件系统的方法:     1. 执行gen_initramfs_list.sh脚本:     # gen_initramfs_list.sh ./Filesystem/ >filelist       其中 Filesystem文件夹是由上一步解

  •   1、rpm2cpio 将RPM软件包转换为cpio格式的文件 补充说明 rpm2cpio命令 用于将rpm软件包转换为cpio格式的文件。 语法 rpm2cpio(参数) 参数 文件:指定要转换的rpm包的文件名。 实例 rpm2cpio rpm-1.1-1.i386.rpm rpm2cpio - < glint-1.0-1.i386.rpm rpm2cpio glint-1.0-1.i38

  • Automake是一个从文件`Makefile.am'自动生成`Makefile.in' 的工具。每个`Makefile.am'基本上是一系列make的宏定义(make规则也会偶尔出现)。生成的`Makefile.in's服从GNU Makefile标准。 GNU Makefile标准文档(参见GNU编码标准中的‘Makefile惯例’节)长、复杂,而且会发生改变。Automake的目的就是解除个

  • cpio:copy file to and from archives 复制文件到归档文件中,从归档文件中复制文件 描述:来自man文档 GNU cpio是一个这样的工具:创建和提取归档文件,将文件从一个地方拷贝到另一个地方。它可以处理一些cpio格式的文件,也可以读写tar格式文件。 cpio支持的归档文件格式有:binary, old ASCII, new ASCII, crc, HPUX b

  • cpio解压方法: 1. # gunzip XXX.cpio.gz 2. cpio -idmv < XXX.cpio 制作cpio格式文件系统的方法: 1. 执行gen_initramfs_list.sh脚本: # gen_initramfs_list.sh ./Filesystem/ >filelist 其中Filesystem文件夹是由上一步解压出来的cpio文件系统目录 2. 执行gen_i

  • 最近经常遇到dd和cpio两个命令,觉得很有必要写篇文章强化下记忆。 dd命令 用途和命名 dd命令的用途是拷贝和转换文件。这个可以通过man dd知道: dd - convert and copy a file 通过info dd命令可以得到一段不同的说明: `dd' copies a file (from standard input to standard output, by defaul

  • Linux 常用备份恢复命令-cpio 作者: CNETNews.com.cn 2008-08-25 20:01:39 GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。 cpio创建一个称为copy-out mode的备份,备份存档中包含

  • cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。 有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限。 归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。 cpio 有三种操作模式: 在copy-out模式中, cpio 把文件复制到归档包中。它从标准输入获得文件名列表 (一行一个)。默认 把归档包写到标准

  • 介绍 [root@10 ~]# rpm -qf /usr/bin/cpio cpio-2.12-11.el8.x86_64 http://www.gnu.org/software/cpio/manual 例子 一例cpio的使用例子,是不是感觉又学到了新东西? real-install-headers-cpio: cd `${PWD_COMMAND}`/include-fixed ; \ fi

  • rpm2cpio言下之意就是把RPM包转化成CPIO归档档案! 最简单的例子如下,该命令功能同rpm -qpl package.rpm,为查看RPM中的文件内容, rpm2cpio package.rpm | cpio -t 把RPM包转化为cpio包,cpio包的使用范围和可用性会比RPM更广! rpm2cpio package.rpm > package.cpio 相信在UNIX下CPIO

  • cpio命令用于解压 .cpio文件,下面我们来看下cpio的用法 解压cpio文件 cpio -idmv < filename.cpio 同样可以解压img文件:cpio -idmv < filename.imgcpio 备份命令备份:cpio -covB > [file|device] 将数据备份到文件或设备上还原:cpio -icduv < [file|device} 将数据还原到系统中常用

  • cpio解压方法:     1.  # gunzip  XXX.cpio.gz     2. cpio -idmv < XXX.cpio 制作cpio格式文件系统的方法:     1. 执行gen_initramfs_list.sh脚本:     # gen_initramfs_list.sh ./Filesystem/ >filelist       其中 Filesystem文件夹是由上一步解

  • Commands and Utilities -------------------------------------------------------------------------------- The table below lists all of the commands and utilities set forth in chapter 17 of the Linux Sta

  •   cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。 有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限。 归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。 cpio 有三种操作模式:   在copy-out模式中, cpio 把文件复制到归档包中。它从标准输入获得文件名列表 (一行一个)。默认 把归档包

  • (原文)http://www.goodluck4u.com/?p=127 下载了 10201_database_linux_x86_64.cpio.gz 文件,解压方法如下: 1. gunzip 10201_database_linux_x86_64.cpio.gz 得到10201_database_linux_x86_64.cpio文件 2. cpio -idmv <10201_database

相关阅读

相关文章

相关问答

相关文档