cksum 命令

用途

显示文件的校验和与字节数。

语法

cksum [ 文件 ...]

描述

cksum 命令读取 File 参数指定的文件,并计算 32 位循环冗余校验(CRC)校验和和每个文件的字节数。 如果未指定文件,那么 cksum 命令读取标准输入。 将校验和、字节数和文件名写到标准输出。 如果使用标准输入,那么忽略路径名和前导空格。

cksum 命令可用于针对可信文件的精确副本比较通过噪声传输线路复制或通信的暂挂文件。 通过 cksum 命令进行的比较可能不具有密码安全。 然而,偶然破坏的文件将未必产生与原始文件相同的校验和。

cksum 命令使用与 sum 命令不同的算法计算 32 位 CRC 校验和。 cksum 命令使用基于以太网标准帧检查的 CRC 算法。

注: cksum 命令符合 POSIX 1003.2 ,并且保证生成的校验和在所有符合 POSIX 1003.2 的系统上计算相同。

以下生成的多项式定义 CRC 校验和编码:

G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

以下过程从数学上定义符合给定的文件的 CRC 值:

  1. 要求值的 n 位被认为是模 2 多项式 M (x) 度 n-1 的系数。 这些 n 位是来自文件的位。 最高有效位是文件的第一个八位元的最高有效位。 最后的位是最后八位元的最低有效位,使用零位填充(如果必要)来取得完整的八位元,后跟一个或多个八位元将文件的长度表示为二进制值,以最低有效八位元开始。 最小号码的八位元能够表示此整数已使用。
  2. M (x) 乘以 x32 (即,左移 32 位) 并使用 mod 2 除法除以 G (x) ,生成度为 31 的余数 R (x)。
  3. R (x) 的系数被视为 32 位序列。
  4. 位序列是互补的,结果是 CRC。

退出状态

本命令返回以下退出值:

描述
重大安全事件数量 所有文件都已成功处理。
> 0 发生错误。

示例

显示校验和和大小 (以字节为单位)file1file2,请输入:

cksum file1 file2

如果校验和file1文件是3995432187并包含1390字节,以及校验和file2文件是3266927833并包含20912字节, cksum 命令显示:

3995432187       1390    file1
3266927833       20912   file2

文件

描述
/usr/bin/cksum 包含 cksum 命令。