How to use the command 'sha512sum' (with examples)
The sha512sum
command is a GNU Core Utilities tool that can be used to calculate SHA512 cryptographic checksums for files. A cryptographic checksum is a value that is generated by applying a cryptographic hash function to a file, which serves as a unique identifier for that file. The SHA512 algorithm is a widely used cryptographic hash function that produces a 512-bit value.
Use case 1: Calculate the SHA512 checksum for one or more files
Code:
sha512sum path/to/file1 path/to/file2 ...
Motivation:
This use case is helpful when you want to quickly calculate and display the SHA512 checksums for one or more files.
Explanation:
The sha512sum
command is followed by the paths to the files for which you want to calculate the checksums. Multiple paths can be provided to calculate the checksums for multiple files.
Example output:
8f470a26c90009ed7d6e4c82327b1debddbcb52b87106fe4cb3c0530f0febe88 path/to/file1
1e9a3755ee5b0a68eecf1c418420502c82a68e550257e843c647e5db9ebe4637 path/to/file2
Use case 2: Calculate and save the list of SHA512 checksums to a file
Code:
sha512sum path/to/file1 path/to/file2 ... > path/to/file.sha512
Motivation:
This use case is useful when you want to calculate and save the SHA512 checksums for multiple files to a single file for future reference or verification.
Explanation:
In this case, the sha512sum
command is followed by the paths to the files for which you want to calculate the checksums. The output of the command is then redirected to a file using the >
operator. The file path specified after the >
operator will be the location where the checksums are saved.
Example output:
The checksums for path/to/file1
and path/to/file2
are saved to the path/to/file.sha512
file.
Use case 3: Calculate a SHA512 checksum from stdin
Code:
command | sha512sum
Motivation:
This use case allows you to calculate the SHA512 checksum for the output of a command or the contents of a file without specifying a file path.
Explanation:
In this case, the output of a command is piped (|
) as input to the sha512sum
command. The checksum is then calculated based on the input received from stdin.
Example output:
63be78e00bdd5043bc1196773694b6b56443c3f727879440f473f4defd0c1890 -
Use case 4: Read a file of SHA512 sums and filenames and verify all files have matching checksums
Code:
sha512sum --check path/to/file.sha512
Motivation:
This use case is useful when you want to verify the integrity of files based on a pre-generated file of SHA512 checksums.
Explanation:
The sha512sum
command is followed by the --check
option and the path to the file containing the list of checksums and filenames. This command will verify if the files listed in the file have matching checksums. If a checksum doesn’t match, an error message will be displayed.
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:
sha512sum --check --quiet path/to/file.sha512
Motivation:
This use case is useful when you only want to see output if there are missing files or if verification fails.
Explanation:
The sha512sum
command is followed by the --check
option and the --quiet
option. The --quiet
option makes the command output more concise by only displaying messages for missing files or when verification fails.
Example output:
Use case 6: Only show a message when verification fails, ignoring missing files
Code:
sha512sum --ignore-missing --check --quiet path/to/file.sha512
Motivation:
This use case is useful when you want to ignore missing files but still receive a message if verification fails.
Explanation:
The sha512sum
command is followed by the --ignore-missing
option, the --check
option, and the --quiet
option. The --ignore-missing
option tells the command to ignore any missing files during verification. The --quiet
option ensures that only messages regarding failed verifications are displayed.
Example output:
Conclusion:
The sha512sum
command is a versatile tool for calculating, saving, and verifying SHA512 checksums. It can be used to ensure the integrity of files and detect any changes or tampering that may have occurred. By understanding the various use cases and options of the command, you can leverage its capabilities to suit your specific needs.