cksum(1)cksum(1)NAMEcksum - Displays the checksum and byte count of a file
SYNOPSIScksum [file...]
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
cksum: XCU5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
OPTIONS
None
OPERANDS
The path name of a file to be checked.
If no file is specified, standard input is used.
DESCRIPTION
The cksum command reads the files specified by the file argument and
calculates a 32-bit checksum Cyclic Redundancy Check (CRC) and the byte
count for each file. If no files are specified, standard input is read.
The checksum, number of bytes, and file name are written to standard
output. If standard input is used, no path name is printed.
The cksum command can be used to compare a suspect file copied or com‐
municated over noisy transmission lines against an exact copy of a
trusted file. The comparison made by the cksum command may not be cryp‐
tographically secure; however, it is unlikely that an accidentally dam‐
aged file will produce the same checksum as the original file.
[Tru64 UNIX] The cksum command uses a different algorithm than the sum
command to calculate the 32-bit checksum CRC. The cksum command uses a
CRC algorithm based on the Ethernet standard frame check. In addition,
the sum block count is an octet count in cksum.
[Tru64 UNIX] The IEEE Std 1003.2-1992 and X/Open CAE specifications
require a slightly different method of calculating checksum values. To
obtain these new standards, set the environment variable CMD_ENV to
xpg4 as follows: export CMD_ENV=xpg4
[Tru64 UNIX] To maintain compatibility if the environment variable
CMD_ENV is not set, the default action of the cksum command reports the
traditional checksum values.
The CRC checksum is obtained in the following way:
The encoding is defined by the generating polynomial:
G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 +
x^7 + x^5 + x^4 + x^2 + x + 1
Mathematically, the CRC value corresponding to a given file is defined
by the following procedure: The n bits to be evaluated are considered
to be the coefficients of a mod 2 polynomial M(x) of degree n-1. These
n bits are the bits from the file, with the most significant bit being
the most significant bit of the first octet of the file and the last
bit being the least significant bit of the last octet, padded with zero
bits (if necessary) to achieve an integral number of octets, followed
by one or more octets representing the length of the file as a binary
value, least significant octet first. The smallest number of octets
capable of representing this integer is used. M(x) is multiplied by
x^32 (that is, shifted left 32 bits) and divided by G(x) using mod 2
division, producing a remainder R(x) of degree less than or equal to
31. The coefficients of R(x) are considered to be a 32-bit sequence.
The bit sequence is complemented and the result is the CRC.
EXIT STATUS
The following exit values are returned: All files were processed suc‐
cessfully. An error occurred.
EXAMPLES
To display the checksum and the size, in bytes, of file1 and file2,
enter: cksum file1 file2 3995432187 1390 file1 3266927833
20912 file2
This output shows that the checksum of the file1 file is 3995432187 and
contains 1390 bytes, and that the checksum of the file2 file is
3266927833 and contains 20912 bytes.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of cksum:
[Tru64 UNIX] If this variable is set to xpg4, the method of calculat‐
ing checksum values specified by IEEE Std 1003.2-1992 (POSIX.2) and
X/Open CAE specifications is used. Provides a default value for the
internationalization variables that are unset or null. If LANG is unset
or null, the corresponding value from the default locale is used. If
any of the internationalization variables contain an invalid setting,
the utility behaves as if none of the variables had been defined. If
set to a non-empty string value, overrides the values of all the other
internationalization variables. Determines the locale for the inter‐
pretation of sequences of bytes of text data as characters (for exam‐
ple, single-byte as opposed to multibyte characters in arguments).
Determines the locale for the format and contents of diagnostic mes‐
sages written to standard error. Determines the location of message
catalogues for the processing of LC_MESSAGES.
SEE ALSO
Commands: sum(1), wc(1)
Standards: standards(5)cksum(1)