次: , 前: Viewing And Editing, 上: Common Tasks


4.2 アーカイブ

findで生成したファイルリストを,ファイルアーカイブプログラムに渡 すことも可能です.GNU tarcpioは,どちらも標準入力からファ イル名のリストを読み込むことが可能です—ヌル(安全な方法),または,空白 (簡単だが危険なデフォルトの方法)のどちらかで分離します.ヌルで名前を分 離する方法を使用するため,`--null'オプションを与えてください.ファ イルアーカイブをファイルに保存したり,テープに書き出したり,ネットワー ク越しの他のマシンに展開したりすることも可能です。

ファイルをアーカイブする一般的なfindの使用方法は,ディレクトリツ リー内のファイルリストをcpioに送る方法です.所有者がディレクトリ に書き込み権限が無い場合は`-depth'を使用し,(その場合)ディレクトリ の権限はそのコンテンツのリストア後にリストアされるため,そのコンテンツ をアーカイブからリストアすることが可能です.こうするためにcpio使 用した例がここにあります.特定のファイルのみアーカイブするために,より 複雑なfindの式を使用することも可能です.

     find . -depth -print0 |
       cpio --create --null --format=crc --file=/dev/nrst0

以下のコマンドを使用して,そのアーカイブをリストアすることが可能です.

     cpio --extract --null --make-dir --unconditional \
       --preserve --file=/dev/nrst0

同じことをtarを使用して行なうコマンドは以下のようになります.

     find . -depth -print0 |
       tar --create --null --files-from=- --file=/dev/nrst0
     
     tar --extract --null --preserve-perm --same-owner \
       --file=/dev/nrst0

一つのマシンから他のマシンに,ディレクトリをコピーする例は以下のように なります.

     find . -depth -print0 | cpio -0o -Hnewc |
       rsh other-machine "cd `pwd` && cpio -i0dum"