linux的cpio命令,linux cpio解压

在Linux下怎么用cpio命令把一个文件夹中的所有文件和文件夹打包?

解压cpio文件

创新互联于2013年成立,先为濮阳等服务建站,濮阳等地企业,进行企业商务咨询服务。为濮阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

cpio -idmv filename.cpio

同样可以解压img文件:

cpio -idmv filename.img

cpio 备份命令

备份:cpio -covB [file|device] 将数据备份到文件或设备上

还原:cpio -icduv [file|device} 将数据还原到系统中

常用参数:

-o :将数据copy到文件或设备上

-i :将数据从文件或设备上还原到系统中

-t :查看cpio建立的文件或设备内容

-c :一种比较新的portable format方式存储

-v :在屏幕上显示备份过程中的文件名

-B :让预设的blocks可以增加到5120bytes,默认是512bytes,这样可以使备份速度加快

-d :自动建立目录,这样还原时才不会出现找不到路径的问题

-u :更新,用较新的文件覆盖旧的文件

cpio常与find 配合使用

【rpm】从rpm包中提取文件:rpm2cpio和cpio的使用

rpm2cpio命令可以用于将rpm格式的文件转为cpio格式的文件。

rpm是Linux中常用的文件格式,方便了用户的安装,但没有cpio格式灵活。

c pio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tar备份档内的文件。

一个典型的例子就是安装一个在rpm中.so文件时,如果直接使用rpm安装,那么需要处理复杂的依赖关系,将rpm转为cpio,则可以方便地提取.so文件,做个软连接,就可以解决了!

# which rpm2cpio

# rpm -ql /usr/bin/rpm2cpio

# type /usr/bin/rpm2cpio

# rpm2cpio --help

# man rpm2cpio

可以看出 rpm2cpio 是内置命令,不是安装某个rpm包提供的。

#  rpm2cpio package.rpm package.cpio 

# which cpio

# rpm -qf /usr/bin/cpio

# yum info cpio

# cpio --help

cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。

有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限,归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。

1. 在copy-out模式中, cpio 把文件复制到归档包中。它从标准输入获得文件名列表 (一行一个), 把归档包写到标准输出。生成文件名列表的典型方法是使用find 命令; 你可能要在 find 后面用上 -depth选项, 减少因为进入没有访问权限的目录而引起的麻烦。

2. 在copy-in模式中, cpio 从归档包里读取文件, 或者列出归档包里的内容。它从标准输入读入归档包。任何不是选项的命令行参数被视为shell的通配符模式串 (globbing pattern); 在归档包中, 只有文件名匹配这些模式串的文件才能复制出来。 和 shell 中不一样, 文件名起始处的 '.' 可以匹配模式串起始处的通配符, 文件名中的 '/' 也可以匹配通配符。 如果没有给出模式串, 那么将读出所有文件。

3. 在copy-pass模式中, cpio把文件从一棵目录树复制到另一棵, 它结合了 copy-in 和 copy-out 的操作, 但不使用归档包。 cpio从标准输入读取欲复制的文件名列表; 目标目录作为非选项的命令行参数给出。

cpio支持下列的归档格式: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, 和 POSIX.1 tar。

"binary"格式是过时格式, 因为它保存文件信息的方法无法应用在不同体系的机器间移植。

"old ASCII" 格式可以跨平台使用, 但是不能用于超过 65536 个 i 节点的文件系统中。 

"new ASCII" 格式可以跨平台使用, 也适用于任意大小的文件系统, 但不是所有版本的 cpio 都支持; 目前只有 GNU 和 System VR4 的 cpio 支持。"crc" 格式 类似于 "new ASCII" 格式, 同时对每个文件计算校验和。cpio 在创建归档包时算出校验和, 解开文件时进行校验。 

"HPUX" 格式用于兼容 HP UNIX 的 cpio, 它用了独特的方法来保存设备文件。

"tar" 格式用以兼容 tar 程序。它不能归档文件名超过 100 个字符的文件, 也不能归档特殊文件 (块设备或字符设备)。

"POSIX.1 tar" 格式不能归档文件名超过 255 个字符的文件(小于, 除非文件名的最右边有一个 "/")。

缺省情况下, cpio 为了兼容老式的 cpio 程序, 创建 "binary" 格式的归档包,当展开归档包时, cpio 能够自动识别归档包的格式, 而且可以读取在其他字节顺序的机器上创建的归档包。

How do I extract the contents of an rpm?

How to install rpm package to non-default path?

How To Inspecting and extracting RPM package contents

Linux 下的cpio命令怎么用?

使用例:将当前目录下的文件备份到fd0H1440中

$ ls -1 | cpio -o fd0H1440

语法:

cpio -i[cdv] [-H format] [pattern...] [ archive]

cpio -o[cvB] [-H format] [ name-list] [ archive]

cpio -p[adm] dest-dir name-list

参数:

-a或--rest-access-time:重新设置文件的存取时间;

-A或--append:附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里;

-b或--awap:此参数的效果和同时指定“-ss”参数相同;

-B:将输入/输出的区块大小改成5210Bytes;

-c:使用旧ASCII备份格式;

-C区块大小或--io-size=区块大小:设置输入/输出的区块大小,单位是Byte;

-d或--make-directories:如有需要cpio会自行建立目录;

-E范本文件或--pattern-file=范本文件:指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式;

-f或--nonmatching:让cpio解开所有不符合范本条件的文件;

-F备份档或--file=备份档:指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档;

-H备份格式:指定备份时欲使用的文件格式;

-i或--extract:执行copy-in模式,还原备份档;

-l备份档:指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档;

-k:此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题;

-l或--link:以硬连接的方式取代复制文件,可在copy-pass模式下运用;

-L或--dereference:不建立符号连接,直接复制该连接所指向的原始文件;

-m或preserve-modification-time:不去更改文件的更改时间;

-M回传信息或--message=回传信息:设置更换保存媒体的信息;

-n或--numeric-uid-gid:使用“-tv”参数列出备份档的内容时,若再加上参数“-n”,则会以用户识别和群组识别码替代拥有者和群组名称列出文件清单;

-o或--create:执行copy-out模式,建立备份档;

-O备份档:指定备份档的名称,用来取代标准输出,也能借此通过网络使用另一台主机的保存设备存放备份档;

-p或--pass-through:执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录;

-r或--rename:当有文件名称需要更改时,采用互动模式;

-R拥有者:/.所属群组或----owner拥有者:/.所属群组 在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组;

-s或--swap-bytes:交换每队字节的内容;

-S或--swap-halfwords:交换每半个字节的内容;

-t或--list:将输入的内容呈现出来;

-u或--unconditional:置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖;

-v或--verbose:详细显示指令的执行过程;

-V或--dot:执行指令时。在每个文件的执行程序前面加上“.”号; --block-size=区块大小:设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,以此类推;

--force-local:强制将备份档存放在本地主机;

--help:在线帮助;

--no-absolute-filenames:使用相对路径建立文件名称;

--no-preserve-owner:不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有;

-only-verify-crc:当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误;

--quiet:不显示复制了多少区块;

--sparse:倘若一个文件内含有大量的连续0字节,则将此文件存在稀疏文件;

--version:显示版本信息。


新闻标题:linux的cpio命令,linux cpio解压
标题来源:http://ybzwz.com/article/dscppii.html