Provided by:
manpages-zh_1.5.1-1_all 
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
yz (DESCRIPTION)
本手冊 描z GNU 版本 的 cpio.
cpio 可以 從 cpio 或 tar 格式 的 歸檔包(archive) 中 讀寫 檔案, 歸檔包
是 一種檔案, 它 由 歸檔檔案 及其 相關信息 組成, 例如 檔名, 屬主, 時標
(timestamp), 和 訪問權. 歸檔包 可以 是 磁碟上的 檔案, 也可以 是
磁帶或管道.
cpio 有 三種 操作模式.
在 copy-out 模式中, cpio 把 檔案 複製到 歸檔包 中. 它 從 標準輸入 讀取
檔名列表, 每行一蚗犰W. 生成的 歸檔包 寫到 標準輸出. 產生 檔名列表 的
典型方法 是 使用 find 命令; 你 可能 n在 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" 格式 可以 跨孕x 使用, 但是 不能 用於
超過 65536 i 節點 的 檔案系統 中. "new ASCII" 格式 可以 跨孕x 使用,
也 適用於 任意大小 的 檔案系統 上, 但 不是 所有 版本 的 cpio 都 支持,
目前 只有 GNU 和 System VR4 的 cpio 能夠 支持 "new ASCII" 格式. "crc"
格式 類似於 "new ASCII" 格式, 而且 對每 檔案 p算 校驗和; cpio 在 創建
歸檔包 時 p算 校驗和, 解開 檔案 時 進行 校驗. "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
讀取完 檔案 後 姜m 檔案的訪問時間, 這樣 看上去 就像 沒有 訪問 過
這 檔案.
-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 使用 老式的 跨孕x (ASCII) 歸檔 格式.
-C IO-SIZE, --io-size=IO-SIZE
設置 I/O 塊 大小 為 IO-SIZE 字節.
-d, --make-directories
在 需n的地方 創建 起始目錄.
-E FILE, --pattern-file=FILE
在 copy-in 模式中, 從 FILE 裏 讀取 用於 匹配 檔名 的 模式串.
FILE 的 內容 如同 cpio 的 非選項 參數.
-f, --nonmatching
只複製 那些 不匹配 給定的 模式串 的 檔案.
-F, --file=archive
使用 歸檔包檔案, 而不是 標準輸入或輸出. 如果 把 其他 機器上 的
磁帶機 作成 歸檔包檔案, 檔名 n用 "HOSTNAME:" 開始. 主機名 前
可以 加上 使用者名 和 一 '@', 作為 訪問 遠程 磁帶機 的 使用者
(如果 你有 這樣的 權, 一般 在 使用者的 ~/.rhosts 檔案中 會有
這麼 一項).
--force-local
和 -F, -I, 或 -O, 一起用, 可以 把 歸檔包檔案 看作 本地檔案, 即使
檔名 中 含有 冒號, 一般說來 冒號 指出 一 遠程主機 的 存在.
-H FORMAT, --format=FORMAT
使用 歸檔格式 FORMAT. 有效 的 格式 列在 下, 大小寫 均可. "copy-
in" 模式 的 預設動作 是 自動檢測 歸檔格式, "copy-out" 的
預設格式 是 "bin".
bin 老式的 binary 格式.
odc 老式的 (POSIX.1) 跨孕x 格式.
newc 新型 (SVR4) 跨孕x 格式, 支持 大於 65536 i節點 的
檔案系統.
crc 新型 (SVR4) 跨孕x 格式, 並且 p算 校驗和.
tar 老式的 tar 格式.
ustar POSIX.1 tar 格式, 也能 識別 GNU tar 歸檔檔案, 它 相似
但不全相同.
hpbin HP UNIX 上的 cpio 使用的 老式的 binary 格式. (用
獨特的方法 儲存 設備檔案)
hpodc HP UNIX 上的 cpio 使用的 跨孕x 格式. (用 獨特的方法 儲存
設備檔案)
-i, --extract
進入 copy-in 模式.
-I archive
使用 歸檔包檔案, 而不是 標準輸入. 如果 把 其他 機器上 的 磁帶機
作成 歸檔包檔案, 檔名 n用 "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 的 使用者 不P於 無意中 把 檔案 送人.
-o, --create
進入 copy-out 模式.
-O archive
使用 歸檔包檔案, 而不是 標準輸出. 如果 把 其他 機器上 的 磁帶機
作成 歸檔包檔案, 檔名 n用 "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' 榆瑼漲C表.
在一 歸檔包 的 內容 詳細列表 (verbose) 中, 如果 本地系統 不存在
歸檔檔案的 使用者和使用者組 名稱, 就用 其數字 UID和GID 對應於
本地系統的 使用者和使用者組 名稱 代替.
-V --dot
每處理一蚗仵, 顯示一 ".".
--version
顯示 cpio 程式 的 版本號, 然後退出.
[]
} <xuming@iname.com>
[]
2001/09/25
mLinuxanhttp://cmpp.linuxforum.net
CPIO(1)