Linux環境でファイル内容の正しさを比較するときどうしてますか?
diffコマンド使うのが多いかと思います。
ですが、
・バイナリファイル同士の同一性を確認できない
・行のわずかな変更や行の順序の差分を検知してしまう(内容が一致してても、順序が異なれば差分としてでてしまう)
という課題がある。
単純にデータの内容の一致を確認したい場合、
sha1sumコマンドを使うことで、
引数に指定したファイルの、SHA1アルゴリズムでの計算されたハッシュ値を表示することができるので、
そのハッシュ値を比較して一致すればファイルの中身は同一であることを保証できる。
コマンド概要
sha1sum ファイル名
コマンド実行例
# sha1sum sample_1.txt
384a8a9f6c477b7be4999dd5118558c32a8ce1b8 sample_1.txt
比較対象のもう一つのファイル
# sha1sum sample_2.txt
384a8a9f6c477b7be4999dd5118558c32a8ce1b8 sample_2.txt
384a8a9f6c477b7be4999dd5118558c32a8ce1b8
が一致するため、ファイル内のデータが同一であると判断できる