
md5sum Command in Linux
md5sum is a command-line utility used in Linux to generate and verify MD5 hashes. An MD5 hash is a unique fingerprint of a file, created by running the file's data through the MD5 algorithm. This hash is typically a 32-character hexadecimal number.
md5sum is often used to check the integrity of files by comparing the computed MD5 hash with a known good value. If the hashes match, the file is considered unchanged; if they don't, the file may have been altered.
Table of Contents
Here is a comprehensive guide to the options available with the md5sum command −
Syntax of md5sum Command
The basic syntax for using the command md5sum on Linux is as follows −
md5sum [OPTION]... [FILE]
Where,
- md5sum − The command used to generate or verify MD5 checksums.
- [OPTION]... − Various command-line options to modify the behavior of md5sum.
- [FILE]... − The file for which you want to generate or verify the MD5 hash.
md5sum Command Options
The table below provides an overview of the different options you can use with the md5sum command on Linux −
Options | Description |
---|---|
-b, --binary | Read files in binary mode. |
-c, --check | Verify MD5 checksums against a given list. |
--tag | Create a BSD-style checksum. |
-t, --text | Read files in text mode (this is the default behavior). |
-z, --zero | End each output line with a null character instead of a newline. |
--ignore-missing | Ignore missing files when checking MD5 checksums. |
-quiet | Suppress OK messages for each successfully verified file. |
--status | Output nothing; exit with status code 0 if all files match, non-zero if there are any mismatches. |
--strict | In checksum verification mode, consider incorrectly formatted checksum lines as errors. |
-w, --warn | Warn about improperly formatted checksum lines when verifying. |
--help | Display a help message explaining the command and its options. |
--version | Show the version information for md5sum. |
Examples of md5sum Command in Linux
Check out these practical examples of how to utilize the Linux md5sum command −
- Generating an MD5 Hash
- Verifying an MD5 Hash
- Reading Files in Binary Mode
- Creating a BSD-style Checksum
- Ending Output Lines with a Null Character
- Suppressing OK Messages
Generating an MD5 Hash
Let's say you have a file named example.txt and you want to generate an MD5 hash for it to ensure its integrity. Here's how you do it −
md5sum example.txt

When you run this command, it processes example.txt through the MD5 algorithm and outputs a 32-character hexadecimal number. This number is the MD5 hash, which uniquely represents the contents of example.txt. You can save this hash and use it later to verify that the file has not been altered
Verifying an MD5 Hash
Imagine you have downloaded a file, example.txt, and a corresponding file, example.md5, which contains the expected MD5 hash. To ensure the downloaded file has not been tampered with, you can verify its integrity by running −
md5sum -c example.md5
This command reads the MD5 hash from example.md5 and compares it with the computed hash of example.txt. If the hashes match, it means the file is intact; if not, it indicates the file may have been altered or corrupted.
Reading Files in Binary Mode
Sometimes you need to generate an MD5 hash for a binary file, like an image or an executable. For instance, if you have a binary file called example.bin, you can run −
md5sum -b example.bin
The -b option tells md5sum to read the file in binary mode. This is important for ensuring the hash is computed correctly for binary files, as binary and text files are handled differently by some systems.
Creating a BSD-style Checksum
If you prefer a BSD-style format for your checksum, you can use the --tag option. For example −
md5sum --tag example.txt

This command produces a checksum in a slightly different format, which might be required by some systems or applications that expect this style.
Ending Output Lines with a Null Character
Sometimes, especially when working with scripts, you may need each output line to end with a null character instead of a newline. You can achieve this with the -z option −
md5sum -z example.txt

This command outputs the MD5 hash of example.txt and ends the line with a null character. This can be useful for tools or scripts that expect null-terminated lines.
Suppressing OK Messages
When verifying multiple files, you might want to suppress the OK messages for successfully verified files to reduce clutter. Use the --quiet option like this −
md5sum --quiet -c checksums.md5
This command checks the MD5 hashes listed in checksums.md5 and only prints messages for files that fail the verification. This keeps your output clean and focused on any issues that need attention.
Conclusion
The md5sum is a powerful command for ensuring the integrity and authenticity of files on a Linux system. By understanding and using its various options, you can effectively manage and verify file integrity, helping to maintain the security and reliability of your data. Mastering md5sum is a key skill for system administrators and anyone concerned with data integrity.