ちゃんとコピーできたか確認する方法

Finderでファイルをコピーしたとき、それがちゃんとコピーできたか(ムズカシイ用語ではベリファイと言うらしい)を確認する方法はあるだろうか?

Appleのサポートは、この問いに対して、あくまでコピーしたファイルが正常に開けるかを確認する以外にないと言った。
だが、これは素人向けの答えでしかない。もし、何千何万という数のファイルがあったら、Appleのサポートはそれを全て開いて検証するのだろうか…そう考えてみればすぐに分かる話だ。

いきなりだが、ちゃんとコピーできたか確認する方法は、以下に紹介する通り、いくつかある。

  • rsync
    この手の話題を出すと、必ず登場するのがrsyncというコマンドだ。これはremote syncの略で、ネットワーク間や、PC間、同一PC上の異なるディレクトリなどで、2つのディレクトリを同期(synchronize)することができる。
    rsyncを利用した様々なGUIアプリケーションもあるが、筆者はターミナルで直接叩く派である。スクリプトに応用したりもできる。慣れれば何ということはないが、使い方にやや癖がある。
  • Finder + diff
    Finderは大量のファイルコピーには向かないというのが通説だが、最近のFinderは違うのではと密かに思っている。何より手軽だ。検証が必要な場合、筆者はdiffを使う。
    diffは比較対象の差分を抽出するコマンドだ。diff -rq とターミナルで叩き、コピー元フォルダ、次いでコピーしたフォルダの順にターミナルにドラッグ&ドロップ、リターンキーを押せば、ディレクトリ構造のまま比較してくれる。比較対象がバイナリファイルの場合、違いの有無だけが表示される。
    つまり、この方法でも、ちゃんとコピーできたか確認できる。
  • チェックサム
    ファイルだけならば、コピー後のファイルとコピー元のファイルの、例えばmd5を計算して比較すれば検証はできる。筆者は余りやらない。

実のところ、筆者が最も多用するのは、Finder + diffだ。むろんrsyncも使うが、バックアップなどのように同期すべき場合に限っている。どちらを使うかは、もう、好みの問題でしかない。

なんとなくまとまりに欠ける内容になった。本当はrsyncではなく、diffが良いと書きたかったが、調べるうちにrsyncも、その名の通りコピーの同一性を保証できることが分かって、こうなった。

以上。

参考サイト

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL