cpio コマンドは、標準入力からファイル名を受け取り、それらのファイルを標準出力に書き出すことによって別のデバイスにファイルをコピーします。cpio は汎用コマンドですが、標準入力と標準出力を入出力先を変更する必要があります。cpioは、複数のボリューム (テープカートリッジ) を必要とするデータを扱うときに使用します。
例 1:
次の例は、/work という作業用ディレクトリと、そのサブディレクトリにあるすべてのファイルを、デバイスアドレス (またはデバイス名) が /dev/rmt/0 であるテープドライブにコピーする方法を示しています。
example# cd /work example# ls -R | cpio -ocB > /dev/rmt/0 |
例 2:
次の例は、テープ上にあるファイルをハードディスクにコピーする方法を示しています。
example# cd /work example# cpio -icdB < /dev/rmt/0 |
o オプションは、標準入力を読み取ってパス名の一覧を取得し、それぞれのファイルを標準出力にコピーします。
i オプションは、標準入力からファイルを抽出します。
c オプションは、ヘッダー情報を ASCII フォーマットで書き込むことを指示します。
d オプションは、必要な数のディレクトリを作成することを指示します。
B オプションは、テープドライブとの間でファイルまたはファイルシステムをコピーするときに、使用する必要があるオプションです。このオプションは、入力レコードのブロック化因数が 5120 バイトであることを指示します。
テープからハードディスクにファイルを取り出す (つまりコピーする) ときには、ハードディスクからテープにファイルをコピーしたときと同じブロック化因数を使用する必要があります。したがって、B オプションを指定する必要があります。