next up previous
Next: 2 ssh Up: 1 tar Previous: 1.4 アーカイブファイルの中のファイル名を見る

1.5 パイプを使って…

アーカイブ・ファイルを作って、コピーして、抜き出して、という仕事を、 パイプを使って一発で済ませることができる。

普通ファイルのコピーは cp コマンドで行うが、 リンクなどがからむと面倒である。もちろん高機能な cp も存在するが、 tar を使うのが定番の解決法である。
dir1 を dir2 にコピーする
  cd dir1
  tar cf - . | (cd dir2 ; tar xpf -)
dir1 を remotehost 上の dir2 にコピーする
  cd dir1
  tar cf - . | ssh remotehost '(cd dir2 ; tar xpf -)'

ファイアウォール越しにファイルを送る
tar cf - ファイル名 | ssh ファイアウォール ssh リモートホスト tar xpf -

ファイアウォール越しにファイルを持って来る
ssh ファイアウォール ssh リモートホスト tar cf - ファイル名 | tar xpf -

tar 以外に dump と restore, あるいは dd などを使うのが適当なこともある。 次の例は、1CD Linux である Knoppix を用いて、 dd コマンドでディスクをコピーする。
  dd if=/dev/hda bs=32768 | ssh コピー先ホスト -l knoppix sudo dd of=/dev/hda


next up previous
Next: 2 ssh Up: 1 tar Previous: 1.4 アーカイブファイルの中のファイル名を見る
Masashi Katsurada
平成19年9月30日