|Operating system||Unix, Unix-like|
cksum is a command in Unix and Unix-like operating systems that generates a checksum value for a file or stream of data. The cksum command reads each file given in its arguments, or standard input if no arguments are provided, and outputs the file's 32-bit cyclic redundancy check (CRC) checksum and byte count. The CRC output by cksum is different from the CRC-32 used in zip, PNG and zlib.
cksum command can be used to verify that files transferred by unreliable means arrived intact. However, the CRC checksum calculated by the
cksum command is not cryptographically secure: While it guards against accidental corruption (it is unlikely that the corrupted data will have the same checksum as the intended data), it is not difficult for an attacker to deliberately corrupt the file in a specific way that its checksum is unchanged. Unix-like systems typically include other commands for cryptographically secure checksums, such as sha256sum.
Latest GNU Coreutils cksum provides additional checksum algorithms via -a option, as an extension beyond POSIX.
cksum command, as found on most Unix and Unix-like operating systems (including Linux, *BSD, macOS, and Solaris) uses a CRC algorithm based on the ethernet standard frame check and is therefore interoperable between implementations. This is in contrast to the sum command, which is not as interoperable and not compatible with the CRC-32 calculation. On Tru64 operating systems, the
cksum command returns a different CRC value, unless the environment variable
CMD_ENV is set to
cksum [FILE]... cksum [OPTION]
$ cksum test.txt 4038471504 75 test.txt
4038471504 represents the checksum value and
75 represents the file size of
- "cksum: Print CRC checksum and byte counts". gnu.org. Retrieved 2015-07-05.
- "Catalogue of parametrised CRC algorithms". reveng.sourceforge.io.
- "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
- "cksum(1)". www.freebsd.org. April 28, 1995. Retrieved 2023-01-07.
- "cksum(1) - NetBSD Manual Pages". man.netbsd.org. December 14, 2019. Retrieved 2023-01-07.
- "cksum(1) - OpenBSD manual pages". man.openbsd.org. August 4, 2022. Retrieved 2023-01-07.
- "cksum - man pages section 1: User Commands". docs.oracle.com. Retrieved 2023-01-07.
- "cksum". pubs.opengroup.org.