CPIO(1V) — NEWS-OS Programmer’s Manual
名称
cpio − ファイルアーカイブのコピー
形式
cpio −o[acBv]
cpio −i[BcdmrtuvfsSb6] [ patterns ]
cpio −p[adlmruv] directory
解説
cpio −o (copy out) は標準入力を読んでパス名を獲得し、 パス名とステータス情報と 共にそれらのファイルを標準出力にコピーします。 また、 出力はパディングされて 512 バイト単位で処理されます。
cpio −i (copy in) は、前述の cpio −o で作成されたものを 標準入力から読み込み、ファイルを引き出します。 patterns に指定した名称の ファイルだけが引き出されます。 patterns は sh(1) の名称生成法に則して指定します。 patterns の記述において、 メタキャラクタ ?、 ∗、 および [...] などはスラッシュ / にマッチします。 複数の patterns を指定できます。 patterns を指定しなかった場合、 patterns のデフォルトは ∗ (全ファイルを選択) となります。 引き出されたファイルは 下記のオプションの 条件に基づいて生成され、 カレントディレクトリツリーへコピーされます。 ファイルに対する許可は 前述の cpio −o でのものと同様になります。 ユーザがスーパユーザでなければ、 ファイルのオーナおよび グループはカレントユーザのものとなります。 スーパユーザであれば、 cpio は前述の cpio −o のファイルのオーナおよびグループを保存します。
cpio −p (pass) は、ファイルのパス名のリストを標準入力から読み込み、 そのファイルを、下記のオプションに基づいて、指定 directory のツリーへ条件つきで作成し、コピーします。
オプションの内容
a コピー後の入力ファイルのアクセス時間を リセットします。
B 入力/出力は 5,120 バイトのブロックにまとめられます。 (pass オプションには適用しません。 /dev/rst?? とダイレクトにデータをやりとりするときのみ意味を持ちます)。
d 必要に応じてディレクトリが生成されます。
c 移植性を考慮してヘッダ情報を ASCII 文字で書き込みます。
r 対話的にファイル名を変更します。 ユーザが空行を入力すると、 そのファイルはスキップされます。
t 入力ファイルのリストを表示します。 ファイルは生成されません。
u 無条件にコピーします。 (通常、古いファイルが新しいファイルに置き換わることはありません。)
v ファイル名のリストを表示します。 t オプションと共に指定すると、 そのリストの内容は ls −l コマンドの出力結果と同様となります。 (ls(1) 参照)
l できる限りファイルをコピーせずにリンクします。 −p オプション指定時のみ可能です。
m 前のファイル変更時間を保持します。 このオプションはコピー中のディレクトリ上では無効です。
f patterns に指定したものを除く全てのファイルをコピーします。
s バイト単位でスワップします。 −i オプションでのみ使用します。
S ハーフワード単位でスワップします。 −i オプションでのみ使用します。
b バイトおよびハーフワード単位でスワップします。 −i オプションでのみ使用します。
6 古いファイル(例: UNIX System Sixth Edition format) を処理します。 −i (copy in) オプションでのみ使用可能です。
使用例
次の使用例では、ディレクトリの内容をアーカイブにコピーします。
ls │ cpio −o >/dev/rst00
次の使用例では、ディレクトリの構造を複製します。
cd olddir
find . −print │ cpio −pdl newdir
ちなみに、 find . −print │ cpio −oB >/dev/rst00 と指定するような場合には
find . −cpio /dev/rst00
としたほうがより有効です。
多国語対応
patterns には、2 バイトコードを使用できます。
関連事項
ar(1), find(1), ls(1), tar(1), cpio(5V)
バグ
パス名の長さは 128 文字までです。 ユニークかつリンクされたファイルが多すぎる場合には、 プログラムがそれらのファイルを扱うには メモリーの容量が不足して、 リンク情報を失うことになります。 スーパーユーザだけが 特殊ファイルをコピーできます。 −B オプションはいくつかの磁気テープ 装置では使用できません。
NEWS-OSRelease 4.2.1R