概述
sum 命令計算指定檔案的校驗和 (checksum) 與區塊 (block) 數,並將結果輸出到標準輸出。這些值可用於快速檢查檔案內容是否已變更。預設情況下,它使用 512 位元組的區塊並以 BSD 相容模式進行計算。
主要特點
- 計算檔案的 16 位元校驗和
- 計算檔案的區塊數(預設 512 位元組或 1KB)
- 簡單的檔案完整性檢查與變更檢測
- 支援 BSD 和 System V 相容模式
主要選項
sum 命令提供了一些選項來更改校驗和的計算方式。
校驗和模式
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`sum` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
了解使用 sum 命令計算檔案校驗和與區塊數的各種方法。
基本校驗和計算 (BSD 模式)
echo 'Hello World' > testfile.txt
sum testfile.txt
計算檔案的預設 (BSD) 校驗和與區塊數。(先建立 testfile.txt 後執行)
System V 模式校驗和計算
sum -s testfile.txt
使用 System V 相容模式計算檔案的校驗和與區塊數。
計算多個檔案的校驗和
echo 'Another file' > anotherfile.txt
sum testfile.txt anotherfile.txt
同時計算多個檔案的校驗和。
從標準輸入計算校驗和
echo 'Data from stdin' | sum
計算通過管道傳遞到標準輸入的資料的校驗和。
提示與注意事項
sum 命令適用於簡單用途,但對於現代檔案完整性檢查,建議使用更強大的工具。
安全警告
sum 產生的 16 位元校驗和容易發生碰撞 (collision)。也就是說,內容不同的兩個檔案可能具有相同的校驗和。因此,它不適合用於重要資料的完整性驗證。
- 安全性低: 16 位元校驗和容易發生碰撞,難以偵測惡意變更。
- 用途有限: 主要用於開發過程中檔案的快速變更檢測等非安全用途。
替代命令
為了進行更強大、更安全的檔案完整性檢查,建議使用以下命令:
- md5sum:計算 MD5 雜湊值(32 位十六進位字元)。
- sha1sum:計算 SHA-1 雜湊值(40 位十六進位字元)。
- sha256sum:計算 SHA-256 雜湊值(64 位十六進位字元)。
- cksum:計算 CRC32 校驗和。比 sum 更強大,但比 md5/sha 系列弱。
理解區塊大小
sum 命令的區塊數是檔案大小除以區塊大小的值。BSD 模式以 512 位元組為基準,System V 模式以 1024 位元組 (1KB) 為基準。
- BSD 區塊: 512 位元組(預設值)
- System V 區塊: 1024 位元組 (1KB)