千家信息网

Linux基础命令cpio的用法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Linux基础命令cpio的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux基础命令cpio的用法"吧!cpio从归档
千家信息网最后更新 2026年11月01日Linux基础命令cpio的用法

这篇文章主要讲解了"Linux基础命令cpio的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux基础命令cpio的用法"吧!

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

归档当前目录下的内容,并且制定输出文件

% find . -print -depth | cpio -ov > tree.cpio

存档整个目录树,find命令可以将文件列表提供给cpio。这将获取当前目录中的所有文件,以及下面的目录,并将它们放置在归档目录tree.cpio中

% cpio -iv < directory.cpio

这将检索存档在文件directory.cpio中的文件,并将它们放在当前目录中

% cpio -idv < tree.cpio

这将获取存档tree.cpio的内容,并将其解压缩到当前目录。

% find . -depth -print0 | cpio --null -pvd new-dir

将当前目录的文件和子目录复制到一个名为new-dir的新目录中

4、实例

1)将当前目录归档

[root@localhost weijie]# ls | cpio -o > mybak //将ls的输出定向到cpio,然后归档

1 块

[root@localhost weijie]# ls

11.c 1.c 2.c 3.c 4.c 5.c 6.c mybak

2)从归档中提取文件

[root@localhost weijie]# cpio -i < mybak //从归档中提取

cpio: 未创建 11.c:已有更新或同样新的版本存在

cpio: 未创建 5.c:已有更新或同样新的版本存在

cpio: 未创建 6.c:已有更新或同样新的版本存在

cpio: 未创建 mybak:已有更新或同样新的版本存在

1 块

[root@localhost weijie]# ls

11.c 1.c 2.c 3.c 4.c 5.c 6.c mybak

3)拷贝文件

[root@localhost weijie]# cat list.c

1.c

2.c

3.c

[root@localhost weijie]# cpio -p bak/ < list.c //将list.c中的内容当做文件列表,然后拷贝到bak目录

cpio: 忽略空行

1 块

[root@localhost weijie]# ls bak/

1.c 2.c 3.c

感谢各位的阅读,以上就是"Linux基础命令cpio的用法"的内容了,经过本文的学习后,相信大家对Linux基础命令cpio的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 目录 命令 内容 模式 应用 输入 标准 信息 文件名 版本 输出 基础 拷贝 更新 大小 并将 存档 学习 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海睿民互联网科技有限公司 上海卓越科技互联网 互联网科技公司经营范围 互联网巨头反垄断金融科技 美国互联网科技 猪兼强互联网科技 济南和联互联网科技有限公司 互联网科技公司的市场部门 金融科技与互联网金融相同和不同 互联网科技教育视频 互联网和黑科技的看法 河南猎农互联网科技有限公司 昭通互联网科技选哪家 宝灵互联网科技有限公司 互联网科技扶贫时间 广州新华互联网科技学校电竞方面 南通创西澳互联网科技有限公司 张家口科技产业互联网平台 安徽零酒互联网科技有限公司 青岛易易互联网科技 手冲咖啡和咖啡机区别 上海挚品互联网科技有限公司 科技互联网项目 狮子座互联网科技有限公司 电子科技大学互联网 伴你行互联网科技有限公司 上海电发互联网科技有限公司 互联网保险科技创业 互联网科技资金流入 郑州欣桑互联网科技有限公司
0