スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

大量のファイルコピー

大量のファイルをコピーする

こんなことをしたことはありますか?
例えば、デジカメで撮った写真をパソコンのどこかのフォルダに集めて置いていたが、
パソコンが古くなったので、新しいパソコンを買ってきて、そっちのディスクに移動させる
などが、「大量のファイルをコピー」という作業ですね。

こういう場合は、ファイルの共有を設定しますね。
2台のパソコンは、お互いに通信できるように、ハブという機械(またはルーターとか)に
ネットワークケーブルをつなぎます。

こんな↑感じですね。
ネットワークが繋がったら、エクスプローラーで、相手のパソコン名を打ち込んで捜してみましょう。
名前が出てくればOK.
あとは、共有を設定して、コピーです。
コピーの方法ですが、

  • エクスプローラーでフォルダをつかんで、相手共有フォルダ上でドロップ
  • XCOPYコマンド
  • ROBOCOPYコマンド
  • その他

という感じで複数のやり方があります。

まぁデジカメの写真ならどの方法でも問題はあまり無いと思います。
ややこしいのは、ややこしいファイル達の場合です。
ややこしいファイルは、ややこしい名前が付いていたりします…
ファイル名に記号とかが含まれている場合ですね。

あと、夜間にこっそりコピーさせたい場合とかも「ややこしい」ですね。
これも記号が含まれたファイルをうまくコピーできないことがあります。

昔から使われてきたxcopyはその辺が弱いのですよね。
10000個ファイルをコピーしていて1個だけ失敗しても、判りにくい…
エクスプローラーのドラッグ・ドロップはそんなことはありませんが、そもそも遅いとか。

VistaやWindows7を使っているのであれば、「ROBOCOPY」がオススメです。
堅牢性の高いコピーを英語に訳すと Roburst Copy ということでこういう名前になっているそうです。

さて、Linuxの場合は…

私が思いつくのは、

tar -cvf - . | (cd /home/hoge/fuga ; tar -xvf -)

これです。
tarコマンドによるコピーです。
cp -R でも良いのでは?という意見もあるかもしれませんが、
昔からUnixで定番の記載方法ですね。

tar -cvf - . | (cd /home/hoge/fuga ; tar -xvf -)
これの意味は、カレントディレクトリ(.)のファイルを、tarで読み込み(cvf)
パイプ(|)で次のコマンドに繋げ、
cdでコピー先のディレクトリに移動し、そこでtarで書き込み(xvf、展開)をする、
という動きになります。
tar(ター)コマンドは、元々バックアップとかに使われていたもので、
指定フォルダ配下を根こそぎ吸い取ってくれます。
それをテープに書き込まずにパイプで標準出力に書き出し、
次のtarで、コピー先のディスクに書き戻すわけです。
バックアップ・リストアを一気にやるイメージですね。

ときどき、この記載方法を忘れるので、メモとして書いておきます。

ちなみに元ネタは、
tar -cvf - . | (cd /home/hoge/fuga ; tar -xvf -)
gooの質問サイトでした。
スポンサーサイト

この記事のトラックバックURL

http://alphaiota.blog105.fc2.com/tb.php/462-e5934498

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。