上篇文章介绍了MD5和md5命令的使用,这篇文章继续介绍md5sum命令的使用方法。


MD5介绍 与 验证环境

请参看: https://liumiaocn.blog.csdn.net/article/details/108178856

liumiaocn:Desktop liumiao$ md5sum --version
md5sum (GNU coreutils) 8.31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.Written by Ulrich Drepper, Scott Miller, and David Madore.
liumiaocn:Desktop liumiao$

命令:md5sum

使用方式1: 生成指定文件的MD5值

执行命令:md5 文件名称

  • 执行示例
liumiaocn:Desktop liumiao$ echo -n "liumiao" >sourcefile
liumiaocn:Desktop liumiao$ md5sum sourcefile
5fbb93bc914969ed10eb26e8817a5da6  sourcefile
liumiaocn:Desktop liumiao$

注:生成的MD5值中不包含换行,如果包含换行符,MD5值为

liumiaocn:Desktop liumiao$ echo "liumiao" |md5sum
acfac80dc86bf1863f902367090fa47c  -
liumiaocn:Desktop liumiao$

另外,md5值与使用md5命令生成的也相同

liumiaocn:Desktop liumiao$ echo -n "liumiao" | md5
5fbb93bc914969ed10eb26e8817a5da6
liumiaocn:Desktop liumiao$ echo "liumiao" | md5
acfac80dc86bf1863f902367090fa47c
liumiaocn:Desktop liumiao$

使用方式2: 通过MD5值验证文件完整性

提供了-c参数,用于校验是否一致

执行命令:md5 -c 包含MD5值和文件名的文件

文件内容格式:MD5值 文件名
注意事项:文件名如果是相对路径的话,需要注意“包含MD5值和文件名的文件”的位置不可随意移动

  • 执行示例
liumiaocn:Desktop liumiao$ md5sum sourcefile >sourcefile.md5
liumiaocn:Desktop liumiao$ cat sourcefile.md5
5fbb93bc914969ed10eb26e8817a5da6  sourcefile
liumiaocn:Desktop liumiao$
liumiaocn:Desktop liumiao$ md5sum -c sourcefile.md5
sourcefile: OK
liumiaocn:Desktop liumiao$

使用方式3: 验证多个文件验证文件完整性

执行命令:md5 -c MD5值和校验文件

  • 执行示例
liumiaocn:Desktop liumiao$ which md5sum
/usr/local/bin/md5sum
liumiaocn:Desktop liumiao$ md5sum /usr/local/bin/md5sum
982133ed548e3623b31754d4908f3e27  /usr/local/bin/md5sum
liumiaocn:Desktop liumiao$ md5sum /usr/local/bin/md5sum >>sourcefile.md5
liumiaocn:Desktop liumiao$ cat sourcefile.md5
5fbb93bc914969ed10eb26e8817a5da6  sourcefile
982133ed548e3623b31754d4908f3e27  /usr/local/bin/md5sum
liumiaocn:Desktop liumiao$ md5sum -c sourcefile.md5
sourcefile: OK
/usr/local/bin/md5sum: OK
liumiaocn:Desktop liumiao$

使用方式4: status和quiet选项

执行命令:md5 -c --status --quiet MD5值和校验文件

  • 执行示例

首先准备错误的目录信息的文件sourcefile.md5.error

liumiaocn:Desktop liumiao$ diff sourcefile.md5 sourcefile.md5.error
1c1
< 5fbb93bc914969ed10eb26e8817a5da6  sourcefile
---
> 5fbb93bc914969ed10eb26e8817a5da6  sourcefile/xx
liumiaocn:Desktop liumiao$

不加其他选项时,输出是这样的

liumiaocn:Desktop liumiao$ md5sum -c sourcefile.md5.error
md5sum: sourcefile/xx: Not a directory
sourcefile/xx: FAILED open or read
/usr/local/bin/md5sum: OK
md5sum: WARNING: 1 listed file could not be read
liumiaocn:Desktop liumiao$

可以看到,加上quiet之后,本来会输出的OK行的信息不再显示

liumiaocn:Desktop liumiao$ md5sum -c --quiet sourcefile.md5.error
md5sum: sourcefile/xx: Not a directory
sourcefile/xx: FAILED open or read
md5sum: WARNING: 1 listed file could not be read
liumiaocn:Desktop liumiao$ echo $?
1
liumiaocn:Desktop liumiao$

加上status选项之后,输出结果如下所示

liumiaocn:Desktop liumiao$ md5sum -c --quiet --status sourcefile.md5.error
md5sum: sourcefile/xx: Not a directory
liumiaocn:Desktop liumiao$ echo $?
1
liumiaocn:Desktop liumiao$

BASH脚本基础:使用md5sum命令生成消息摘要指纹与验证相关推荐

  1. BASH脚本基础:使用md5命令生成消息摘要指纹

    这篇文章介绍一下MD5和md5命令的使用方法. MD5:信息摘要算法 什么是消息摘要算法 信息摘要算法MD5是Message-Digest Algorithm的缩写,它以散列函数方式对文件可以产生出一 ...

  2. PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

    PHP执行shell脚本或者Bash脚本文件实例. system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数. 1.通过system函数执行 使用实例: <?ph ...

  3. bash脚本基础知识

    一.简介 1.bash脚本是什么? bash是一个为GNU计划编写的Unix shell.它是一些命令的堆积,配合简单的语法组成. 二.基础知识 1.脚本调试 1)bash -n /path/to/s ...

  4. BASH脚本基础:与、或、格式

    这篇文章介绍一下BASH下的常用的与.或同编写格式的基础知识. 常用场景 之所以将这三个基础知识点放到一起,是因为在实际的使用中,当需要在将若干条语句在一行执行时,除了简顺次执行之外,可能还需要一些简 ...

  5. Bash脚本基础:环境变量定义与使用

    脚本中会遇到很多使用环境变量的地方,这篇文章介绍一下BASH中使用的基础知识. 环境变量的分类 环境变量有很多中分类,根据环境变量的定义方式可以分为自定义环境变量和系统环境变量.自定义环境变量为使用者 ...

  6. BASH脚本基础:环境变量PROMPT_COMMAND介绍

    这篇文章介绍一下Bash中的环境变量PROMPT_COMMAND. PROMPT_COMMAND 是什么 PS1-PS4介绍了一些用于提示信息控制的环境变量,而在此之前可以进行回调的一个环境变量就是P ...

  7. BASH脚本基础:环境变量PS1介绍

    这篇文章介绍一下Bash中的环境变量PS1. PS1 是什么 PS1 是Prompt String 1的缩写,它是Linux/Unix下的一个用于控制提示信息的环境变量,PS1是交互式的shell用于 ...

  8. linux刷命令脚本,linux – 如何调试bash脚本并获得每个命令的执行时间

    这是尽可能接近内置bash调试工具的答案,因为它从脚本执行开始时间提供了整体时序信息. 在脚本的顶部添加此项以进行第二次计数: export PS4='+[${SECONDS}s][${BASH_SO ...

  9. BASH脚本基础:环境变量PS2介绍

    这篇文章介绍一下Bash中的环境变量PS2. PS2 是什么 PS2 是Prompt String 2的缩写,它是Linux/Unix下的一个用于控制提示信息的环境变量,PS2是交互式的shell中一 ...

  10. Windows 下的批处理脚本基础——网络相关命令(用户操作命令、用户组操作命令)

    自从优盘中毒,就开始发现学习批处理脚本的重要性.一起加油冲冲冲!!! 干正事!!! 目录 用户操作命令 查看用户帮助信息 查看用户详细帮助信息 查看用户详细信息 查看用户账户 删除用户 创建用户 用户 ...

最新文章

  1. Android文件系统深入剖析
  2. Swift 中 String 取下标及性能问题
  3. 来场产品设计师的对决吧!MacBook、大疆OSMO等你拿
  4. 《leetcode》search-insert-position
  5. nodejs---常用npm命令
  6. java clex 中的 IloLPMatrix
  7. 小白学习Java技术知识点总结,其实学习Java没那么难
  8. vs code .lua.txt 后缀文件识别为lua的配置
  9. web.xml文件中的web-app元素 部署
  10. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-2.微服务下登录检验解决方案 JWT讲解...
  11. “九”答不可 | 量子计算会“带来革命性改变”吗?
  12. OFFICE | WORD VBA 合集
  13. rapidxml解析xml文档
  14. 信道估计之MMSE算法
  15. nginx安装部署ssl证书
  16. 阿里云OSS上传报错:InvalidAccessKeyIdError
  17. c语言三角形的周长和面积公式,计算三角形的周长和面积
  18. 区块链之开发命令行操作模块
  19. js 对json对象排序 字符串 拼音等排序
  20. 股票自选股基本函数大全-7

热门文章

  1. 在树莓派下使用dlib及resnet的人脸检测及识别
  2. 以太坊开发入门,完整入门
  3. Windows Dos命令
  4. 助焊剂各成分作用浅析
  5. VMware8序列号
  6. 色谱计算机常用英文,色谱术语的常用中英文对照
  7. WPF 自定义文本框输入法 IME 跟随光标
  8. 宽带连接自动断开是怎么回事?
  9. 人工神经网络的应用有哪些方面,人工神经网络在生活中的应用
  10. 【附源码】计算机毕业设计SSM汽车租赁管理系统