Provided by: manpages-zh_1.6.3.2-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

《中國Linux論壇man手冊頁翻譯計劃》

       http://cmpp.linuxforum.net

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

                                                                                          CPIO(1)