Linux常用命令学习笔记:cksum

1. 命令概述

  • 命令名称cksum (英文全拼:checksum)
  • 核心功能:计算文件的CRC(循环冗余校验) 校验码,用于检查文件在传输或存储过程中是否被修改或损坏
  • 校验机制:基于 CRC-32 算法,生成 32 位的校验和
  • 主要用途:文件完整性验证、数据一致性检查

2. 语法格式

cksum [选项] 文件...

3. 常用选项

选项说明
--help显示帮助信息
--version显示版本信息

4. 输出格式

命令执行后会输出三列信息:

校验和 字节数 文件名
  • 第一列:32 位 CRC 校验和(十六进制)
  • 第二列:文件的字节数
  • 第三列:文件名

5. 常用实例

(1) 计算单个文件的校验和

# 计算 file.txt 的 CRC 校验和
cksum file.txt
# 输出示例:1234567890 1024 file.txt

(2) 计算多个文件的校验和

# 计算多个文件的校验和
cksum file1.txt file2.txt file3.txt
# 输出示例:
# 1234567890 1024 file1.txt
# 2345678901 2048 file2.txt
# 3456789012 3072 file3.txt

(3) 结合通配符使用

# 计算当前目录下所有 .txt 文件的校验和
cksum *.txt

# 计算当前目录下所有文件的校验和
cksum *

(4) 将结果保存到文件

# 计算文件校验和并保存到 checksum.txt
cksum file.txt > checksum.txt

# 计算多个文件的校验和并保存
cksum *.txt > checksums.txt

6. 实际应用场景

场景一:文件完整性验证

# 源端计算校验和
cksum important_file.tar.gz > original_checksum.txt

# 传输文件后,在目标端重新计算校验和
cksum important_file.tar.gz > new_checksum.txt

# 比较两个校验和是否一致
diff original_checksum.txt new_checksum.txt
# 如果输出为空,说明文件完整无损

场景二:批量文件完整性检查

# 创建校验和清单
cksum *.tar.gz > backup_checksums.txt

# 定期检查文件是否被修改
cksum *.tar.gz > current_checksums.txt
diff backup_checksums.txt current_checksums.txt

场景三:结合 find 命令使用

# 查找并计算所有 .log 文件的校验和
find /var/log -name "*.log" -exec cksum {} \;

7. 与其他校验命令的区别

命令算法输出长度安全性速度
cksumCRC-3232位
md5sumMD5128位
sha1sumSHA-1160位
sha256sumSHA-256256位最慢

8. 注意事项

  1. 安全性:CRC 校验主要用于检测意外错误(如传输损坏),不适用于安全验证(如防篡改),因为 CRC 容易被伪造
  2. 文件大小:CRC 校验和会随文件内容变化,但不随文件名变化
  3. 空文件:空文件的 CRC 校验和是 0
  4. 性能:CRC 计算速度较快,适合大文件校验

核心要点总结

  • cksum 使用 CRC-32 算法生成 32 位校验和
  • 输出格式:校验和 字节数 文件名
  • 主要用于文件完整性检查,不适用于安全验证
  • 计算速度快,适合大文件校验
  • 实际应用中常与 md5sumsha256sum 等更安全的校验命令配合使用

作 者:南烛
链 接:https://www.itnotes.top/archives/207
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇