我想验证文件夹的完整性。该文件夹中有很多文件和文件夹。如何在 Ubuntu 上计算整个目录的哈希值。md5sum 仅在文件级别计算。
答案1
有关 md5sum 的列表:
find /path/to/dir/ -type f -exec md5sum {} \;
对于整体 md5 校验和:
find /path/to/dir/ -type f -exec md5sum {} \; | md5sum
示例输出:
b2d5d3a5e102aae48eb6ff36c602ac75 -
注意,在具有巨大尺寸的文件夹中,这可能需要很长时间。
答案2
使用以下方式安装 md5deep
sudo apt-get install md5deep
命令
md5deep -r {direcotory}
您将获得基于目录中所有文件的哈希值。您还可以使用 md5deep 比较目录中文件的哈希值。
答案3
我创建目录指纹可用于解决该问题。它为目录树中的所有文件创建指纹/哈希并将其保存在文件中,同时告诉您指纹是否已更改。
它可以与以下设备一起安装:
$ brew install nejckorasa/tap/dir-fingerprint
并用作:
$ dir-fingerprint <path_to_directory>
输出:
Old [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
New [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
@ <path_to_directory>/.fingerprint
Diff false
并.fingerprint
创建文件
答案4
我为此发布了一个 Python 3 包。快速使用:
$ pip install git+https://github.com/sorgloomer/pyfstools.git@main
...
$ python -m pyfstools hash .
dir 0348bd69ad78babf85960500f5482cfc6f52d7215c5b094c20bed33a17628033
适用于 Linux、Windows,可与 S3 或 GCS 存储配合使用。更多信息请参阅pyfstools。