Linux 的 sum 命令

sum 是 Linux 系统中一个用于计算和校验文件校验和的实用工具。该命令会为指定文件生成校验和值,主要用于验证文件完整性。

基本用法

基本语法格式:
sum [选项] [文件...]

如果不指定文件参数,sum 会从标准输入读取数据。

主要选项

  1. -r:使用 BSD 校验和算法(默认选项)

    • 采用 16 位校验和计算

    • 输出格式:校验和 块数 文件名

    • 示例:

      bash 复制代码
      sum -r file.txt
  2. -s:使用 System V 校验和算法

    • 采用 32 位校验和计算

    • 输出格式:校验和 块数 文件名

    • 示例:

      bash 复制代码
      sum -s file.txt
  3. --help:显示帮助信息

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

应用场景

  1. 文件完整性验证

    • 在文件传输前后计算校验和,比较确认文件是否完整

    • 示例:

      bash 复制代码
      sum file.txt > checksum.txt
      # 传输文件后
      sum file.txt | diff - checksum.txt
  2. 脚本中的文件校验

    bash 复制代码
    #!/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

注意事项

  1. sum 命令已被更强大的 cksummd5sumsha1sum 等命令取代,这些新工具提供更强的校验算法
  2. BSD 和 System V 算法的计算结果不同,比较校验和时要确保使用相同算法
  3. 对于大型文件或安全敏感场景,建议使用更现代的校验工具

与其他校验命令的比较

命令 算法强度 输出位数 推荐场景
sum 16/32 简单校验
cksum 较强 32 一般用途
md5sum 128 文件完整性验证
sha1sum 更强 160 安全敏感场景
sha256sum 最强 256 高安全性要求场景

虽然 sum 命令在当今 Linux 系统中使用频率降低,但了解它的工作原理对于理解文件校验机制仍有重要意义。

相关推荐
不怕犯错,就怕不做2 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata3 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
傲笑风3 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
weixin_416667963 小时前
【无标题】
运维·服务器·网络
维基框架4 小时前
WIKI 知识库 v1.1.1 正式发布
人工智能·python
一池秋_4 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇4 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
上海云盾-小余6 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠6 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件6 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d