linux command line find all files and md5sum code example

Example 1: bash get one checksum for many files

# Basic syntax:
find /directory/to/search -type f -exec md5sum {} + | awk '{print $1}' | sort | md5sum > single_md5sum.txt

# Where:
#	- find -type f returns all files (but not directories) in 
#		/directory/to/search and its subdirectories
#	- -exec md5sum {} obtains the md5 checksums for all files returned 
#		with find
#	- awk '{print $1}' | sort returns the sorted md5 checksums
#	- and finally, md5sum is run on the sorted list of md5 checksums to
#		return one md5 checksum for all the files

Example 2: bash how to generate md5 checksums on all files in a directory

# Basic syntax:
md5sum /path/to/directory/* > list_of_checksums

# Note, md5sum will run on any files that are found with your search
# 	pattern. For example:
md5sum /path/*/*files_I_want* > list_of_checksums
# This would process all files than contain the substring "files_I_want"
# in all directories in the "path" directory