unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



cksum(1)							     cksum(1)



NAME

  cksum	- Displays the checksum	and byte count of a file

SYNOPSIS

  cksum	[file...]

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  cksum: XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  None

OPERANDS

  file
      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 calcu-
  lates	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 communi-
  cated	over noisy transmission	lines against an exact copy of a trusted
  file.	The comparison made by the cksum command may not be cryptographically
  secure; however, it is unlikely that an accidentally damaged file will pro-
  duce 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:

   1.  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 signi-
       ficant 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 signifi-
       cant octet first. The smallest number of	octets capable of represent-
       ing this	integer	is used.

   2.  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.

   3.  The coefficients	of R(x)	are considered to be a 32-bit sequence.

   4.  The bit sequence	is complemented	and the	result is the CRC.

EXIT STATUS

  The following	exit values are	returned:

  0   All files	were processed successfully.

  >>0  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:

  CMD_ENV
      [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.

  LANG
      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.

  LC_ALL
      If set to	a non-empty string value, overrides the	values of all the
      other internationalization variables.

  LC_CTYPE
      Determines the locale for	the interpretation of sequences	of bytes of
      text data	as characters (for example, single-byte	as opposed to multi-
      byte characters in arguments).

  LC_MESSAGES
      Determines the locale for	the format and contents	of diagnostic mes-
      sages written to standard	error.

  NLSPATH
      Determines the location of message catalogues for	the processing of
      LC_MESSAGES.

SEE ALSO

  Commands:  sum(1), wc(1)

  Standards:  standards(5)