スポンサーリンク

CPIO

名称
書式
解説

名称

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 のプログラムバージョンを表示して終了します。

スポンサーリンク