CPIO
Section: Misc. Reference Manual Pages (1L)
索引
jman
索引
名称
cpio - アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう
索引
書式
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
索引
解説
このマニュアルは、GNU 版の
cpio
について説明します。
cpio
は、cpio 形式もしくは tar 形式のアーカイブファイルに格納されたファイルを
取り出したり、その逆を行なったりします。アーカイブファイルとは、格納される
ファイルそのものに加え、それら個々のファイルについてのファイル名や所有者、
タイムスタンプ、アクセス権限のような情報を含むようなファイルです。
アーカイブファイルは、ディスク上のファイルでも、
磁気テープ上に格納してあるファイルでも、もしくはパイプであっても構いません。
cpio
は、3 つの操作モードを持っています。
コピーアウトモードでは、
cpio
はファイルをアーカイブファイルにコピーします。cpio は、標準入力から
ファイル名のリストを 1 行ずつ読み込み、標準出力にそのファイルのアーカイブを
書き出します。ファイルリストの作成には、
find
コマンドが多く使われます。
find
コマンドでは、-d オプションを付加して、ディレクトリの属性によって
書き込み不可であったり、検索が出来なかったりする問題を最小限に抑えるように
して下さい。
コピーインモードでは、
cpio
はファイルをアーカイブファイルからファイルを (取り出して) コピーしたり、
アーカイブの内容のリストを表示したりします。
cpio は、アーカイブを標準入力から読み込みます。オプションでない
コマンドラインの引数は、すべてシェルによって展開される文字列として
解釈されます。これにより、アーカイブ内のファイル名が、この文字列によって
指定されるパターンにマッチするファイルのみを展開することができます。
また、シェルでの解釈とは違い、ファイル名の先頭に `.' を含むファイル名は、
取り出すファイルとして指定したパターンの最初にワイルドカードを含む場合、
パターンが一致します。また、ファイル名に `/' を含むファイル名も
ワイルドカードによって一致します。パターンが指定されない場合には、
全てのファイルが展開対象となります。
コピーパスモードでは、
cpio
はファイルをあるディレクトリから別のディレクトリにコピーします。実際には、
アーカイブファイルを用いないで、コピーアウトモードとコピーインモードを
組み合わせて実行するような形になります。cpio は、コピーするファイルリストを
標準入力から読み込みます。これらのファイルのコピー先のディレクトリについては、
オプション以外の引数で与えられます。
cpio
は、
binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar,
POSIX.1 tar の各形式のアーカイブフォーマットをサポートします。
binary フォーマットは、異なるマシンアーキテクチャ間では互換性のない方法で、
ファイルの情報をエンコードするので、ほとんど使われません
(つまり、binary フォーマットは、異なるマシンアーキテクチャ間で、
互換性のないアーカイブを生成するので、あまり使われないということです)。
old ASCII フォーマットは、異なるマシンアーキテクチャの間での互換性は
保たれますが、65536 個を超える i-node を備えるシステムで使われることを
想定してません。
new ASCII フォーマットは、異なるマシンアーキテクチャの間でのアーカイブの
互換性は保たれます。old ASCII フォーマットのように、ファイルシステムの
サイズの制限はありませんが、全てのバージョンの
cpio
でこの形式をサポートするわけではありません。現状でこのフォーマットを
サポートする cpio は、GNU cpio と、Unix System V R4 の cpio のみです。
crc フォーマットは、new ASCII フォーマットと似ていますが、アーカイブ作成時に
cpio
が各ファイルについてチェックサムを計算し、アーカイブ内に含めるところが
異なります。このチェックサムは、アーカイブからファイルを取り出す時の
ベリファイに使用されます。
HPUX フォーマットは、デバイスファイルを格納する形式が他の cpio と異なる
HPUX の cpio 形式との互換性を持たせるために存在します。
tar フォーマットは、
tar
との互換性を持たせるために存在します。tar フォーマットでは、アーカイブされる
ファイル名としては、100 文字を超えるものは使えません。また、
特殊ファイル (ブロックデバイスやキャラクタデバイス) をアーカイブする
こともできません。
POSIX.1 tar フォーマットは、アーカイブされるファイル名としては、255 文字を
超えるものは使えません。(ちょうどその場所に、"/" が含まれる場合は除きます)。
デフォルトでは、
cpio
は古い
cpio
との互換性を保つためにバイナリフォーマットアーカイブを作成します。
アーカイブを展開する場合には、
cpio
は自動的に読み込まれたアーカイブの種類を認識するので、異なるバイトオーダの
マシンで作成されたアーカイブを読むことができます。
cpio
のオプションには、操作モードを指定するものもあります。
どのオプションがどのモードに対応するかについては、
書式のセクションを見て下さい。
オプション
- -0, --null
-
コピーアウトおよびコピーパスモードにおいて、改行のかわりにナル文字で終了する
ファイル名のリストを読み込みます。これにより、改行を含むファイル名を持つ
ファイルをアーカイブできます。
GNU
find
を使うことで、ナル文字で終了するファイル名のリストを生成することができます。
- -a, --reset-access-time
-
ファイルを読み込んだ後に、それらのファイルのアクセスタイムの再設定を
行ないます。これは、これらのファイルがその時点で読み込まれたもののように
見えないようにするためです。
- -A, --append
-
すでに存在するアーカイブファイルに追加書き込みをします。
このオプションはコピーアウトモードでのみ使用することができます。
このオプションを使うためには、アーカイブファイルが、
-O
または、
-F (--file)
オプションで指定した名前のディスク上の (アーカイブ) ファイルで
なければなりません。
- -b, --swap
-
コピーインモードにおいて、データ中の1ワード (32 ビット) データの上下 16 ビット
を入れ換え、1 ハーフワード (16 ビット) の上下 8 ビットを入れ換えます。
本オプションは、
-sS
と同等です。
このオプションは、ビッグエンディアンマシンとリトルエンディアンのマシンの間で
32 ビット整数を変換するために用います。
- -B
-
I/O ブロックサイズを 5120 バイトに設定します。ブロックサイズの初期値は 512
バイトです。
- --block-size=BLOCK-SIZE
-
I/O ブロックサイズを BLOCK-SIZE * 512 バイトに設定します。
- -c
-
アーカイブ形式として、old ASCII フォーマット
(つまり古い互換アーカイブフォーマット) を用います。
- -C IO-SIZE, --io-size=IO-SIZE
-
I/O ブロックサイズを IO-SIZE で指定したバイト数に設定します。
- -d, --make-directories
-
必要に応じてディレクトリを作成します。
- -E FILE, --pattern-file=FILE
-
コピーインモードにおいて、ファイル名 FILE から展開したり、ファイルリストを
表示したりするために、ファイル名を特定するパターン指定を読み込みます。
ファイル名 FILE で特定できるファイルに記述された各行は、
cpio
のオプション以外の文字列で指定されたもののように扱われます。
- -f, --nonmatching
-
与えられたパターンのいずれにも一致しないファイルのみ扱います。
- -F, --file=archive
-
標準入力もしくは標準出力のかわりに、指定されたアーカイブファイルを
用います。他のマシンのテープドライブをアーカイブファイルとして扱う
場合には、`HOSTNAME:' で始まるファイル名を使用して下さい。
ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
ユーザ名と '@' を先に書いても構いません (典型的には、そのユーザの
`~/.rhosts' エントリにエントリが存在するマシンであることが多いようです)。
- --force-local
-
-F,
-I,
-O
のいずれかのオプションを用いた場合に、
コロン文字を含むファイル名をローカルファイル名と
みなして扱います。通常、コロン文字は、リモートホスト名とその上の
ローカルファイル名を区切る場合に使用されます。
- -H FORMAT, --format=FORMAT
-
アーカイブフォーマットとして、FORMAT のものを用います。
FORMAT の部分に指定できる文字列を以下に示します。
これらの名前は、すべて大文字の場合でも認識されます。
コピーインモードでのデフォルトは、入力ファイルの内容から
自動的にアーカイブフォーマットを判定するもので、コピーアウトモードでは、"bin"
フォーマットがデフォルトです。
-
- bin
-
binary フォーマットです。ほとんど使われません。
- odc
-
old ASCII (POSIX.1 互換) フォーマットです。
- newc
-
new ASCII (SVR4 互換) フォーマットです。
new ASCII フォーマットは、65536 個を超える i-node を備える
ファイルシステムをサポートします。
- crc
-
crc フォーマットです。
crc フォーマットは、new ASCII フォーマットと似ていますが、
チェックサムを含みます。
- tar
-
old tar フォーマットです。
- ustar
-
POSIX.1 tar フォーマットです。GNU
tar
アーカイブも取り扱うことができます。POSIX.1 tar と GNU tar は、
よく似ていますが、同じではありません。
- hpbin
-
HPUX の cpio で使用されている、あまり使われない binary フォーマットです。
(他の cpio とは異なる形式で、デバイスファイルを保存します)。
- hpodc
-
HPUX の cpio で使用されている互換フォーマットです (他の cpio とは異なる形式で、
デバイスファイルを保存します)。
- -i, --extract
-
コピーインモードで動作します。
- -I archive
-
標準入力のかわりに、指定されたアーカイブファイル名を用います。他のマシンの
テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'
で始まるファイル名を使用して下さい。
ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
ユーザ名と '@' を先に書いても構いません (典型的には、そのユーザの
`~/.rhosts' エントリにエントリが存在するマシンであることが多いようです)。
- -k
-
無視されます。他のバージョンの
cpio
との互換性を保つためにのみ存在します。
- -l, --link
-
可能であれば、ファイルをコピーするかわりにリンクを張ります
(
-p
オプションと共に指定するときのみ使用できます)。
- -L, --dereference
-
シンボリックリンクを参照を利用しません。
シンボリックリンクファイルをコピーするかわりに、
シンボリックリンクファイルの指す実体のファイルをコピーします。
- -m, --preserve-modification-time
-
コピー先のファイル生成時に、コピー元のファイルの更新時刻を保持します。
- -M MESSAGE, --message=MESSAGE
-
バックアップ媒体 (テープやフロッピディスクなど) のボリューム終端まで
到達した場合に、MESSAGE で指定された文字列を出力します。この指定をすることで、
ユーザに新しい媒体の挿入指示を出すことが可能になります。MESSAGE
で指定される文字列に "%d" が含まれる場合には、"%d" 文字列は、現在の媒体通番
(1 からはじまります) に置き換えられます。
- -n, --numeric-uid-gid
-
冗長モードで内容のリストを出す場合に、UID および GID を、その ID の
対応するユーザ名 / グループ名でなく、数字で表示します。
- --no-absolute-filenames
-
コピーインモードで、
アーカイブ中に絶対ファイル名で格納されていたとしても、
現在のディレクトリからの相対でファイルを生成します。
- --no-preserve-owner
-
コピーインモードおよびコピーパスモードにおいて、ファイルの所有者を
変更しません。これは、展開後のファイルの所有者は、実際にファイルの展開を
行なっているユーザとなることを示します。このオプションは、スーパユーザ以外の
ユーザが使用する場合にはデフォルトで有効になります。これは、System V
のユーザが、誤ってファイルの所有権を手放さないようにするためです。
- -o, --create
-
コピーアウトモードで動作します。
- -O archive
-
標準出力のかわりに、指定したアーカイブファイルを用います。他のマシンの
テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:' で
始まるファイル名を使用して下さい。ホスト名は、そのユーザとして
リモートテープドライブをアクセスするためにユーザ名と '@' を先に
書いても構いません (典型的には、そのユーザの `~/.rhosts' エントリに
エントリが存在するマシンであることが多いようです)。
- --only-verify-crc
-
コピーインモードで CRC フォーマットのアーカイブを読み込む時に、
アーカイブ内の各ファイルの CRC をベリファイするだけで、
実際にファイルを取り出しません。
- -p, --pass-through
-
コピーパスモードで動作します。
- --quiet
-
コピーされたブロック数を表示しません。
- -r, --rename
-
対話的にファイル名を変更します。
- -R [user][:.][group], --owner [user][:.][group]
-
コピーアウトモードおよびコピーパスモードにおいて、全ての生成ファイルの
所有権を指定したユーザ、グループに設定します。ユーザもしくはグループの
どちらか、もしくは両方とも指定される必要があります。もしグループの指定は
省略されたが、":" もしくは "." セパレータが指定された場合には、ユーザの
ログイングループがグループとして設定されます。
スーパユーザのみがファイルの所有権を変更することが可能です。
- --sparse
-
コピーアウトモードおよびコピーパスモードにおいて、0 から成る大きなブロックを
持つファイルを疎なファイルとして書きます。
- -s, --swap-bytes
-
コピーインモードにおいて、ファイル中のデータの 16 ビットの上位 8 ビットと下位
8 ビットを入れ換えます。
- -S, --swap-halfwords
-
コピーインモードにおいて、ファイル中のデータの 32 ビットの上位 16 ビットと
下位 16 ビットを入れ換えます。
- -t, --list
-
入力ファイル名の一覧を出力します。
- -u, --unconditional
-
すでに存在している新しいファイルを古いファイルで置き換えるかどうかの
問い合わせをすることなく、全てのファイルを上書きします。
- -v, --verbose
-
処理されたファイル名を表示します (冗長モードということです)。
-t
オプションが同時に指定された場合には、`ls -l' 形式の表示を得ることが
できます。ustar フォーマットのアーカイブから得られる表示においては、
ローカルシステムに存在しないユーザ名およびグループ名のファイルについては、
アーカイブ内に格納された UID および GID の値に対応するローカルでのユーザ名、
グループ名に置き換えてその部分を表示します。
- -V --dot
-
各ファイルを処理するごとに、"." を表示します。
- --version
-
cpio
のプログラムバージョンを表示して終了します。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- オプション
-
Time: 07:06:03 GMT, January 12, 2009