首页 > 系统相关 >Linux:md5sum指令

Linux:md5sum指令

时间:2024-09-05 11:03:54浏览次数:10  
标签:123456 -- md5sum 校验 指令 Linux txt md5

学习自:

Linux shell编程学习笔记42:md5sum_PurpleEndurer@5lcto的技术博客_51CTO博客

MD5SUM详解_md5sum命令详解-CSDN博客

0、常用

#校验文件
md5sum 1.txt
f447b20a7fcbf53a5d5be013ea0b15af  1.txt

#校验标准输入
echo "123456" | md5sum
f447b20a7fcbf53a5d5be013ea0b15af -

 

 

1、简介

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致

如果一个文件的内容不改变,那么该文件的MD5值也不会变化。

即使文件名变了,但是只要文件内容不变,其MD5值也不会改变。

通常用于在传输文件时校验文件完整性

2、用法

md5sum 选项 文件

返回值

①校验码(当选项为b、c、t时);

②校验结果(OK、FAILED,当选项为c时)

可以用md5sum 选项 文件 > xxx.md5的方式将校验和保存到md5文件中

说明

当文件为-时,校验内容为标准输入

例如:

echo "123456" | md5sum

3、选项

选项

用法

说明

-b

--binary

以二进制模式读取文件 GNU系统上,二进制文件和文本文件无区别

-c

--check

从FILE中读取MD5校验和并检验  
--tag 创建BSD样式的校验和  

-t

--text

以文本模式读取文件(默认)  
--quiet 不为成功验证的文件打印OK 仅在验证校验和时有用(也就是说和参数-c配合出现)
--status 不输出任何内容,用状态码表示成功
--strict 当校验到格式不正确的校验行时,用非0退出

-w

--warn

当校验到格式不正确的校验行时,发出警告
--version 显示版本  
--help 显示帮助  

 

4、例子

1)默认文本模式(-t)读取文件,输出md5校验和

echo "123456" > 1.txt
md5sum 1.txt
f447b20a7fcbf53a5d5be013ea0b15af  1.txt

 

 2)二进制模式(-b)读取文件,输出md5校验和

md5sum -b 1.txt
f447b20a7fcbf53a5d5be013ea0b15af *1.txt

相比文本模式,被读取的文件名前多了一个*。

 

3)默认文本模式读取标准输入,输出md5校验和

echo "123456" | md5sum
f447b20a7fcbf53a5d5be013ea0b15af -

由于未指定文件,所以显示的文件名为-,代表标准输入。

如果不用echo命令:

"123456" | md5sum

-bash: 123456: 未找到命令
d41d8cd98f00b204e9800998ecf8427e  -

仍会输出md5校验值,但在此之前会显示一条错误信息:命令未找到

 

4)二进制模式读取标准输入,输出md5校验和

echo "123456" | md5sum -b

f447b20a7fcbf53a5d5be013ea0b15af *-

5)用md5校验值校验文件,选项-c

md5文件存放的是校验和

echo "123456" > 1.txt
md5sum 1.txt > 123456.md5

cat 123456.md5 f447b20a7fcbf53a5d5be013ea0b15af 1.txt
md5sum -c 123456.md5 1.txt: 成功
echo "12345678" > 1.txt
md5sum -c 123456.md5 1.txt: 失败 md5sum: 警告:1 个校验和不匹配

md5文件中,存放了一个校验码及它对应的文件名1.txt。

当修改1.txt的文件内容后,校验码随之发生变化,与md5文件存放的校验码内容不一致,因此用-c检查后,返回失败

6)用md5校验值校验文件,校验成功时不打印OK:--quiet

echo "123456" > 1.txt
md5sum  1.txt > 123456.md5
md5sum -c --quiet 123456.md5
#校验通过时,不输出OK
echo "123" > 1.txt md5sum -c --quiet 123456.md5 1.txt: 失败 md5sum: 警告:1 个校验和不匹配

7)用md5校验文件,通过状态码反馈校验结果:--quiet --status

状态码为0时,校验通过;为1时,不通过。

echo "123456" > 1.txt
md5sum 1.txt > 123456.md5
md5sum -c --quiet --status 123456.md5
echo $?
0
echo "123" > 1.txt md5sum -c --quiet --status 123456.md5 echo $? 1

$?:进程状态码。

 

标签:123456,--,md5sum,校验,指令,Linux,txt,md5
From: https://www.cnblogs.com/ShineLeBlog/p/18397983

相关文章

  • 简单加固和常用指令
    安全加固(Ubuntu22.04)1.修改密码sudopasswd2.删除用户主要包括adm,lp,sync,shutdown,halt,news,uucp,operator,games,ftp,postfix,dovecot3.修改ssh端口sudovim/etc/ssh/sshd_config#添加ssh为2222端口Port2222“:wq”保存后重启ssh服务sudosystemctlrestartss......
  • VMware Workstation 17.6 Pro Unlocker & OEM BIOS 2.7 for Windows & Linux
    VMwareWorkstation17.6ProUnlocker&OEMBIOS2.7forWindows&Linux在Windows和Linux上运行macOSSequoia请访问原文链接:https://sysin.cn/blog/vmware-workstation-17-unlocker/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org2024-09-03,版本13.6更......
  • 花指令处理
    题目https://files.buuoj.cn/files/23766843c5b14f1bcc1e9e00e3a761db/attachment.zip这里的jnz指令会实现一个跳转.text:0040102Ecallnearptr0EC85D78Bh0EC85D78Bh被标红了,是一个不存在的地址,导致IDA无法正常反汇编所以需要Nop掉(十六进制90)选......
  • Linux——网络(5)
    一、sqlite3性能测试1.程序效率测试   时间相关接口:   intgettimeofday(structtimeval*tv,structtimezone*tz);   功能:得到从1970年1月1日0时0分0秒到现在的秒数           精度到微妙   参数:             tv:获取......
  • 【Linux】理解Linux中的软链接与硬链接
    文章目录理解Linux中的软链接与硬链接1.什么是硬链接?示例:2.什么是软链接?示例:3.软链接与硬链接的对比4.何时使用软链接与硬链接?理解Linux中的软链接与硬链接在Linux文件系统中,软链接(SymbolicLink)和硬链接(HardLink)是两个非常重要的概念,它们允许多个文件名指......
  • 【Linux】深入理解Linux文件系统中的inode
    文章目录深入理解Linux文件系统中的inode1.什么是inode?2.inode的结构示例:3.inode的工作原理4.inode与文件系统的关系5.inode的实际应用6.总结深入理解Linux文件系统中的inode在Linux文件系统中,inode是一个核心概念,它在文件的管理和操作中起着至关重要的作......
  • Linux内核如何通过内存回收和压缩机制来管理物理内存
    大家好,今天给大家介绍Linux内核如何通过内存回收和压缩机制来管理物理内存,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。Linux内核通过一系列复杂的内存回收和压缩机制来有效管理物理内存,确保系统能够在不同负载......
  • 嵌入式linux就业前景怎么样?
    嵌入式Linux的就业前景在当前科技快速发展的背景下显得尤为广阔和乐观。以下是对嵌入式Linux就业前景的详细分析:一、行业背景与需求增长技术普及与应用广泛:嵌入式Linux作为一种操作系统,广泛应用于各种嵌入式设备中,如智能手机、智能家居、工业自动化等领域。随着物联网技术的......
  • Linux
    1.inode简介    inode是Linux文件系统的基础。硬盘的最小存储单位是扇区(Sector),块(block)由多个扇区组成。文件数据存储在块中。块的最常见的大小是4kb,约为8个连续的扇区组成(每个扇区存储512字节)。一个文件可能会占用多个block,但是一个块只能存放一个文件。虽......
  • rocky linux 9部署zabbix6
    安装rocky9阿里巴巴开源镜像站http://mirrors.aliyun.com1、Rocky2、初始化防火墙        systemctlstopfirewalld        systemctldisablefilewalld        或者        systemctldisablefirewalld--now3、selinuxvi/etc......