For faster navigation, this Iframe is preloading the Wikiwand page for Cpio.

Cpio

此条目可参照英语维基百科相应条目来扩充。 (2017年2月4日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记((Translated page))标签。
此条目需要精通或熟悉电脑科学的编者参与及协助编辑。 (2010年10月9日)请邀请适合的人士改善本条目。更多的细节与详情请参见讨论页。另见其他需要电脑科学专家关注的页面

cpioUNIX操作系统的一个文件备份程序及文件格式。这项工具最初出现于PWB/UNIX,系用于备份磁带,后来也被引进到UNIX System IIISystem V,并流行开来。

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

示例操作和归档格式

cpio 设计的初衷,是用于在磁带装置上,以顺序、连续的方式保存备份的文件归档。cpio 本身不会对任何归档内容进行压缩,为了便于传输,对于 cpio 的输出归档人们经常会使用 gzip 等外部程序进行压缩。

创建归档

使用以下命令可以用当前目录下的所有文件和文件夹来创建新的 cpio 归档文件:

find . -depth -print | cpio -o > /path/archive.cpio

提取归档

cpio 的 copy-input 操作由命令行标识 i 发起。在该过程中,cpio 从标准输入读取已有的归档,然后在操作系统的文件系统中,恢复创建已经被归档的文件。

$ cpio -i -vd < archive.cpio

命令行标识 d 告诉 cpio 按需重建目录。指定命令行标识 v (verbose) 时,提取文件会同时打印其文件名。

除了选项标识外,其余所有命令行参数都是类 shell 的 globbing-模式,归档中,只有文件名匹配的文件才会从中提取出来。下面这个示例从归档 archive.cpio 中提取文件 /etc/fstab

$ cpio -i -d /etc/fstab < archive.cpio

列出归档文件列表

下面这行命令可以列出指定 cpio 归档中包含的全部文件:

$ cpio -t < archive.cpio

列出归档文件列表在归档内可能包含绝对路径时会很实用(例如 /bin/lsbin/ls)。

复制文件

除上述操作外,cpio 还支持复制文件的操作,该操作由命令行标识 p(pass) 发起。该模式可以同时进行 copy-incopy-out 操作,而不会创建任何归档文件。在该模式下,cpio 从标准输入读取路径名(就像 copy-out 中的那样,但这里不会创建归档文件),然后 cpio 将这些文件和目录复制创建到命令行参数指定的不同位置。

下面这个示例将从当前目录开始,将完整目录树复制到 new-path 路径下。指定标识 m 时,该复制过程会保留文件原有的编辑时间,d 标识会命令 cpio 按需创建目录,指定 u 标识时,复制过程会直接覆盖已经存在的同名文件,v 标识会在标准输出打印复制进度:

$ find . -depth -print | cpio -p -dumv new-path
{{bottomLinkPreText}} {{bottomLinkText}}
Cpio
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?