Linux 文件完整性校验利器:cksum 命令超详细教程

📅 发布时间:2026/8/1 7:54:24
Linux 文件完整性校验利器:cksum 命令超详细教程
1. 命令简介cksum 命令用于计算并显示文件的循环冗余校验CRC值和字节数。其主要用途是验证文件在传输或存储过程中是否保持完整、未被损坏。通过比较源文件和目标文件的 CRC 值可以快速判断文件内容是否一致。2. 语法格式bash运行cksum [OPTION]... [FILE]...[OPTION]可选指定命令选项。[FILE]可选指定要校验的一个或多个文件。如果未指定文件或文件名为 -则从标准输入读取数据。3. 常用选项及说明表格选项说明--help显示帮助信息并退出。--version显示版本信息并退出。注意cksum 命令本身选项较少其主要功能通过参数文件实现。4. 示例用法4.1 计算单个文件的 CRC 校验值bash运行cksum file.txt输出格式为CRC 校验值 字节数 文件名 例如plaintext3825528456 1024 file.txt4.2 计算多个文件的 CRC 校验值bash运行cksum file1.txt file2.txt输出每个文件的校验信息每行一个。4.3 从标准输入读取数据并计算 CRCbash运行echo Hello World | cksum或bash运行cksum -然后输入内容按 CtrlD 结束输入。输出仅包含 CRC 值和字节数无文件名。4.4 结合 find 命令批量校验文件bash运行find . -name *.log -exec cksum {} \;对当前目录及其子目录中所有 .log 文件进行 CRC 校验。4.5 将校验结果保存到文件bash运行cksum important.dat important.dat.cksum生成校验文件后续可使用该文件进行完整性验证。4.6 验证文件是否未被修改bash运行# 生成原始校验值 cksum original.txt original.crc # 后续验证重新计算校验值并比较 cksum original.txt | diff - original.crc如果输出为空说明文件未被修改否则文件可能已损坏或被更改。5. 注意事项CRC 并非加密哈希CRC 校验主要用于错误检测如传输错误不适用于安全场景如验证文件是否被恶意篡改。对于安全性要求较高的场景应使用加密哈希工具如 sha256sum、md5sum。跨平台一致性cksum 命令使用的 CRC 算法基于 POSIX 标准在大多数 Unix-like 系统包括 Linux 和 macOS上结果一致。但与某些 Windows 工具计算的 CRC 可能不同。文件名处理输出中的文件名是直接使用参数提供的名称。如果文件被移动或重命名校验值不会变化但输出中的文件名不会自动更新。大文件处理cksum 可以处理大文件但计算 CRC 时需要读取整个文件内容对于非常大的文件可能需要较长时间。符号链接默认情况下cksum 会检查符号链接指向的实际文件内容而非链接本身。如需校验链接文件本身即链接的路径字符串需先将路径输出到标准输入例如bash运行echo -n /path/to/link | cksum空文件处理空文件的 CRC 值为 0字节数为 0。例如bash运行touch empty.txt cksum empty.txt输出plaintext0 0 empty.txt