NAME
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 程
序 的 版 本 号 , 然
后 退 出 .
[中 文 版 维 护 人 ]
徐 明 <xuming [AT] iname.com>
[中 文 版 最 新 更 新 ]
2001/09/25
《 中 国 Linux论 坛 man手 册 页 翻 译 计 划 》
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh