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 手册页