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 系统中使用频率降低,但了解它的工作原理对于理解文件校验机制仍有重要意义。

相关推荐
AOwhisky25 分钟前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void36 分钟前
服务器处理客户端请求的设计方法
linux·运维·网络
司悠40 分钟前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头10642 分钟前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog43 分钟前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo43 分钟前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码20351 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
一段路1 小时前
【虚拟机】Linux常用命令
linux·vim
世辰辰辰1 小时前
批量修改图片/文本名子
开发语言·python·批量修改文件名
daad7772 小时前
继续记录无人机SITL的起飞
linux