cpio
从归档中复制文件,或者复制文件到归档中。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
Cpio命令有三种工作模式:
1)copy-out mode,cpio指令将文件复制到归档。它读取标准输入上的文件名列表(每行一个),将归档包写到标准输出。
2)copy-in mode,cpio指令从归档中复制文件,从标准输入读取归档包。
3)cpio-pass mode,从目录树复制文件到另一个目录,它从标准输入中读取要复制的文件列表。
1、语法
cpio -o namelist > archive
cpio -i < archive
cpio -p dst-dir < namelist
2、选项列表
选项 |
说明 |
-? | --help |
帮助信息 |
--version |
显示命令版本信息 |
主操作模式 |
|
-i | --extract |
从包中提取文件,copy-in模式 |
-o | --create |
创建包,copy-out模式 |
-p | --pass-through |
运行copy-pass模式 |
-t | --list |
打印输入内容列表 |
-l | --list |
对于每一个压缩的文件,列出压缩文件大小、解压大小、压缩比列、压缩前的文件名字 |
应用在所有模式的选项 |
|
-B |
设置IO块的大小为5120字节 |
-c |
使用老式跨平台的归档格式 |
-f |
仅拷贝不匹配任意给定模式的文件 |
-F |
用文件名代替标准输入和输出 |
-n | --numeric-uid-gid |
在内容列表的详细信息中显示uid和gid |
--quite |
不打印以拷贝的块数 |
-v | --verbose |
详细信息 |
-V | -dot |
每处理一个文件就打印一个“.” |
应用于copy-in的徐昂想 |
|
-b | --swap |
|
-r | --rename |
交互式重命名 |
-E |
把指定文件的内容当做匹配字符串 |
应用于copy-out的选项 |
|
-A | --append |
追加到文档的结尾 |
-O |
使用包文件名,而不是标准输入输出 |
应用于copy-pass的选项 |
|
-l | --link |
在执行时尽可能创建链接,而不是复制文件 |
应用于copy-in和copy-out |
|
--absolute-filenames |
文件名不出去文件系统前缀 |
--no-absolute-filenames |
当前目录创建所有文件 |
应用于copy-out和copy-pass |
|
-0 | --null |
输入文件名以null字符结尾 |
-a | --reset-access-time |
文件读取后,还原文件的访问时间 |
-I |
从文件读入 |
-R | --owner |
设置所有文件的组合用户信息 |
应用于copy-in和copy-pass |
|
-d |
必要时创建目录 |
-m |
创建文件是,保留文件修改时间属性 |
-u |
无条件覆盖 |
3、例子代码
% ls | cpio -ov > directory.cpio
|
4、实例
1)将当前目录归档
[[email protected] weijie]# ls | cpio -o > mybak // 将 ls 的输出定向到 cpio ,然后归档
|
2)从归档中提取文件
[[email protected] weijie]# cpio -i < mybak // 从归档中提取
|
3)拷贝文件
[[email protected] weijie]# cat list.c
|
原文地址:https://www.cnblogs.com/wj78080458/p/10062098.html