確認のために別のハードドライブにコピーしたいファイルでいっぱいのフォルダのチェックサムを作成するにはどうすればよいですか?

確認のために別のハードドライブにコピーしたいファイルでいっぱいのフォルダのチェックサムを作成するにはどうすればよいですか?

私は2015 MacBook Proを使用しており、OS 12.01 Montereyにアップデートし、端末からzshにアップデートしました。

shasum -a 256以下を使用して、個々のファイルのチェックサムを生成できます。

ただし、フォルダのチェックサムを作成する方法を知る必要があります。

次に、比較チェックサムスクリプトまたはコマンドを生成する方法を知る必要があります。

答え1

これは「scratch」をソースとして使用し、「zork」を新しいコピー(おそらく別のディストリビューションにある)として使用することから始めたいと思います。コピー中にファイルタイムスタンプが保存されるようにこの-aフラグを使用することに注意してください。cp

% (cd scratch ; tar cf - .) | shasum -a 256
a17cacd171d6cbc2f6da028c8167b0602a1146a337f602de71529999fe471e0f  -

% /bin/cp -a scratch zork

% (cd zork ; tar cf - .) | shasum -a 256
a17cacd171d6cbc2f6da028c8167b0602a1146a337f602de71529999fe471e0f  -

2 つの合計を直接比較するには、次を使用できます。

if [[ $((cd scratch ; tar cf - .) | shasum -a 256) == $((cd zork ; tar cf - .) | shasum -a 256) ]]
then
  echo match
else
  echo no match
fi

関連情報