tar
と組み合わせるとハッシュ計算が1回ですむ。
以下 GNU/Linux 環境で確認。
$ tar -cPf - ./dir | md5sum -b
4a6aca1054a4730c8a86029a5788641f *-
チェックサムファイルを作っておけば変更があったかどうかがわかる
$ tar -cPf - ./foobar | md5sum -b | tee dir_checksum
5745affb9fb7e37875bf48c9c7e524c8 *-
$ tar -cPf - ./foobar | md5sum -c ./dir_checksum
-: OK
$ touch foobar/NewFile
$ tar -cPf - ./foobar | md5sum -c ./dir_checksum
-: FAILED
md5sum: WARNING: 1 computed checksum did NOT match