📜  Linux 中的 md5sum 命令示例

📅  最后修改于: 2022-05-13 01:57:28.613000             🧑  作者: Mango

Linux 中的 md5sum 命令示例

md5sum 旨在使用 MD5(消息摘要算法 5)验证数据完整性。

MD5 是 128 位加密哈希,如果使用得当,它可以用来验证文件的真实性和完整性。

例子 :

Input : md5sum /home/mandeep/test/test.cpp
Output : c6779ec2960296ed9a04f08d67f64422  /home/mandeep/test/test.cpp

重要性:
假设,任何人都想安装一个操作系统,所以为了验证它是否是正确的 CD,使用 MD5 校验和验证 .iso 文件总是一个好主意,这样你就不会安装错误的软件(某种病毒,它可以损坏您的文件系统)。

句法 :



md5sum [OPTION]... [FILE]...

它将打印或检查 MD5(128 位)校验和。

它计算文件“test.cpp”的 MD5 校验和
输出 :

c6779ec2960296ed9a04f08d67f64422  /home/mandeep/test/test.cpp

选项 :
-b :以二进制模式读取
-c :从文件中读取 MD5 并检查它们
–tag :创建一个 BSD 风格的校验和
-t :以文本模式阅读(默认情况下)

验证校验和时有用的选项:
–ignore-missing :不报告丢失文件的状态
–quiet :不要为每个成功验证的文件打印 OK
–status :不输出任何东西,状态码显示成功
–strict :对于格式不正确的校验和文件退出非零
-w :警告格式不正确的校验和文件

带选项的命令用法示例:

示例1:将MD5校验和存储在文件中,然后对其进行验证。

# md5sum /home/mandeep/test/test.cpp > checkmd5.md5

它将在文件 checkmd5.md5 中存储 test.cpp 的 MD5 校验和

# md5sum -c checkmd5.md5

它将验证文件的内容



输出 :

/home/mandeep/test/test.cpp: OK

更改文件 checkmd5.md5 的内容后,输出将是:

/home/mandeep/test/test.cpp: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

示例 2:使用 –tag 选项创建 BSD 样式的校验和

# md5sum --tag /home/mandeep/test/test.cpp

输出 :

MD5 (/home/mandeep/test/test.cpp) = c6779ec2960296ed9a04f08d67f64422

例3:-quiet选项,校验校验时可以使用,校验成功不打印OK。

#  md5sum -c --quiet  checkmd5.md5 

不要产生任何输出,意味着它是成功的。

但如果校验和不匹配,则会产生警告。

# md5sum -c --quiet  checkmd5.md5
/home/mandeep/test/test.cpp: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

示例 4:–warn 选项,可用于对格式不正确的校验和文件生成警告。

文件 checkmd5.md5 的内容:

c6779ec2960296ed9a04f08d67f64422 /home/mandeep/test/test.cpp

现在,使用 –warn 选项执行命令



# md5sum -c --warn  checkmd5.md5
/home/mandeep/test/test.cpp: OK

它不会产生任何警告。

现在,在文件 checkmd5.md5 中进行一些格式化

c6779ec2960296ed9a04f08d67f64422 
/home/mandeep/test/test.cpp

现在,执行命令

# md5sum -c --warn  checkmd5.md5

输出 :

md5sum: checkmd5.md5: 1: improperly formatted MD5 checksum line
md5sum: checkmd5.md5: 2: improperly formatted MD5 checksum line
md5sum: checkmd5.md5: no properly formatted MD5 checksum lines found

如果 -warn 替换为 -strict 选项,它将退出格式不正确的校验和行的非零值

# md5sum -c --strict  checkmd5.md5
md5sum: checkmd5.md5: no properly formatted MD5 checksum lines found

– 曼迪普·辛格

参考 :
1) md5sum 维基百科
2) linux 手册页