cpio - 存取归档包中的文件
总览 (SYNOPSIS)
cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--format=format] [--message=message] [--null] [--reset-access-time] [--verbose] [--dot] [--append] [--block-size=blocks] [--dereference] [--io-size=bytes] [--quiet] [--force-local] [--help] [--version] < name-list [> archive]
cpio {-i|--extract} [-bcdfmnrtsuvBSV] [-C bytes] [-E file] [-H format] [-M message] [-R [user][:.][group]] [-I [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--make-directories] [--nonmatching] [--preserve-modification-time] [--numeric-uid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--unconditional] [--verbose] [--block-size=blocks] [--swap-halfwords] [--io-size=bytes] [--pattern-file=file] [--format=format] [--owner=[user][:.][group]] [--no-preserve-owner] [--message=message] [--force-local] [--no-absolute-filenames] [--sparse] [--only-verify-crc] [--quiet] [--help] [--version] [pattern...] [< archive]
cpio {-p|--pass-through} [-0adlmuvLV] [-R [user][:.][group]] [--null] [--reset-access-time] [--make-directories] [--link] [--quiet] [--preserve-modification-time] [--unconditional] [--verbose] [--dot] [--dereference] [--owner=[user][:.][group]] [--no-preserve-owner] [--sparse] [--help] [--version] destination-directory < name-list
描述 (DESCRIPTION)
本手册页 描述 GNU 版本 的 cpio.
cpio 可以 从 cpio 或 tar 格式 的 归档包(archive) 中 读写 文件, 归档包 是 一种文件, 它 由 归档文件 及其 相关信息 组成, 例如 文件名, 属主, 时标 (timestamp), 和 访问权限. 归档包 可以 是 磁盘上的 文件, 也可以 是 磁带或管道.
cpio 有 三种 操作模式.
在 copy-out 模式中, cpio 把 文件 复制到 归档包 中. 它 从 标准输入 读取 文件名列表, 每行一个文件名. 生成的 归档包 写到 标准输出. 产生 文件名列表 的 典型方法 是 使用 find 命令; 你 可能 要在 find 后面 用上 -depth 选项, 减少 因为 进入 没有 访问权限 的 目录 引起 的 麻烦.
在 copy-in 模式中, cpio 从 归档包 读取 文件, 或者 列出 归档包 的 内容, 归档包 来自 标准输入. 任何 非选项 命令行参数 被视为 shell 的 通配符模式串 (globbing pattern); 在 归档包 中, 只 读取 文件名 匹配 这些 模式串 的 文件. 和 shell 环境 不一样, 文件名 起始处 的 '.' 可以 匹配 模式串 起始处 的 通配符, 文件名中 的 '/' 也可以 匹配 通配符. 如果 没有 给出 模式串, 那么 读取 所有 文件.
在 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 能够 支持 "new ASCII" 格式. "crc" 格式 类似于 "new ASCII" 格式, 而且 对每个 文件 计算 校验和; cpio 在 创建 归档包 时 计算 校验和, 解开 文件 时 进行 校验. "HPUX" 格式 用于 兼容 HP UNIX 的 cpio, 它 用了 独特的方法 保存 设备文件.
"tar" 格式 用以 兼容 tar 程序. 它 不能 对 文件名 超过 100 个 字符 的 文件 归档, 也 不能 对 特殊文件 (块设备 或 字符设备) 归档. "POSIX.1 tar" 格式 不能 对 文件名 超过 255 个 字符 的 文件 归档 (小于 255, 除非 文件名 的 最右边 有一个 "/").
缺省情况下, cpio 为了 兼容 老式的 cpio 程序, 创建 "binary" 格式 的 归档包. 当展开 归档包 时, cpio 能够 自动识别 归档包 的 格式, 而且 能够 读取 不同 字节顺序 的 机器 上创建 的 归档包.
cpio 的 某些 选项 只能 用在 相应的 操作模式 上; 参见 总览 小节, 里面 列出了什么模式 可以用 什么选项.
选项 (OPTIONS)
- -0, --null
- 在 copy-out 和 copy-pass 模式中, 认为 输入的 文件名 以 null 字符 结尾, 而不是 换行符, 这样 即使 文件名 中 包含 换行符, 也 不影响 归档. GNU find 是 生成 null 结尾 文件名 列表 的 方法 之一.
- -a, --reset-access-time
- 读取完 文件 后 重置 文件的访问时间, 这样 看上去 就象 没有 访问 过 这个 文件.
- -A, --append
- 添加到 现存的 归档包 中. 仅用于 copy-out 模式. 该 归档包 必须是 用 -O 或 -F (--file) 选项 生成的 磁盘文件.
- -b, --swap
- 在 copy-in 模式中, 颠倒 数据中 字 的 字节 顺序. 相当于 -sS. 使用 这个 选项 可以 在 大端数 和 小端数 机器 之间 转换 32 位 整数.
- -B
- 把 I/O 块 大小 设置成 5120 字节. 最初的 块大小 是 512 字节.
- --block-size=BLOCK-SIZE
- 设置 I/O 块 大小 为 BLOCK-SIZE * 512 字节.
- -c
- 使用 老式的 跨平台 (ASCII) 归档 格式.
- -C IO-SIZE, --io-size=IO-SIZE
- 设置 I/O 块 大小 为 IO-SIZE 字节.
- -d, --make-directories
- 在 需要的地方 创建 起始目录.
- -E FILE, --pattern-file=FILE
- 在 copy-in 模式中, 从 FILE 里 读取 用于 匹配 文件名 的 模式串. FILE 的 内容 如同 cpio 的 非选项 参数.
- -f, --nonmatching
- 只复制 那些 不匹配 给定的 模式串 的 文件.
- -F, --file=archive
- 使用 归档包文件, 而不是 标准输入或输出. 如果 把 其他 机器上 的 磁带机作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般在 用户的 ~/.rhosts 文件中 会有 这么 一项).
- --force-local
- 和 -F, -I, 或 -O, 一起用, 可以 把 归档包文件 看作 本地文件, 即使 文件名 中 含有 冒号, 一般说来 冒号 指出 一个 远程主机 的 存在.
- -H FORMAT, --format=FORMAT
- 使用 归档格式 FORMAT. 有效 的 格式 列在 下面, 大小写 均可. "copy-in" 模式 的 缺省动作 是 自动检测 归档格式, "copy-out" 的 缺省格式 是 "bin".
-
- bin
- 老式的 binary 格式.
- odc
- 老式的 (POSIX.1) 跨平台 格式.
- newc
- 新型 (SVR4) 跨平台 格式, 支持 大于 65536 i节点 的 文件系统.
- crc
- 新型 (SVR4) 跨平台 格式, 并且 计算 校验和.
- tar
- 老式的 tar 格式.
- ustar
- POSIX.1 tar 格式, 也能 识别 GNU tar 归档文件, 它们 相似 但不全相同.
- hpbin
- HP UNIX 上的 cpio 使用的 老式的 binary 格式. (用 独特的方法 储存 设备文件)
- hpodc
- HP UNIX 上的 cpio 使用的 跨平台 格式. (用 独特的方法 储存 设备文件)
-
- -i, --extract
- 进入 copy-in 模式.
- -I archive
- 使用 归档包文件, 而不是 标准输入. 如果 把 其他 机器上 的 磁带机作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般在 用户的 ~/.rhosts 文件中 会有 这么 一项).
- -k
- 无效操作; 只是 用来 兼容 其他 版本 的 cpio.
- -l, --link
- 如果有可能, 连接 文件, 而不是 复制.
- -L, --dereference
- 解除 符号连接 的 关联 (复制 符号连接 指向的 文件, 而不是 连接 本身).
- -m, --preserve-modification-time
- 当 创建 文件 时, 保留 以前的 文件修改时间.
- -M MESSAGE, --message=MESSAGE
- 当 备份 媒体 (例如 磁带或软盘) 到达 卷尾时, 显示 一条 消息, 提醒 用户插入 下一卷. 如果 MESSAGE 包含 字符串 "%d", 它 替换成 当前 卷号 (从 1 开始).
- -n, --numeric-uid-gid
- 以 繁琐模式 (verbose) 显示 内容 时, 用 数字 显示 UID 和 GID, 而 不是 名称.
- --no-absolute-filenames
- 在 copy-in 模式中, 在 当前目录中 创建 所有 相关 文件, 即使 它们 在归档包中 有 绝对路径名.
- --no-preserve-owner
- 在 copy-in 和 copy-pass 模式中, 不改变 文件 的 属主关系 (译注: 疑为不保留); 使 它们 属于 展开 它们 的 用户. 这是 普通用户 的 缺省行为, 因此 System V 的 用户 不致于 无意中 把 文件 送人.
- -o, --create
- 进入 copy-out 模式.
- -O archive
- 使用 归档包文件, 而不是 标准输出. 如果 把 其他 机器上 的 磁带机作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般在 用户的 ~/.rhosts 文件中 会有 这么 一项).
- --only-verify-crc
- 当以 copy-in 模式 读入 CRC 格式 的 归档包 时, 不展开 里面的文件, 只是 测试 文件的 CRC 码.
- -p, --pass-through
- 进入 copy-pass 模式.
- --quiet
- 不显示 复制的 块数.
- -r, --rename
- 交互式 文件 改名.
- -R [user][:.][group], --owner [user][:.][group]
- 在 copy-out 和 copy-pass 模式中, 把 所有文件 的 属主 设置为 指定的用户 和/或 用户组. 无论 用户 还是 用户组 都必须 存在. 如果 省略 用户组, 但却 给出了 分隔符 ":" 或 ".', 则 使用 该 用户 的 登录用户组. 只有超级用户 能够 改变 文件的属主.
- --sparse
- 在 copy-out 和 copy-pass 模式中, 把 大块 数据0 的 文件 写成 稀疏文件 (sparse file).
- -s, --swap-bytes
- 在 copy-in 模式中, 交换 文件中 每一个 半字(字节对) 中的 字节.
- -S, --swap-halfwords
- 在 copy-in 模式中, 交换 文件中 每一个 字(4字节) 中的 半字.
- -t, --list
- 显示 输入(归档包) 的 内容.
- -u, --unconditional
- 替换 所有 文件, 不再提问 是否 用 旧文件 替换 已经存在的 新文件.
- -v, --verbose
- 列出 处理的文件, 加上 -t 选项 可以 列出 一个 'ls -l' 风格的列表. 在一个 归档包 的 内容 详细列表 (verbose) 中, 如果 本地系统 不存在 归档文件的 用户和用户组 名称, 就用 其数字 UID和GID 对应于 本地系统的 用户和用户组 名称 代替.
- -V --dot
- 每处理一个文件, 显示一个 ".".
- --version
- 显示 cpio 程序 的 版本号, 然后退出.
cpio - 存取归档包中的文件的更多相关文章
- rpm2cpio---如何不安装但是获取rpm包中的文件
如何不安装但是获取rpm包中的文件 使用工具rpm2cpio和cpio rpm2cpio xxx.rpm | cpio -idmv 参数i表示提取文件.v表示指示执行进程,d和make-directo ...
- 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件
目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...
- java读取jar包中的文件
随手写了一个java小工具,maven打包成功后,发现工具总是读不到打在jar包中的文件信息,要读取的文件位于 /src/main/resources 目录下,打包成功后,文件就在jar包中根目录下, ...
- 使用命令动态更新JAR包中的文件
动态更新JAR包中的文件,经本人实际测试可正常执行! 一.查询jar包中要替换的文件位置 jar -tvf gateway.jar | grep topjui.config.js 二.在当前 ...
- 在swt中获取jar包中的文件 uri is not hierarchical
uri is not hierarchical 学习了:http://blog.csdn.net/zdsdiablo/article/details/1519719 在swt中获取jar包中的文件: ...
- jar命令+7z:创建,替换,修改,删除Jar, war, ear包中的文件
虽然现在已经有各种智能的IDE可以为我们生成jar包,war包,ear包,甚至带上了自动替换,部署的功能.但一定会有那么些时候,你需要修改或是替换jar包,war包,ear包中的某个文件而不是整个重新 ...
- 替换war包中的文件
原文:https://blog.csdn.net/wuawua1/article/details/53906700 1.如果要替换的文件直接在war包的根目录(一级目录)下,直接使用jar uvf命令 ...
- tar 只解压tar包中某个文件
sh-4.1# ls test.tar sh-4.1# tar -tf test.tar ./ecs20161207.png ./ecs.png ./ecs.xml ./rds.png ./Scree ...
- python 一个包中的文件调用另外一个包文件 实例
python不同文件夹中模块的引用调用顺序,被调用的模块中①有类的 模块.类().方法() ②无类的:模块.方法() test包中testIm.py 调用 test1包中testIm1.py中的方 ...
随机推荐
- 3.5Linux设备驱动--块设备(一)之概念和框架☆☆
基本概念 块设备(blockdevice) --- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性 ...
- caioj1421&&hdu2167: [视频]【状态压缩】选数
%hz大佬..这道题的状态压缩简直匪夷所思(其实是我孤陋寡闻,而且我以前的博客竟然写了这题..水啊) 嗯这题可以发现,我们可以用一个二进制表示一行的状态,1表示选0反之,可以发现行与行之间可选的范围是 ...
- 常用的 Nand Flash 指令如下:
指令 功能 nand info 显示可使用的 Nand Flash nand device [dev] 显示或设定当前使用的 Nand Flash nand read addr off size ...
- rsync+inotify 实现实时同步
inotify:这个可以监控文件系统中的添加,修改,删除,移动等事件 inotify的特性需要linux内核2.6.13以上的支持 [root@test1 inotify-tools-3.13]# u ...
- hdu 3503(有点小技巧的dfs(对结点加东西表示边的某些状态))
Friends Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头部验证失败)
原文地址:http://www.cnblogs.com/alxc/archive/2011/03/25/1995279.html 因为喜欢新的东西,所以基本上电脑的开发工具都是最新的,oracle也装 ...
- Hibernate关联映射(多对一 --- many-to-one)
转自:https://blog.csdn.net/fengxuezhiye/article/details/7369786?utm_source=blogxgwz9 Hibernate的关联映射关系有 ...
- 【191】◀▶ Powershell 命令集 Cmdlets
Powershell 命令集 cmdlets cmdlets是Powershell的内部命令,cmdlet的类型名为System.Management.Automation.CmdletInfo,包 ...
- java面试(上)
http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是 ...
- bzoj 1178: [Apio2009]CONVENTION会议中心(少见做法掉落!)【贪心+二分】
数组若干+手动二分一个的算法,bzoj rank8 ===============================废话分割线=================================== 我我 ...