Linux 的 sum 命令

sum 是 Linux 系統(tǒng)中一個(gè)用于計(jì)算和校驗(yàn)文件校驗(yàn)和的實(shí)用工具。該命令會(huì)為指定文件生成校驗(yàn)和值,主要用于驗(yàn)證文件完整性。

基本用法

基本語(yǔ)法格式:
sum [選項(xiàng)] [文件...]

如果不指定文件參數(shù),sum 會(huì)從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。

主要選項(xiàng)

  1. -r:使用 BSD 校驗(yàn)和算法(默認(rèn)選項(xiàng))

    • 采用 16 位校驗(yàn)和計(jì)算
    • 輸出格式:校驗(yàn)和 塊數(shù) 文件名
    • 示例:
      sum -r file.txt
      
  2. -s:使用 System V 校驗(yàn)和算法

    • 采用 32 位校驗(yàn)和計(jì)算
    • 輸出格式:校驗(yàn)和 塊數(shù) 文件名
    • 示例:
      sum -s file.txt
      
  3. --help:顯示幫助信息

  4. --version:顯示版本信息

應(yīng)用場(chǎng)景

  1. 文件完整性驗(yàn)證

    • 在文件傳輸前后計(jì)算校驗(yàn)和,比較確認(rèn)文件是否完整
    • 示例:
      sum file.txt > checksum.txt
      # 傳輸文件后
      sum file.txt | diff - checksum.txt
      
  2. 腳本中的文件校驗(yàn)

    #!/bin/bash
    original_sum=$(sum file.txt | awk '{print $1}')
    current_sum=$(sum file.txt | awk '{print $1}')
    
    if [ "$original_sum" != "$current_sum" ]; then
        echo "文件已被修改"
    fi
    

注意事項(xiàng)

  1. sum 命令已被更強(qiáng)大的 cksum、md5sumsha1sum 等命令取代,這些新工具提供更強(qiáng)的校驗(yàn)算法
  2. BSD 和 System V 算法的計(jì)算結(jié)果不同,比較校驗(yàn)和時(shí)要確保使用相同算法
  3. 對(duì)于大型文件或安全敏感場(chǎng)景,建議使用更現(xiàn)代的校驗(yàn)工具

與其他校驗(yàn)命令的比較

命令 算法強(qiáng)度 輸出位數(shù) 推薦場(chǎng)景
sum 16/32 簡(jiǎn)單校驗(yàn)
cksum 較強(qiáng) 32 一般用途
md5sum 強(qiáng) 128 文件完整性驗(yàn)證
sha1sum 更強(qiáng) 160 安全敏感場(chǎng)景
sha256sum 最強(qiáng) 256 高安全性要求場(chǎng)景

雖然 sum 命令在當(dāng)今 Linux 系統(tǒng)中使用頻率降低,但了解它的工作原理對(duì)于理解文件校驗(yàn)機(jī)制仍有重要意義。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容