约 6071 字

约 30 分钟

#Bash 的 cksum 命令

cksum [OPTION]... [FILE]...

功能

计算和校验文件的校验和。

类型

可执行文件(/usr/bin/cksum),属于 coreutils。

参数

  • OPTION 选项:
    • -a, --algorithm=TYPE - 校验和算法;支持:sysv, crc, md5, sha1, sha224, sha256, sha384, sha512, blake2b, sm3,默认为 crc
    • --base64 - 输出 BASE64 编码而不是十六进制编码
    • -c, --check - 从文件中读取校验和进行校验
    • -l, --length=BITS - 结果保留的长度(二进制位),只能用于 blake2b 不能超过 512 且必须是 8 的倍数
    • --raw - 输出原始数据而不是十六进制编码;通常用于重定向
    • --tag - 生成 BSD 风格的输出(默认)
    • --untagged - 生成反向、无标签(不附带算法类型)风格的输出
    • -z, --zero - 以空字符(\0)作为行的结尾,而不是换行符(\n)
    • --ignore-missing - 校验时忽略缺失的文件
    • --quiet - 校验时不打印成功的消息
    • --status - 校验时不打印任何消息;可以通过返回值检查是否成功
    • --strict - 校验时严格检查格式
    • -w, --warn - 校验时遇到格式不正确的行时产生警告
    • --debug - 校验时显示所使用的实现
    • --help - 显示帮助
    • --version - 显示版本
  • FILE - 文件列表

#示例

计算

$ cksum 1.txt                           # 默认为 CRC
2503682644 3208 1.txt
$ cksum -a sha224 1.txt                 # 指定 SHA224
SHA224 (1.txt) = e97bd3540da0cf24cf74a776a523ed7c89e89d435c9f59070f9dbb64
$ cksum -a sha224 --base64 1.txt        # 输出 BASE64
SHA224 (1.txt) = 6XvTVA2gzyTPdKd2pSPtfInonUNcn1kHD527ZA==
$ cksum -a sha224 --raw 1.txt           # 输出原始数据
 ͤδ§v¥#켉蜃\Y»d
$ cksum -a sha224 --untagged 1.txt      # 输出反向无标签风格,无法用于校验
e97bd3540da0cf24cf74a776a523ed7c89e89d435c9f59070f9dbb64  1.txt

校验

$ cksum -a sha512 1.txt 2.txt 3.txt > sum.txt
$ cksum -c sum.txt                      # 校验
1.txt: OK
2.txt: OK
3.txt: OK

#相关命令

命令说明
b2sum计算和校验 BLAKE2 值
md5sum计算和校验 MD5 值
sha1sum计算和校验 SHA1 值
sha224sum计算和校验 SHA224 值
sha256sum计算和校验 SHA256 值
sha384sum计算和校验 SHA384 值
sha512sum计算和校验 SHA512 值

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/11/2