chsum(check sum)顯示文件的校驗和與字節數。
語法
cksum [--help][--version][文件...]
描述
cksum 命令讀取 File 參數指定的文件,並計算 32 位循環冗余校驗(CRC)校驗和每個文件的字節數。如果未指定文件,則 cksum 命令讀取標准輸入。將校驗和、字節數和文件名寫到標准輸出。如果使用標准輸入,則忽略路徑名和前導空格。
cksum可用於針對可信文件的精確副本比較通過噪聲傳輸線路復制或通信的暫掛文件。通過 cksum 命令進行的比較可能不具有密碼安全。然而,偶然破壞的文件將未必產生與原始文件相同的校驗和。
cksum 命令使用與 sum 命令不同的算法計算 32 位 CRC 校驗和。cksum 命令使用基於以太網標准幀檢查的 CRC 算法。要獲取有關以太網標准的更多信息,請參閱 AIX 5L Version 5.2 Communi
cations Programming Concepts 中的 Understanding DLCETHER Protocol Support。
注:cksum 命令符合 POSIX 1003.2 並且保證產生的校驗和在所有符合 POSIX 1003.2 的系統上計算都相同。
以下生成的多項式定義 CRC 校驗和編碼:
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
以下過程從數學上定義符合給定的文件的 CRC 值:
要評估的 n 位被認為是 n-1 次的模 2 多項式 M(x)的系數。這些 n 位是來自文件的位。最高有效位是文件的第一個八位元的最高有效位。最後的位是最後八位元的最低有效位,使用零位填充(如果必要)來取得完整的八位元,後跟一個或多個八位元將文件的長度表示為二進制值,以最低有效八位元開始。最小號碼的八位元能夠表示此整數已使用。
M(x) 乘以 x32(就是左移位 32 位),然後使用模 2 除法除以 G(x) 產生 31 位的余數 R(x)。
R(x) 的系數被認為是一個 32 位序列。
補充位序列後,結果為 CRC。
退出狀態
該命令返回以下出口值:
0 所有文件都已成功處理。
>0 發生錯誤。
范例
要顯示linuxeye1.txt和linuxeye2.txt的校驗和與大小,請輸入:
cksum linuxeye1.txt linuxeye2.txt
如果linuxeye1.txt文件的校驗和為195813694並包含36個字節,
file2 文件的校驗和為2777596196並包含26字節,則 cksum 命令顯示:
# echo 'www.linuxeye.com/command/cksum.html' > linuxeye1.txt
# echo 'www.linuxeye.com/command/' > linuxeye2.txt
# cksum linuxeye1.txt linuxeye2.txt
195813694 36 linuxeye1.txt
2777596196 26 linuxeye2.txt