The cksum utility calculates and writes to standard output a cyclic redundancy check (CRC) for each input file, and also writes to standard output the number of octets in each file. The CRC used is based on the polynomial used for CRC error checking in the referenced Ethernet standard.
Syntax
cksum[ -C][ file ...] |
-C calculates the CRC checksum in the same way as in previous versions. file A pathname of a file to be checked. The files may be of any type. file not specified: |
Encoding
The encoding for the CRC checksum is defined by the generating polynominal:
Mathematically, the CRC value corresponding to a given file is defined by the following procedure:
|
Locale
The following environment variables affect the execution of cksum: LANG Provide a default value for the internationalization variables that are unset or null. If LANG is unset of null, the corresponding value from the implementation-specific default locale will be used. If any of the internationalization variables contains an invalid setting, the utility will behave as if none of the variables had been defined. LC_ALL If set to a non-empty string value, override the values of all the other internationalization variables. LC_CTYPE Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single- as opposed to multi-byte characters in arguments). LC_CTYPE governs character classes, character conversion (shifting) and the behavior of character classes in regular expressions. LC_MESSAGES Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error. NLSPATH Determine the location of message catalogs for the processing of LC_MESSAGES. |
Stdout (Standard Output)
For each file processed successfully, the cksum utility will write in the following format:
If no file operand was specified, the pathname and its leading space will be omitted. |
Exit status
0 | All files were processed successfully. |
>0 | An error occurred. |
Hint
cksum utility is typically used to quickly compare a suspect file against a trusted version of the same, such as to ensure that files transmitted over noisy media arrive intact. However, this comparison cannot be considered cryptographically secure. The chances of a damaged file producing the same CRC as the original are astronomically small; deliberate deception is difficult, but probably not impossible. Although input files to cksum can be any type, the results need not be what would be expected on character special device files or on file types not described by the XSH specification. Since this document does not specify the block size used when doing input, checksums of character special files need not process all of the data in those files. The algorithm is expressed in terms of a bitstream divided into octets. If a file is transmitted between two systems and undergoes any data transformation (such as moving 8-bit characters into 9-bit bytes), identical CRC values cannot be expected. Implementations performing such transformations may extend cksum to handle such situations. |
Example
Calculating the checksum for test, a file containing a list of the days of the week.
|
See also
sum |