How to use the command 'sha1sum' (with examples)
The ‘sha1sum’ command is used to calculate the SHA1 cryptographic checksums of files. It generates a unique string of characters, known as the checksum or hash, based on the contents of the file. This hash can be used to verify the integrity of the file.
Use case 1: Calculate the SHA1 checksum for one or more files
Code:
sha1sum path/to/file1 path/to/file2 ...
Motivation: Calculating the SHA1 checksum for files can be useful for ensuring that the files have not been altered or corrupted. This is particularly important when sending or receiving files over networks or storing files for long periods of time.
Explanation: The command ‘sha1sum’ is followed by the path to the files for which you want to calculate the checksum. You can provide multiple file paths separated by spaces.
Example output:
0a4a4d40b03c722c35dbd622a960f67bf22bb2b5 path/to/file1
f95cefa7c9531499ab4858179ce43e85d978cd5e path/to/file2
Use case 2: Calculate and save the list of SHA1 checksums to a file
Code:
sha1sum path/to/file1 path/to/file2 ... > path/to/file.sha1
Motivation: Saving the list of SHA1 checksums to a file can be useful for future reference or for sharing with others. This allows others to verify the integrity of the files without having to calculate the checksums themselves.
Explanation: The same command as in use case 1 is used, but the output is redirected to a file using the ‘>’ symbol followed by the path to the output file. This creates a new file or overwrites an existing file with the same name.
Example output: The output is saved to the file ‘path/to/file.sha1’ instead of being displayed on the terminal.
Use case 3: Calculate a SHA1 checksum from stdin
Code:
command | sha1sum
Motivation: Calculating the SHA1 checksum from stdin can be useful when you want to calculate the checksum of dynamically generated or streamed data, such as the output of another command or a data stream from a network.
Explanation: Instead of providing file paths, you pipe the output of another command (denoted as ‘command’ in the code) to ‘sha1sum’. The command’s output is then used as input for calculating the SHA1 checksum.
Example output:
e46dce54e250c5a41301ce5db252227df8533ed7 (checksum calculated based on the command's output)
Use case 4: Read a file of SHA1 sums and filenames and verify all files have matching checksums
Code:
sha1sum --check path/to/file.sha1
Motivation: Verifying the integrity of files by checking their SHA1 checksums against a file containing the checksums can help ensure that the files have not been tampered with or corrupted.
Explanation: The ‘sha1sum’ command is used with the ‘–check’ option followed by the path to the file containing the SHA1 sums and filenames. It reads each line in the file, compares the calculated checksum of the corresponding file, and reports whether the checksums match.
Example output:
path/to/file1: OK
path/to/file2: OK
Use case 5: Only show a message for missing files or when verification fails
Code:
sha1sum --check --quiet path/to/file.sha1
Motivation: This option can be useful when you want to quickly check the integrity of multiple files and only receive a compact report indicating if any files are missing or if verification fails.
Explanation: The ‘–quiet’ option is added to the previous command to suppress the display of files with matching checksums. Only files with missing or failing checksums are shown.
Example output:
path/to/file1: OK
path/to/file2: FAILED
Use case 6: Only show a message when verification fails, ignoring missing files
Code:
sha1sum --ignore-missing --check --quiet path/to/file.sha1
Motivation: By ignoring missing files, this option allows for a more focused report that only indicates when verification fails for existing files.
Explanation: The ‘–ignore-missing’ option is added to the previous command to ignore missing files. This means that only files that exist are checked, and messages are shown only when verification fails.
Example output:
path/to/file2: FAILED
Conclusion:
The ‘sha1sum’ command provides a straightforward way to calculate and verify the SHA1 checksums of files. Whether you need to calculate the checksums for individual files, save them to a file, or verify the integrity of files using pre-calculated checksums, the ‘sha1sum’ command offers the necessary functionality.