Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sum(1) [osf1 man page]

sum(1)							      General Commands Manual							    sum(1)

NAME
sum - Displays the checksum and byte count in block-size (1024) units of a file SYNOPSIS
sum [-o | -r] [file...] The sum command reads file and calculates a 16-bit checksum and the byte count in block-size (1024) units in the file. If the file argu- ment is omitted, sum reads standard input. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: sum: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] Uses an algorithm to compute the checksum using word-by-word computation. Uses an alternate algorithm to compute the check- sum (rigorous byte-by-byte computation rather than the word-by-word computation). [Tru64 UNIX] This is the default. OPERANDS
The file for which a checksum is to be computed. If this operand is omitted, standard input is used. DESCRIPTION
The checksum and number of blocks are written to standard output. The sum command is generally used to determine if a file that was copied or communicated over transmission lines is an exact copy of the original. The sum command writes the space used in 1024-byte units. [Tru64 UNIX] The checksum is calculated using a rigorous byte-byte computation by default. System V Compatibility [Tru64 UNIX] The checksum algorithms for the default sum command and the SVID 2 compliant sum command are reversed. The SVID 2 compliant sum command uses the word-by-word algorithm by default and uses the byte-by-byte algorithm if you specify the -r option on the command line. NOTES
The sum utility is marked LEGACY in XCU Issue 5. [Tru64 UNIX] The default algorithm is no longer the word-by-word computation algorithm. It was changed to the 4.3BSD default algorithm. The algorithms used may not be portable, that is, the same checksum may not be produced for the same input on different systems. Portable applications should use cksum. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
To display the checksum of datafile and the number of blocks in this file, enter: sum datafile If the checksum of datafile is 1605 and if the file contains 3 blocks, sum displays: 1605 3 datafile ENVIRONMENT VARIABLES
The following environment variables affect the execution of sum: 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 vari- ables 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 interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: cksum(1), wc(1) Standards: standards(5) sum(1)

Check Out this Related Man Page

CKSUM(1)						    BSD General Commands Manual 						  CKSUM(1)

NAME
cksum, sum -- display file checksums and block counts SYNOPSIS
cksum [-o 1 | 2 | 3] [file ...] sum [file ...] DESCRIPTION
The cksum utility writes to the standard output three whitespace separated fields for each input file. These fields are a checksum CRC, the total number of octets in the file and the file name. If no file name is specified, the standard input is used and no file name is written. The sum utility is identical to the cksum utility, except that it defaults to using historic algorithm 1, as described below. It is provided for compatibility only. The options are as follows: -o Use historic algorithms instead of the (superior) default one. Algorithm 1 is the algorithm used by historic BSD systems as the sum(1) algorithm and by historic AT&T System V UNIX systems as the sum(1) algorithm when using the -r option. This is a 16-bit checksum, with a right rotation before each addition; overflow is dis- carded. Algorithm 2 is the algorithm used by historic AT&T System V UNIX systems as the default sum(1) algorithm. This is a 32-bit checksum, and is defined as follows: s = sum of all bytes; r = s % 2^16 + (s % 2^32) / 2^16; cksum = (r % 2^16) + r / 2^16; Algorithm 3 is what is commonly called the '32bit CRC' algorithm. This is a 32-bit checksum. Both algorithm 1 and 2 write to the standard output the same fields as the default algorithm except that the size of the file in bytes is replaced with the size of the file in blocks. For historic reasons, the block size is 1024 for algorithm 1 and 512 for algorithm 2. Partial blocks are rounded up. The default CRC used is based on the polynomial used for CRC error checking in the networking standard ISO/IEC 8802-3:1989. The CRC checksum 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 are used. M(x) is multiplied by x^32 (i.e., shifted left 32 bits) and divided by G(x) using mod 2 division, producing a remainder R(x) of degree <= 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 cksum and sum utilities exit 0 on success, and >0 if an error occurs. SEE ALSO
md5(1) The default calculation is identical to that given in pseudo-code in the following ACM article. Dilip V. Sarwate, "Computation of Cyclic Redundancy Checks Via Table Lookup", Communications of the ACM, August 1988. STANDARDS
The cksum utility is expected to conform to IEEE Std 1003.2-1992 (``POSIX.2''). HISTORY
The cksum utility appeared in 4.4BSD. BSD
April 28, 1995 BSD
Man Page