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 命令已被更强大的 cksum、md5sum 和 sha1sum 等命令取代,这些新工具提供更强的校验算法
  2. BSD 和 System V 算法的计算结果不同,比较校验和时要确保使用相同算法
  3. 对于大型文件或安全敏感场景,建议使用更现代的校验工具

与其他校验命令的比较

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

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

相关推荐
IMPYLH16 分钟前
Linux 运维基础:从入门到实战的完整指南
linux·运维·php
前端 贾公子23 分钟前
LangGraph == 图的状态(State)管理 (下)
运维·服务器·数据库
Lsetea25 分钟前
curl走HTTPS代理报SSL证书错误:proxy-cacert与cacert双层信任排查
linux·https·ssl证书·curl·代理服务器
星恒随风27 分钟前
Linux进程间通信(二):深入理解System V共享内存、消息队列、信号量与内核IPC资源管理
linux·运维·服务器·笔记·学习·状态模式
yunwei3732 分钟前
eBPF 实例教程:BPF Arena 零拷贝共享内存
linux·后端·性能优化
Marst Code33 分钟前
上位机开发日记 · 第 12 篇 · 测试:设备模拟器是核心资产
python
yangmu320336 分钟前
PLC 设备介绍:工业自动化的“控制大脑”
运维·自动化
IMPYLH42 分钟前
Linux 文件检索:find、locate、grep 与 which 实战指南
linux·运维·服务器
腾讯蓝鲸智云1 小时前
【运维自动化-监控平台】如何配置进程监控之基于进程名规则匹配
运维·自动化·云计算·sass·paas
优化Henry1 小时前
LTE基站传输割接后S1连接失败排查实录
运维·网络·笔记·学习·信息与通信