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 値を数学的に定義します。
- 評価される n ビットは、次数 n-1 の mod 2 多項式 M (x) の係数と見なされます。 これらの n ビットは、ファイルからのビットです。 最上位ビットは、ファイルの最初の 8 進数の最上位ビットです。 最後のビットは最後の 8 進数の最下位ビットであり、8 進の整数にするためにゼロ・ビットがパッドされ (必要な場合)、後ろにファイル長を 2 進数として表す 1 つ以上の 8 進数が最下位の 8 進数から順に付いています。 この整数を表す 8 進の最小数が使用されます。
- M (x) に x32 を乗算し (つまり、左 32 ビットをシフト)、mod 2 除算を使用して G (x) で除算し、次数 31 の剰余 R (x) を生成します。
- R (x) の係数は、32 ビット・シーケンスであると見なされます。
- ビット・シーケンスは補完され、結果は CRC になります。
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | すべてのファイルが正常に処理されました。 |
| >0 | エラーが発生しました。 |
例
チェックサムおよびサイズ (バイト単位) を表示します。file1およびfile2次のように入力します。
cksum file1 file2次のチェックサムがあるとします。file1ファイル:3995432187以下を含む1390のチェックサムを表示します。file2ファイル:3266927833以下を含む20912バイト数の場合、 cksum コマンドは以下を表示します。
3995432187 1390 file1
3266927833 20912 file2ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/cksum | cksum コマンドが入っています。 |