次: Cleaning Up, 前: Viewing And Editing, 上: Common Tasks
findで生成したファイルリストを,ファイルアーカイブプログラムに渡
すことも可能です.GNU tarとcpioは,どちらも標準入力からファ
イル名のリストを読み込むことが可能です—ヌル(安全な方法),または,空白
(簡単だが危険なデフォルトの方法)のどちらかで分離します.ヌルで名前を分
離する方法を使用するため,`--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"