Linux下md5sum用法 (查看文件或字符串的md5值)
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
语法
1 | # md5sum(选项)(参数) |
选项
1 2 3 4 5 | -b或--binary: 把输入文件作为二进制文件看待。 -t或--text: 把输入的文件作为文本文件看待(默认)。 -c或--check: 用来从文件中读取md5信息检查文件的一致性。(不细说了参见info) --status: 这个选项和check一起使用,在check的时候,不输出,而是根据返回值表示检查结果。 -w或--warn: 在check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。 |
参数
1 | 文件:指定保存着文件名和校验和的文本文件 |
示例
1) 查看一个字符串的md5值
在线查看字符串的md5值地址: https://md5jiami.51240.com/
linux终端里查看出来的md5值都是"32位小写"格式的值
1 2 3 4 5 | [root@web-master ~] # echo -n "hello world"|md5sum 5eb63bbbe01eeed093cb22bb8f5acdc3 - [root@web-master ~] # echo -n "hello world"|md5sum |cut -d" " -f1 5eb63bbbe01eeed093cb22bb8f5acdc3 |
命令解释:
md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取。
echo -n : 不打印换行符。(注意: echo -n 后面的-n参数必须加上, 这样算出的字符串的md5值才正确)
cut: cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。 -d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。
2) 查看一个文件的md5值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [root@web-master ~] # echo "test md5" > kevin.sql 查看并获取这个文件的md5值 [root@web-master ~] # md5sum kevin.sql 170ecb8475ca6e384dbd74c17e165c9e kevin.sql [root@web-master ~] # md5sum kevin.sql|cut -d" " -f1 170ecb8475ca6e384dbd74c17e165c9e 生产这个个文件的md5值 [root@web-master ~] # md5sum kevin.sql > kevin.sql.md5 检查两个文件是否一样,可以通过比较两个文件的md5值 (后续可以用这个方法来检验kevin.sql文件是否被修改)。 [root@web-master ~] # md5sum kevin.sql 170ecb8475ca6e384dbd74c17e165c9e kevin.sql [root@web-master ~] # cat kevin.sql.md5 170ecb8475ca6e384dbd74c17e165c9e kevin.sql |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!