1.6 どのファイルが異なるかをまとめる

1.6 どのファイルが異なるかをまとめる

そして

diff -r

diffこれは可能ですが、ファイルの内容を確認するのに時間がかかります。

両方のファイルがサイズ、最後の修正などが同じであることを確認したいと思います。ただし、ファイルを少しずつ確認することはできません(たとえば、ビデオには時間がかかります)。

別の方法がありますか?

ベストアンサー1

rsyncはデフォルトでメタデータのみを比較します。

rsync -n -a -i --delete source/ target/

説明する:

  • -n比較しますが、実際にコピーまたは削除しないでください。 <--これが重要です! ! 1
  • -aすべてのメタデータの比較
  • -iファイルごとに1行の情報を印刷します。
  • --deleteまた、ターゲットにはあるがソースにはないファイルも報告します。

注:ディレクトリ名の後にスラッシュを追加することは非常に重要です。これはrsyncの問題です。

また注:rsyncは強力なツールです。上記の説明のいくつかは、この質問の文脈で非常に単純化されています。特に-a「すべてのメタデータ」よりはるかに複雑です。

これにより、文字オプションを短縮できます。

rsync -nai --delete source/ target/

-i同じファイルに関する情報を印刷するために2回提供できます。

rsync -naii --delete source/ target/

出力例:

.d..t...... ./            (directory with different timestamp)
>f.st...... modifiedfile  (file with different size and timestamp)
>f+++++++++ newfile       (file in source but not in target)
*deleting   removedfile   (file in target but not in source)
.f          samefile      (file that has same metadata. only with -ii)

rsyncはメタデータのみを比較することを忘れないでください。つまり、ファイルの内容は変更されますが、メタデータは同じままである場合、rsyncはファイルを同じと報告します。これは可能性の低いシナリオです。通常、データが変更されるとメタデータも変更されます。したがって、メタデータが同じ場合は、データも同じであると信頼するか、ファイルデータをビット単位で比較する必要があります。

報酬:進捗状況についてはこちらをご覧ください。rsyncを完了するのに必要な時間や労力を推定しますか?

おすすめ記事