我需要为放置在目录和所有子目录下的特定类型的所有文件(例如 *.py
)计算汇总 MD5 校验和。
最好的方法是什么?
提议的解决方案非常好,但这并不是我所需要的。我正在寻找一种解决方案来获取 单个摘要 校验和,该校验和将唯一地标识整个目录 - 包括其所有子目录的内容。
原文由 victorz 发布,翻译遵循 CC BY-SA 4.0 许可协议
即时创建一个 tar 存档文件并将其通过管道传输到 md5sum
:
tar c dir | md5sum
这会产生一个单一的 MD5 哈希值,该值对于您的文件和子目录设置应该是唯一的。没有在磁盘上创建文件。
原文由 ire_and_curses 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.4k 阅读
4 回答4.1k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答848 阅读✓ 已解决
2 回答3.3k 阅读
1 回答1.1k 阅读✓ 已解决
find 命令列出所有以 .py 结尾的文件。为每个 .py 文件计算 MD5 哈希值。 AWK 用于挑选 MD5 哈希值(忽略文件名,文件名可能不是唯一的)。对 MD5 哈希值进行排序。然后返回这个排序列表的 MD5 哈希值。
我通过复制测试目录对此进行了测试:
我重命名了 ~/pybin2 中的一些文件。
find...md5sum
命令为两个目录返回相同的输出。为了考虑文件布局(路径),如果文件被重命名或移动,校验和会发生变化,可以简化命令:
在带有
md5
的 macOS 上: