Oracle® Solaris 11.2 でのファイルシステムの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

ファイルシステム間でディレクトリをコピーする方法 (cpio)

  1. 管理者になります。

    詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. 目的のディレクトリに移動します。
    # cd filesystem1
  3. find コマンドと cpio コマンドを組み合わせて使用して、filesystem1 から filesystem2 へディレクトリツリーをコピーします。
    # find . -print -depth | cpio -pdm filesystem2
    .

    現在の作業ディレクトリで処理を始めます。

    –print

    ファイル名を出力します。

    –depth

    ディレクトリ階層を下降し、すべてのファイル名を出力します。

    –p

    ファイルのリストを作成します。

    –d

    必要に応じてディレクトリを作成します。

    –m

    ディレクトリ上で正しい変更時間を設定します。

    詳細は、cpio(1) のマニュアルページを参照してください。

    指定したディレクトリ名からファイルがコピーされます。シンボリックリンクは保持されます。

    また、–u オプションも指定できます。このオプションは、無条件にコピーを実行します。u オプションを指定しない場合、古いファイルが、新しいファイルで置換されません。このオプションは、ディレクトリごとコピーするときに、コピーするファイルの一部がすでにターゲットのディレクトリ中に存在する場合に便利です。

  4. コピー先ディレクトリの内容を表示して、コピーに成功したかどうかを確認しま す。
    # cd filesystem2
    # ls
  5. ソースディレクトリが不要な場合は削除します。
    # rm -rf filesystem1
使用例 4-1  ファイルシステム間でディレクトリをコピーする (cpio)
# cd /data1
# find . -print -depth | cpio -pdm /data2
19013 blocks
# cd /data2
# ls
# rm -rf /data1