linux默认自带md5sum和sha1sum,属gnu coreutils;文件名含空格或中文需加引号;提取纯哈希推荐cut -d' ' -f1;校验失败多因路径、换行符或权限问题。

直接用 md5sum 和 sha1sum 就行,不用装任何包
绝大多数 Linux 发行版(包括 Ubuntu、CentOS、Debian)默认自带 md5sum 和 sha1sum,它们属于 GNU Coreutils,开机即用。别折腾 apt/yum install —— 除非你用的是极简嵌入式系统(比如某些 Alpine 容器没装 coreutils),否则直接敲命令就行。
文件名带空格或中文?必须加引号,否则报错
常见错误:md5sum my file.zip 报 No such file or directory,因为 shell 把它拆成两个参数 my 和 file.zip。
- 正确写法:
md5sum "my file.zip"或md5sum 'my file.zip' -
sha1sum同理:sha1sum "配置文档_v2.1.pdf" - 路径含波浪号
~?先展开再引号:md5sum "$HOME/Downloads/app.tar.gz"
只想要纯哈希值(比如塞进脚本比对)?用 cut -d' ' -f1
md5sum 和 sha1sum 默认输出格式是 哈希值 文件名,中间一个空格。想提取纯哈希,别用 awk '{print }' —— 文件名里有空格就切歪了。
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 安全提取:
md5sum "data.bin" | cut -d' ' -f1 - 同理:
sha1sum "script.sh" | cut -d' ' -f1 - 如果文件名确定不含空格,
awk '{print $1}'可以用,但不推荐作为通用写法
校验失败时,90% 是路径或换行符问题,不是哈希算错了
当你用 md5sum -c checksums.md5 或 sha1sum -c checksums.sha1 报 FAILED 或静默退出,先查这三件事:
- 校验文件里写的路径是
./file.txt,但你在/tmp/下执行命令 → 找不到文件,报No such file - 校验文件是从 Windows 编辑/下载的,含
\r\n换行符 →sha1sum -c直接静默失败,先跑dos2unix checksums.sha1 - 文件权限不足(比如只读 root 文件),
sha1sum不提示Permission denied,只显示FAILED;用ls -l file.txt确认可读
哈希值本身不一致,几乎一定意味着内容变了——命令没出错,是环境没对齐。










