I want to verify integrity of folder. The folder has so many files and folders. How to calculate hash value of directory as a whole on Ubuntu. md5sum calculate at only file level.
Asked
Active
Viewed 1.5k times
4 Answers
7
For a list of md5sums:
find /path/to/dir/ -type f -exec md5sum {} \;
And for an overall md5 checksum:
find /path/to/dir/ -type f -exec md5sum {} \; | md5sum
Example output:
b2d5d3a5e102aae48eb6ff36c602ac75 -
Notice, at a folder with huge size, it can take very long.
chaos
- 28,186
3
Install md5deep with
sudo apt-get install md5deep
The command
md5deep -r {direcotory}
you will get a hash based on all the files in the directory. You can also use md5deep to compare hashes of the files in the dir.
Rinzwind
- 309,379
1
I created dir-fingerprint that can be used to solve that. It creates fingerprint/hash for all the files in directory tree and saves it in a file, also telling you if the fingerprint has changed.
It can be installed with:
$ brew install nejckorasa/tap/dir-fingerprint
and used as:
$ dir-fingerprint <path_to_directory>
with output:
Old [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
New [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
@ <path_to_directory>/.fingerprint
Diff false
and .fingerprint file created
nejckorasa
- 111
0
I published a Python 3 package for that. Quick usage:
$ pip install git+https://github.com/sorgloomer/pyfstools.git@main
...
$ python -m pyfstools hash .
dir 0348bd69ad78babf85960500f5482cfc6f52d7215c5b094c20bed33a17628033
Works on Linux, Windows, works with S3 or GCS storage. See more at pyfstools .
Tamas Hegedus
- 300