当前位置: 首页 > news >正文

md5sum -c用法详解

好的,我们来详细讲解一下 md5sum -c 的用法。

一句话概括

md5sum -c 是用来 校验文件完整性 的。它通过读取一个包含了文件路径和其对应 MD5 校验值的清单文件,来检查当前目录下的文件是否与清单中记录的值匹配,从而判断文件是否被修改过或损坏。


为什么需要它?

在下载文件(尤其是大型文件,如操作系统镜像、软件包)或进行重要文件备份时,我们常常会看到一个附加的 .md5.sha256 文件。这个文件就是校验文件。

它的作用是:

  1. 验证完整性:确保你下载的文件每一个字节都与原始文件一致,没有在传输过程中因网络问题而损坏。
  2. 验证真实性:确保文件没有被第三方篡改(虽然MD5现在已不安全,可用于加密校验,但此用途仍很常见)。

md5sum -c 就是使用这个校验文件来自动化完成验证过程的命令。


使用方法与步骤

使用 md5sum -c 通常分为两步:

第1步:生成校验文件(通常由文件发布者做)

假设你有两个重要文件:backup.tar.gzimportant_document.pdf。你想为它们创建一个校验清单。

md5sum backup.tar.gz important_document.pdf > checklist.md5

这条命令做了两件事:

  1. 计算 backup.tar.gzimportant_document.pdf 的 MD5 值。
  2. 将结果输出(重定向 >)到 checklist.md5 文件中。

查看 checklist.md5 文件的内容,格式应该是这样的:

d41d8cd98f00b204e9800998ecf8427e  backup.tar.gz
a5d6b8a29d82a155d838d6f89e938427  important_document.pdf
  • 格式[MD5校验和] [两个空格] [文件名]

非常重要:这个文件名部分必须与你要校验的文件名完全一致。如果文件名是相对路径,校验时也需要在相对路径下执行。

第2步:使用 -c 选项进行校验(这是你的操作)

当你拿到文件和对应的 checklist.md5 文件后,把它们放在同一个目录下,然后运行:

md5sum -c checklist.md5
输出结果解读
  • 成功情况:如果所有文件校验都通过,你会看到:

    backup.tar.gz: OK
    important_document.pdf: OK
    
  • 失败情况:如果某个文件被修改或损坏,你会看到:

    backup.tar.gz: OK
    important_document.pdf: FAILED
    md5sum: WARNING: 1 computed checksum did NOT match
    

    这表示 important_document.pdf 文件的 MD5 值与 checklist.md5 中记录的不匹配,文件很可能已损坏或被更改。


实际工作流示例

假设你从 Ubuntu 官网下载了一个系统镜像和一个校验文件:

  1. 文件1:ubuntu-22.04.3-desktop-amd64.iso
  2. 文件2:ubuntu-22.04.3-desktop-amd64.iso.md5

校验步骤:

  1. 将这两个文件放在同一个文件夹里。
  2. 打开终端,进入这个文件夹。
  3. 运行命令:
    md5sum -c ubuntu-22.04.3-desktop-amd64.iso.md5
    
  4. 如果输出 ubuntu-22.04.3-desktop-amd64.iso: OK,那么恭喜,你下载的镜像文件完好无损!

常见问题与技巧

  1. 校验文件格式错误

    • 错误:如果 checklist.md5 文件格式不对(比如缺少两个空格),md5sum -c 会报错:md5sum: checklist.md5: no properly formatted MD5 checksum lines found
    • 解决:检查并确保格式是 [校验和][空格][空格][文件名]
  2. 文件路径问题

    • checklist.md5 里记录的是 backup.tar.gz,但你实际的文件在 ./backups/backup.tar.gz,这会导致找不到文件。
    • 解决:在运行 md5sum -c 时,确保终端的工作目录使得文件名能够匹配。或者,在生成校验文件时使用相对路径。
  3. 检查多个校验文件
    你可以一次性检查多个 .md5 文件:

    md5sum -c *.md5
    
  4. 仅显示失败结果
    如果你只想看哪些文件失败了(在文件很多时很有用),可以使用 --quiet 选项:

    md5sum -c --quiet checklist.md5
    

    这样,只有校验失败的文件才会输出信息。

总结

操作命令
生成校验文件md5sum file1 file2 > checklist.md5
验证校验文件md5sum -c checklist.md5

记住核心概念:-c 就是 “check”(检查)的意思,它需要一个预先准备好的校验清单文件来工作。


文章转载自:

http://2uEDIUXu.rxydr.cn
http://BgJ7wYaA.rxydr.cn
http://0ZbnZM2L.rxydr.cn
http://DX1u6ose.rxydr.cn
http://FfT2oSey.rxydr.cn
http://pPNYnsJL.rxydr.cn
http://PQwbQbku.rxydr.cn
http://9Kej3lBW.rxydr.cn
http://mFRMvnXN.rxydr.cn
http://5jWNOweo.rxydr.cn
http://mLVG3z9W.rxydr.cn
http://HpwXwNq0.rxydr.cn
http://pw7a03mF.rxydr.cn
http://o6ClGZ6Z.rxydr.cn
http://UHvTeUTN.rxydr.cn
http://FIqkMVqQ.rxydr.cn
http://K2nvROUU.rxydr.cn
http://f7Kv6OV8.rxydr.cn
http://dzm3FNR0.rxydr.cn
http://5JzbLbB6.rxydr.cn
http://906wgspS.rxydr.cn
http://2xBPHYfB.rxydr.cn
http://bSY6T1JM.rxydr.cn
http://cK27Wpik.rxydr.cn
http://NgH7iP0B.rxydr.cn
http://Aw8snIDv.rxydr.cn
http://Ilo7TsBN.rxydr.cn
http://Xl0jPqgF.rxydr.cn
http://7fcC8jCR.rxydr.cn
http://02BRcQ9b.rxydr.cn
http://www.dtcms.com/a/362702.html

相关文章:

  • 【Vue2 ✨】Vue2 入门之旅(八):过渡与动画
  • 基础文本处理工具与文本三剑客其二sed awk
  • unity 中的 gradle building 加速(可能无用,导致包体异常)
  • 【C++详解】C++11(三) 可变参数模板、包扩展、empalce系列接⼝、新的类功能
  • MyBatis:让 SQL 与代码和谐共处的持久层框架
  • React学习教程,从入门到精通, React 入门指南:React JSX 语法知识点详解及案例代码(8)
  • React 学习笔记4 Diffing/脚手架
  • go命令行工具:如何在现有的工程里加入使用cobra
  • 01 - 网页和web标准
  • AI文档产品与传统OCR软件的根本区别是什么?
  • Java集合源码解析之LinkedList
  • HTTPS如何保证数据传输过程中的安全性?
  • mapbox高阶,结合threejs(threebox)添加管道,实现管道流动效果
  • 红楼梦 HTML 分析 - 娇杏为何侥幸
  • ES6和CommonJS模块区别
  • Linux系统强大的命令行工具之fuser
  • 江协科技-1-1软件开发与2-1新建工程
  • C语言精选100道编程题(附有图解和源码)
  • 控制系统仿真之PID参数整定的Z-N法(弯曲切线法)(十)
  • K6 html压力测试报告中参数详解以及常见问题解析
  • 算法题打卡力扣第3题:无重复字符的最长子串(mid)
  • 在线拍卖|基于Springboot+vue的在线拍卖管理系统(源码+数据库+文档)
  • F5发布后量子API安全解决方案,以AI驱动全面防护应对量子计算威胁
  • 面阵 vs 线阵相机:怎么选不踩坑?选型公式直接套用
  • HTML第二课:块级元素
  • 【实时Linux实战系列】采用实时Linux构建无人机控制系统
  • Vue基础知识-Vue中v-cloak、v-text、v-html、v-once、v-pre指令详解
  • 【Doris入门】Doris数据表模型:聚合模型(Aggregate Key Model)详解
  • 数论常见公式定理大全
  • C++学习——继承