ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: デバイスとファイルシステム Oracle Solaris 11.1 Information Library (日本語) |
6. InfiniBand デバイスの使用 (概要/タスク)
11. COMSTAR を使用したストレージデバイスの構成 (タスク)
12. Oracle Solaris Internet Storage Name Service (iSNS) の構成と管理
cpio を使用してファイルシステム間でディレクトリをコピーする
ファイルシステム間でディレクトリをコピーする方法 (cpio)
$ ls | cpio -oc > /dev/rmt/n
cpio コマンドにファイル名のリストを渡します。
cpio コマンドがコピーアウトモード (-o) で動作し、ASCII 文字形式 (-c) でヘッダー情報を書き込むように指定します。これらのオプションによりほかのベンダーのシステムとの互換性を保ちます。
出力ファイルを指定します。
ディレクトリ内のすべてのファイルは、指定したドライブ内のテープにコピーされ、テープ上の既存のファイルが上書きされます。コピーされた合計ブロック数が表示されます。
$ cpio -civt < /dev/rmt/n
cpio コマンドがファイルを ASCII 文字形式で読み込むように指定します。
cpio コマンドがコピーインモードで動作することを指定します。この時点ではファイルをリストするだけです。
ls -l コマンドの出力と同様の形式で出力を表示します。
指定したテープドライブ内のテープ上にあるファイルの内容リストを表示します。
既存の cpio アーカイブの入力ファイルを指定します。
例 17-6 ディレクトリ内のすべてのファイルをテープにコピーする (cpio)
次の例では、 /export/home/kryten ディレクトリ内のすべてのファイルをテープドライブ 0 のテープにコピーする方法を示します。
$ cd /export/home/kryten $ ls | cpio -oc > /dev/rmt/0 1280 blocks $ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks
注 - テープの内容リストを表示するには、cpio コマンドがアーカイブ全体を処理する必要があるため、かなりの時間がかかります。
例 17-7 テープ上のファイルのリストを表示する (cpio)
次の例では、ドライブ 0 のテープに含まれるファイルのリストを表示します。
$ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks
相対パス名を使用してアーカイブを作成した場合、入力ファイルはそれを取り出すときに現在のディレクトリ内のディレクトリとして作成されます。ただし、絶対パス名を指定してアーカイブを作成した場合は、それと同じ絶対パス名を使用してシステム上でファイルが再作成されます。
注意 - 絶対パス名を使用すると、自分のシステム上にある元のファイルを上書きすることになるので危険です。 |
$ cpio -icvd < /dev/rmt/n
標準入力からファイルを取り出します。
cpio コマンドがファイルを ASCII 文字形式で読み込むように指定します。
取り出されたファイルを ls コマンドの出力と同様の形式で表示します。
必要に応じてディレクトリを作成します。
出力ファイルを指定します。
$ ls -l
例 17-8 テープからすべてのファイルを取り出す (cpio)
次の例では、ドライブ 0 のテープからすべてのファイルを取り出す方法を示します。
$ cd /var/tmp cpio -icvd < /dev/rmt/0 answers sc.directives tests 8 blocks $ ls -l
$ cpio -icv "*file" < /dev/rmt/n
標準入力からファイルを取り出します。
cpio コマンドを使用してヘッダーを ASCII 文字形式で読み込むように指定します。
取り出されたファイルを ls コマンドの出力と同様の形式で表示します。
パターンに一致するすべてのファイルを現在のディレクトリにコピーするように指定します。複数のパターンを指定できますが、個々のパターンを二重引用符で囲まなければなりません。
入力ファイルを指定します。
詳細は、cpio(1) のマニュアルページを参照してください。
$ ls -l
例 17-9 指定したファイルをテープから取り出す (cpio)
次の例では、末尾に接尾辞 chapter が付いているすべてのファイルをドライブ 0 のテープから取り出します。
$ cd /home/smith/Book $ cpio -icv "*chapter" < /dev/rmt/0 Boot.chapter Directory.chapter Install.chapter Intro.chapter 31 blocks $ ls -l