How to check the md5sum and sha256sum of a directory (an entire folder)?

11,354

This little script will make sha512sums of a folder and all its subfolders and save it to a file called sha512checksums:

#!/bin/bash
rm -f sha512checksums
find -type f ! -iname "sha512checksums" -exec sha512sum "{}" + > sha512checksums

And this following scrip lets you check the sums based on the before created file:

#!/bin/bash
rm -f sha512errors
sha512sum -c sha512checksums 2> sha512errors 1>/dev/null
if [ -s sha512errors ]
then
  echo The following errors where found while checking:
  more sha512errors
  rm -f sha512errors
else
  echo All files are ok.
  rm -f sha512errors
fi

Same will work as well for every other sum making algorithm, you only would have to alter the scripts.

Share:
11,354

Related videos on Youtube

J. Doe
Author by

J. Doe

Updated on September 18, 2022

Comments

  • J. Doe
    J. Doe almost 2 years

    In the terminal it's easy to find the md5sum of a single file, but how about for an entire directory? And would the same apply to sha256sum?

  • J. Doe
    J. Doe about 8 years
    So when you said "every other sum making algorithm" you mean sha256sum also and not just sha512sum like you used?
  • Videonauth
    Videonauth about 8 years
    md5sum, sha1sum till sha512sum, just alter the code accordingly.
  • J. Doe
    J. Doe about 8 years
    Ahh. So is this the same method BitTorrent clients use when checking the integrity of a downloaded folder with contents inside?
  • Videonauth
    Videonauth about 8 years
    Kinda, just a bash script to do the checking locally.
  • Arronical
    Arronical about 8 years
    Does this actually output the filenames into the sha512errors file? My system only seems to output the number of failed files in STDOUT.
  • Videonauth
    Videonauth about 8 years
    the file only will contain errors, if there are no errors the file will be empty, and anyways removed at the end.
  • Videonauth
    Videonauth about 8 years
    If you want output leave the 1>/dev/null out