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

相关推荐
qq_392690662 小时前
如何处理MongoDB分片集群的连接池耗尽危机_客户端连接与mongos到shard的连接乘数效应
jvm·数据库·python
qq_372154232 小时前
Python异步爬虫如何应对封IP_结合asyncio与代理池实现轮询请求
jvm·数据库·python
AIDF20262 小时前
我们看一份报告的时候主要看什么
运维·服务器·推理·vllm
abc123456sdggfd2 小时前
php怎么处理跨域请求_php如何设置header解决跨域问题详解
jvm·数据库·python
伊玛目的门徒2 小时前
多线程韩漫爬虫下载器
爬虫·python·漫画·韩漫
zhangchaoxies2 小时前
如何在CSS中正确加载本地JPG背景图片
jvm·数据库·python
Hello未来2 小时前
llamafactory 的使用和安装
python·深度学习·语言模型·自然语言处理·nlp
kaico20182 小时前
Ubuntu系统运维
linux·运维·ubuntu
NineData2 小时前
玖章算术NineData成功入选杭州市“新雏鹰”企业
运维·数据库·后端