cpio命令

时间:2020-02-23 14:37:56  来源:igfitidea点击:

CPIO(复制IN/OUT)是文件归档实用程序,它使用LS或者Find命令的结果生成归档的文件。
CPIO不会压缩任何内容,但是使用GZIP或者其他压缩实用程序通常压缩归档。

CPIO有三种操作模式:

  • 复制-OUT模式从LS或者Find命令的输出创建存档。
  • 复制-IN模式 - 从存档中提取文件。
  • 复制传递模式 - 将文件从一个目录复制到另一个目录。

copy-out模式

copy-out模式与-o或者创建方法一起使用以通过接受LS的输出或者查找命令作为分类的输入来创建存档。
例如,要存档所有文件,请使用以下命令:

ls | cpio -ov > archive.cpio

-v选项显示正在存档哪些文件。

以下是我们如何使用查找命令的结果来归档 目录exampe_dir:

find ./example_dir | cpio -ov > ./archive.cpio

copy-in模式

copy-in模式用于提取存档。
CPIO命令使用标准输入重定向符号(<)来提取存档。
-i选项用于从CPIO存档中提取文件。

以下是我们如何从我们在上一步中创建的存档中提取文件

cpio -iv < ./archive.cpio

复制传递模式

copy-pass模式由-p或者–pass-through 激活。
我们可以从一个目录复制文件并将其粘贴在另一个目录中,而无需实际创建存档。
与CP命令不同,使用此模式而不是CPCommand的好处是,CPIO保留修改时间和所有权。

这是一个例子:

find . | cpio -pv /home/backup/

在上面的示例中,我们可以看到我们将所有文件从当前目录(/home/Hyman/example_dir)复制到/home/backup/目录。
请注意,保留了原始文件的属性和权限。