必须用SHA256校验值验证文件完整性,命令为sha256sum filename或sha256sum -c checksumfile;需严格比对哈希值,处理空格文件名须加双引号,批量校验推荐find与-print0/-0配合使用。

你需要确认刚下载的系统镜像或软件包在保存过程中没被损坏或篡改,这时必须用命令窗口执行安全校验,不能只看文件大小或依赖肉眼判断。
生成并比对SHA256校验值
这一步是当前最主流的安全校验方式,SHA256比MD5抗碰撞能力强得多,适合验证软件发布包、系统ISO等关键文件。
第一步:打开终端,进入存放目标文件的目录,比如你的下载目录:cd ~/Downloads
第二步:运行命令生成校验值:sha256sum ubuntu-24.04-desktop-amd64.iso
第三步:将输出的64位哈希值(空格左侧部分)与官网提供的SHA256值逐字符比对,【必须完全一致,包括大小写和所有字符】。哪怕只差一个字母,就说明文件已损坏或被替换。
用校验文件自动验证
当官方提供的是一个 .sha256 或 .sha256sum 文件时,别手动比对,让系统自动完成验证。
方法一:确保校验文件与待检文件同名且在同一目录下,例如:ubuntu-24.04-desktop-amd64.iso.sha256
直接执行:sha256sum -c ubuntu-24.04-desktop-amd64.iso.sha256
若输出 ubuntu-24.04-desktop-amd64.iso: OK,表示通过;若显示 FAILED,立即停止使用该文件。
方法二:校验文件名不匹配或路径不同?用绝对路径调用:sha256sum -c /path/to/official-checksums.sha256,此时待检文件也需按校验文件中记录的相对/绝对路径存在,否则报 No such file。
处理含空格或特殊字符的文件名
遇到文件名带空格、括号、中文时,md5sum或sha256sum会把它们误判为多个参数而报错。
正确做法是给文件名加英文双引号:sha256sum "My Downloaded File (v2.1).tar.gz"
如果不加引号,命令会拆成 sha256sum My Downloaded File (v2.1).tar.gz,shell 把括号当语法符号处理,直接报错或执行失败。
批量校验当前目录所有文件
当你有一堆配置文件、脚本或日志需要定期核对是否被意外修改,可以用 find + sha256sum 一次性生成完整清单。
运行以下命令生成校验文件:find . -type f -not -name "*.sha256" -print0 | xargs -0 sha256sum > all_files.sha256
下次校验时,回到同一目录执行:sha256sum -c all_files.sha256
注意:【-print0 和 -0 必须配对使用,否则含空格的文件名会导致校验失败】。这个组合能安全处理任意文件名,是生产环境推荐做法。

















