Provided by: manpages-zh_1.5-1_all bug

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@iname.com>

[2001/09/25

Linuxanhttp://cmpp.linuxforum.net

                                                                      CPIO(1L)