【busybox记录】【shell指令】md5sum

目录

内容来源:

【GUN】【md5sum】指令介绍

【busybox】【md5sum】指令介绍

【linux】【md5sum】指令介绍

使用示例:

128位MD5 - 默认输出

128位MD5 - 将每个文件当做二进制处理

128位MD5 - 从文件中读取MD5值并做检查

128位MD5 - 创建一个BSD风格的校验和,并做校验

128位MD5 - 输出的MD5值不会产生空行,以NULL结尾,方便其他程序处理

128位MD5 - 仅在验证校验和时有用,不报告丢失文件之类的失败

128位MD5 - 仅在验证校验和时有用,不为每个成功检查的文件生成`OK`消息

128位MD5 - 仅在验证校验和时有用,成功就成功,不成功就在失败处退出

128位MD5 - 验证校验和时,如果有错误,发出警告

128位MD5 - 验证校验和时,如果一个或多个输入行无效,在发出所有警告后退出

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【md5sum】指令介绍

md5sum:打印或检查MD5摘要
md5sum 为每个指定的文件计算128位的校验和(或指纹或消息摘要)。
在检测意外文件损坏时,MD5摘要比简单的CRC(由cksum命令提供)更可靠,因为意外地拥有两个MD5相同的文件的几率非常小。但是,我们不应该认为它可以防止恶意篡改:
虽然目前找一个带有MD5指纹的文件被认为是不可行的,但我们知道如何修改某些文件,包括数字证书,使它们在使用MD5摘要签名时显得有效。
要获得更安全的散列值,可以考虑使用SHA-2或b2sum。
参见第6.7节[sha2 utilities],第48页。
参见第6.5节[b2sum],第47页。
如果文件被指定为` - `或者没有文件被指定,md5sum会为标准输入计算校验和。
Md5sum还可以确定文件和校验和是否一致。
简介:
md5sum [option]... [file]...
md5sum对每个指定文件使用“Untagged output format”,如第6.3.1节[cksum输出模式]所述,第43页。
该程序接受第6.3.3节[cksum通用选项],第45页。参见第2章[常见选项],第2页。
退出状态为零表示成功,非零值表示失败。

【busybox】【md5sum】指令介绍

NA

【linux】【md5sum】指令介绍

[root@localhost bin]# md5sum --help
用法:md5sum [选项]... [文件]...
显示或检查 MD5(128位)校验和。

如果没有指定文件,或者文件为"-",则从标准输入读取。

  -b, --binary         以二进制模式读取
  -c, --check		从文件中读取MD5 的校验值并予以检查
      --tag            创建一个 BSD 风格的校验和
  -t, --text		以纯文本模式读取(默认)
  -z, --zero           end each output line with NUL, not newline,
                       and disable file name escaping

The following five options are useful only when verifying checksums:
      --ignore-missing  don't fail or report status for missing files
      --quiet          don't print OK for each successfully verified file
      --status         don't output anything, status code shows success
      --strict         exit non-zero for improperly formatted checksum lines
  -w, --warn           warn about improperly formatted checksum lines

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

The sums are computed as described in RFC 1321.  When checking, the input
should be a former output of this program.  The default mode is to print a
line with checksum, a space, a character indicating input mode ('*' for binary,
' ' for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 md5sum 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/md5sum>
或者在本地使用:info '(coreutils) md5sum invocation'

使用示例:

128位MD5 - 默认输出

指令: md5sum test1.txt

指令: md5sum -t test1.txt

128位MD5 - 将每个文件当做二进制处理

会比默认输出多一个‘*’

指令: md5sum -b test*

128位MD5 - 从文件中读取MD5值并做检查

-c的作用对象是生成的校验和,不是原始文件本身

指令: md5sum -c test*

由于本地的文件没有md5值所以输出会报错

详情请看下面

使用下面的指令可以生成一个md5校验文件,然后-c选项是对这种文件做校验的

指令:md5sum test1.txt > test1.txt.md5

校验指令:md5sum -c test1.txt.md5

128位MD5 - 创建一个BSD风格的校验和,并做校验

--tag参数为生成一个BSD风格的校验和

指令: md5sum --tag test1.txt > test1.txt.md5

校验指令: md5sum -c test1.txt.md5

128位MD5 - 输出的MD5值不会产生空行,以NULL结尾,方便其他程序处理

指令: md5sum -z test1.txt

128位MD5 - 仅在验证校验和时有用,不报告丢失文件之类的失败

--ignore-missing

在验证一个非常大的文件校验和列表式有用,一般的一个文件没用

我们自己制作一个大的校验文件

文件如下,里面没有lose.txt这个文件,这个文件是我们指令的目标场景构造文件

指令:md5sum -c --ignore-missing test1.txt.md5

128位MD5 - 仅在验证校验和时有用,不为每个成功检查的文件生成`OK`消息

--quiet

指令:md5sum -c --quiet test1.txt.md5

128位MD5 - 仅在验证校验和时有用,成功就成功,不成功就在失败处退出

--status

看下我们构造的错误md5文件列表

指令:md5sum -c --status test1.txt.md5

没有报成功,直接报的失败处

128位MD5 - 验证校验和时,如果有错误,发出警告

-w     看不出区别

指令:md5sum -c -w  test1.txt.md5

128位MD5 - 验证校验和时,如果一个或多个输入行无效,在发出所有警告后退出

--strict   看不出区别

指令:md5sum -c --strict test1.txt.md5

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/593866.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈OpenCV 粗略计算工件轮廓面积和外接圆直径(Emgu.CV)

前言 最近领导在做库房工具管理这块的功能&#xff0c;希望能集成OpenCV 粗略的计算出工具的长度&#xff0c;以方便用户再归还工具的时候&#xff0c;提示用户该放在那种尺寸的盒子里面&#xff0c;这便是这篇文章的由来。 我们的系统是基于.net开发的&#xff0c;所以采用的是…

项目管理-项目采购管理1/2

项目管理&#xff1a;每天进步一点点~ 活到老&#xff0c;学到老 ヾ(◍∇◍)&#xff89;&#xff9e; 何时学习都不晚&#xff0c;加油 1.项目采购管理-主要内容 项目采购管理过程--重点&#xff1a; ①ITTO 输入&#xff0c;输出工具和技术。 ②问题和解决方案。 ③论文…

【白话机器学习系列】白话特征向量

白话特征向量 一个方阵 A A A 与列向量 v v v 的乘积会生成一个新的列向量。这个新向量通常与原向量有着不同的方向&#xff0c;矩阵在这里代表一个线性变换。然而&#xff0c;某些向量会保持其原始方向。我们称这种向量为矩阵 A A A 的特征向量&#xff08;eigenvector&…

python数据分析——业务指标分析

业务指标分析 前言一、业务指标分析的定义二、业务问题构建问题构建的要求 三、业务问题的识别在识别问题的阶段对于企业内部收益者的补充&#xff1a; 四、竞争者分析标题竞争者分析的内容&#xff1a;标题竞争者分析目的&#xff1a;案例&#xff1a; 黑莓公司为什么会消亡&a…

dynamic_cast 静态转换

dynamic_cast 静态转换 const_cast 常量转换 重新解释转换(reinterpret_cast) 最不安全

RocketMq详解:一、RocketMQ 介绍及基本概念

文章目录 前言1.RocketMQ简介2.RocketMQ 特点3.核心特性4.应用场景5.RocketMQ 优势6.RocketMQ 四大核心组件6.1 NameServer1.NameServer作用2.NameServer被设计为无状态的原因3.和NameServer和Zookeeper的区别4.NameServer的高可用保障 6.2 Broker1.Broker部署方式2.高可用与负…

ssm105基于JAVAEE技术校园车辆管理系统+jsp

校园车辆管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园车辆管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

泰克示波器电流探头如何抓浪涌电流波形?

泰克示波器是一种常见的电子测量仪器&#xff0c;广泛应用于电子工程、通信工程、医疗设备等领域。它的主要功能是实时显示电信号的波形&#xff0c;从而帮助工程师和技术人员分析和调试电路。而在一些特定的应用场景中&#xff0c;例如电源、电机、电器设备等&#xff0c;我们…

模型全参数训练和LoRA微调所需显存的分析

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

TypeScript 基础学习笔记:泛型 <T> vs 断言 as

TypeScript 基础学习笔记&#xff1a;泛型 <T> vs 断言 as &#x1f525; 引言 &#x1f44b; TypeScript (TS) 以其静态类型的魔力&#xff0c;让我们的代码更加健壮、易读且易于维护。今天&#xff0c;我们将深入探讨两个核心概念——泛型&#xff08;Generics&#x…

【华为】AC三层旁挂直接转发

【华为】AC三层旁挂直接转发 实验需求实验拓扑配置AC和AP二层通信ACLSW1LSW2AP2获取到的管理地址AP3获取到的管理地址 AP上线配置WLAN业务ACLSW1&#xff08;作DHCP地址池&#xff09;业务成功下发 访问公网&#xff08;NAT&#xff09;LSW1AR1 配置文档ACLSW1LSW2AR1ISP 实验需…

杭电acm1013 Digital Roots 数字根 Java解法 高精度

Problem - 1013 (hdu.edu.cn) 高精度算术模拟 开long没过想到开bI 开bl一次过 import java.math.BigInteger; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);BigInteger i;while (!(i sc.nextB…

Docker新建容器 修改运行容器端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

【Python项目】基于时间序列的【大气污染预测系统】

技术简介&#xff1a;使用Python技术、B/S架构、MYSQL数据库等实现。 系统简介&#xff1a;本系统的主要使用角色为普通用户和管理员用户&#xff0c;两者的功能几乎是一致的&#xff0c;但管理员用户比普通用户多了用户管理的功能&#xff0c;可以对系统内的用户进行管理。普通…

Java IO编程必备:FilterInputStream类的原理与实现

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

如何构建进攻性的网络安全防护策略

进攻性安全&#xff08;Offensive security&#xff09;是指一系列主动安全策略&#xff0c;这些策略与恶意行为者在现实世界的攻击中使用的策略相同&#xff0c;区别在于其目的是加强而非损害网络安全。常见的进攻性安全方法包括红队、渗透测试和漏洞评估。 进攻性安全行动通…

C++入门 ——类和对象(二)

this指针 this指针的引出 我们先来定义一个日期类 Date class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}void Print(){cout <<_year<< "-" <<_month << "-"<< _da…

基于springboot+vue+Mysql的自习室预订系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Springboot工程创建

目录 一、步骤 二、遇到的问题及解决方案 一、步骤 打开idea,点击文件 ->新建 ->新模块 选择Spring Initializr&#xff0c;并设置相关信息。其中组为域名&#xff0c;如果没有公司&#xff0c;可以默认com.example。点击下一步 蓝色方框部分需要去掉&#xff0c;软件包…

牛客NC382 切割木头【中等 二分超找 Java/Go/C++】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/707d98cee255448c838c76918a702be0 核心 二分查找Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可…