在 Mac 文件夹同步后,想快速确认两边内容是否完全一致,必须通过 MD5 哈希校验来验证。仅凭肉眼查看、文件名或文件大小,无法发现静默篡改或内容异常;可以使用终端命令递归计算 MD5 并通过 diff 比对,也可以借助 HashTab 插件右键查看校验和,若有批量需求,还能用脚本自动化比对并高亮差异。

Mac 文件夹同步完成后,一定要确认源文件夹与目标文件夹中的内容完全一致,否则很容易导致备份失效、数据迁移错误,或多人协作时出现版本混乱。这一步不能依赖人工目测,也不能只根据文件名和大小来判断同步是否成功。
用终端命令批量计算并比对MD5值
这种方法直接调用 macOS 系统自带的 md5 工具,无需安装第三方软件,适合任意层级的文件夹同步校验。校验结果基于文件的真实字节内容,即使是隐藏文件或资源派生数据(例如以 ._ 开头的 AppleDouble 文件)也会参与计算,更适合做 Mac 文件夹同步一致性检测。
第一步:打开“终端”,输入以下命令进入源文件夹路径(替换为你自己的实际路径):
cd /path/to/source/folder
第二步:执行递归 MD5 计算,并将结果保存为列表文件:
find . -type f -not -path "*/.*" -exec md5 {} ; > source_md5.txt
第三步:切换到目标文件夹路径:
cd /path/to/destination/folder
第四步:同样生成目标文件夹的 MD5 列表:
find . -type f -not -path "*/.*" -exec md5 {} ; > dest_md5.txt
第五步:逐行比对这两个列表文件,并输出差异项:
diff source_md5.txt dest_md5.txt | grep "^<|^>"
注意:如果命令输出为空,通常表示所有文件的 MD5 哈希值完全一致;只要出现以< 或 > 开头的行,就说明对应路径下的文件内容存在差异。这个校验步骤绝对不能省略,【哪怕文件名、大小、修改时间看上去完全一样,只要 MD5 不一致,就意味着文件内容已经被静默篡改,或者同步过程中曾发生中断】。
用HashTab插件在访达中右键查看单个文件MD5
这种方式更适合快速核对关键文件是否同步成功,例如合同 PDF、软件安装包、数据库导出文件等,而且不需要打开终端,操作对普通用户更友好。
方法一:下载安装 HashTab for macOS(支持 macOS 13~15,提供正式签名版本)→ 安装后重启访达 → 右键任意文件 → 选择“显示简介” → 切换到“校验和”标签页 → 直接查看 MD5 值。
方法二:如果你已经安装了Duplicate File Finder或 Cisdem Duplicate Finder,它们自带的右键菜单同样可以直接计算 MD5。不过这里有一个前提:仅支持已经扫描入库的文件;如果文件刚完成同步、尚未加入数据库,这项功能通常无法直接调用。
这个方法操作非常直观,右键即可查看结果,但【务必核对完整的 32 位十六进制 MD5 字符串,不要只看前 8 位或后 8 位】。
用脚本自动比对两个文件夹并高亮差异文件
如果你需要频繁检查多个同步任务,例如每日自动备份、跨设备镜像或长期归档校验,手动执行 diff 会比较耗时。此时可以使用这条一行脚本,直接输出两个文件夹之间存在差异的文件路径列表。
在终端中粘贴运行(请先 cd 到父目录,确保 source 和 dest 是同级子文件夹):
comm -3 <(cd source && find . -type f -not -path "*/.*" -exec md5 {} ; | sort) <(cd dest && find . -type f -not -path "*/.*" -exec md5 {} ; | sort) | sed 's/^\t//; s/^\t\t//' | cut -d' ' -f3- | sed 's/^.\///'
输出结果会列出所有不匹配文件的相对路径,每行一个,你可以直接复制到访达中,使用 Command+Shift+G 快速跳转定位。
这条命令使用 comm 代替 diff,能够减少 diff 对空行和顺序的敏感问题,先排序再比对会更加稳定可靠;【如果某个文件在源文件夹中存在、但目标文件夹中缺失,它同样会被列出,因此还能同步发现遗漏文件或同步不完整的问题】。
