Bash 的 md5sum 命令

作者:hubenchang0515日期:2025/11/6

#Bash 的 md5sum 命令

1md5sum [OPTION]... [FILE]...
2

功能

计算或校验 MD5 值。

类型

可执行文件(/usr/bin/md5sum),属于 coreutils

参数

  • OPTION 选项:
    • -b, --binary - 以二进制模式读取文件;类 UNIX 系统下始终是二进制模式
    • -c, --check - 从文件中读取 MD5 值进行校验
    • --tag- 生成 BSD 风格的输出
    • -t, --text - 以文本模式读取文件;类 UNIX 系统下不存在文本模式,此选项无效
    • -z, --zero - 以空字符(\0)作为行的结尾,而不是换行符(\n
    • --ignore-missing - 校验时忽略缺失的文件
    • --quiet - 校验时不打印成功的消息
    • --status - 校验时不打印任何消息;可以通过返回值检查是否成功
    • --strict - 校验时严格检查格式
    • -w, --warn - 校验时遇到格式不正确的行时产生警告
    • --help - 显示帮助
    • --version - 显示版本
  • FILE - 文件列表

#示例

计算 MD5 值

1$ md5sum 1.txt                                   # 单个文件
279171af5e65e23a97b58c343c4de7411  1.txt
3$ md5sum 1.txt 2.txt 3.txt                       # 多个文件
479171af5e65e23a97b58c343c4de7411  1.txt
5d68dae595d597fb67c85a8301521b097  2.txt
672d93867588107cf46b2cc7ea400d0aa  3.txt
7$ md5sum --tag 1.txt 2.txt 3.txt                 # BSD 风格
8MD5 (1.txt) = 79171af5e65e23a97b58c343c4de7411
9MD5 (2.txt) = d68dae595d597fb67c85a8301521b097
10MD5 (3.txt) = 72d93867588107cf46b2cc7ea400d0aa
11

校验 MD5 值

1$ md5sum 1.txt 2.txt 3.txt > md5.txt
2$ md5sum -c md5.txt # 校验
31.txt: OK
42.txt: OK
53.txt: OK
6

#相关命令

命令说明
b2sum计算和校验 BLAKE2 值
sha1sum计算和校验 SHA1 值
sha224sum计算和校验 SHA224 值
sha256sum计算和校验 SHA256 值
sha384sum计算和校验 SHA384 值
sha512sum计算和校验 SHA512 值

#推荐阅读

#手册

显示

1MD5SUM(1)                        User Commands                       MD5SUM(1)
2
3NAME
4       md5sum - compute and check MD5 message digest
5
6SYNOPSIS
7       md5sum [OPTION]... [FILE]...
8
9DESCRIPTION
10       Print or check MD5 (128-bit) checksums.
11
12       With no FILE, or when FILE is -, read standard input.
13
14       -b, --binary
15              read in binary mode
16
17       -c, --check
18              read checksums from the FILEs and check them
19
20       --tag  create a BSD-style checksum
21
22       -t, --text
23              read in text mode (default)
24
25       -z, --zero
26              end  each  output  line  with NUL, not newline, and disable file
27              name escaping
28
29   The following five options are useful only when verifying checksums:
30       --ignore-missing
31              don't fail or report status for missing files
32
33       --quiet
34              don't print OK for each successfully verified file
35
36       --status
37              don't output anything, status code shows success
38
39       --strict
40              exit non-zero for improperly formatted checksum lines
41
42       -w, --warn
43              warn about improperly formatted checksum lines
44
45       --help display this help and exit
46
47       --version
48              output version information and exit
49
50       The sums are computed as described in RFC 1321.  When checking, the in‐
51       put should be a former output of this program.  The default mode is  to
52       print a line with: checksum, a space, a character indicating input mode
53       ('*'  for  binary,  ' ' for text or where binary is insignificant), and
54       name for each FILE.
55
56       Note: There is no difference between binary mode and text mode  on  GNU
57       systems.
58
59BUGS
60       Do  not  use the MD5 algorithm for security related purposes.  Instead,
61       use an SHA-2  algorithm,  implemented  in  the  programs  sha224sum(1),
62       sha256sum(1),  sha384sum(1), sha512sum(1), or the BLAKE2 algorithm, im‐
63       plemented in b2sum(1)
64
65AUTHOR
66       Written by Ulrich Drepper, Scott Miller, and David Madore.
67
68REPORTING BUGS
69       GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
70       Report any translation bugs to <https://translationproject.org/team/>
71
72COPYRIGHT
73       Copyright © 2023 Free Software Foundation, Inc.   License  GPLv3+:  GNU
74       GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
75       This  is  free  software:  you  are free to change and redistribute it.
76       There is NO WARRANTY, to the extent permitted by law.
77
78SEE ALSO
79       cksum(1)
80
81       Full documentation <https://www.gnu.org/software/coreutils/md5sum>
82       or available locally via: info '(coreutils) md5sum invocation'
83
84GNU coreutils 9.4                 April 2024                         MD5SUM(1)
85

Bash 的 md5sum 命令》 是转载文章,点击查看原文


相关推荐


虚拟机的未来:云计算与边缘计算的核心引擎(一)
jiushun_suanli2025/11/1

虚拟机定义与核心原理 虚拟机(VM)是指通过软件模拟实现的完整计算机系统,具有与物理计算机相同的功能。VM可以运行自己的操作系统和应用程序,就像独立的物理机器一样,但实际上是在共享的物理硬件资源上运行。 硬件虚拟化技术 硬件虚拟化是通过虚拟化层(hypervisor)在物理硬件和虚拟机之间建立抽象层,主要包括两种类型: 全虚拟化(Full Virtualization): 无需修改客户操作系统通过二进制翻译技术(如VMware的ESXi)或硬件辅助虚拟化(Intel VT-x/A


力扣热题100(前10道题目)
少年姜太公2025/10/30

前言 算法题几乎是面试必考的,许多同学一看到算法题就是一个头两个大,所以笔者这次准备把力扣热题100写成文章与jym一起学习,估计会分为10篇文章来写。在这个过程中会分享一些自己刷题的想法和思路,让大家能够轻松看懂,这些题目我会采用js来写,有看不懂js的同学可以看个思路然后换成自己熟悉的语言去写🔥 LeetCode 热题 HOT 100 在每道题目之前我都会把对应的题目链接贴出来,方便大家可以看完我的解法再去力扣上刷题,而且这些题目我会尽可能多种解法去写,大家可以参考一下。 160. 相交链


从原型到类:JavaScript面向对象编程的终极进化指南
良山有风来2025/10/27

你是不是也曾经被JavaScript的原型链绕得头晕眼花?每次看到__proto__和prototype就感觉在看天书?别担心,这几乎是每个前端开发者都会经历的阶段。 今天我要带你彻底搞懂JavaScript面向对象编程的进化之路。从令人困惑的原型到优雅的class语法,再到实际项目中的设计模式应用,读完本文,你不仅能理解JS面向对象的本质,还能写出更优雅、更易维护的代码。 原型时代:JavaScript的"上古时期" 在ES6之前,JavaScript面向对象编程全靠原型链。虽然语法看起来有点


Redis(81)Redis的缓存雪崩是什么?
Victor3562025/10/24

缓存雪崩的概念 缓存雪崩(Cache Avalanche)是指在某一时间段内,缓存中的大量数据同时过期,或者由于缓存服务器宕机导致大量请求直接打到数据库,导致数据库瞬时压力剧增,甚至可能导致数据库崩溃。 解决缓存雪崩的方法 为了解决缓存雪崩问题,可以采取以下几种策略: 缓存数据的过期时间设置为随机值:避免在同一时间大量缓存数据同时失效。 加锁或队列:在缓存失效时,通过机制控制对数据库的访问,避免大量请求同时打到数据库。 双写策略:更新缓存的同时也更新数据库,保证数据的一致性。 数据预热:在系统


KuiklyUI利用Kotlin Lambda函数实现声明式UI系统的深入分析
风冷2025/10/22

KuiklyUI利用Kotlin Lambda函数实现声明式UI系统的深入分析 KuiklyUI通过巧妙地利用Kotlin的lambda函数特性,构建了一套灵活、高效的声明式UI系统。本文将深入分析其实现机制和核心技术点。 一、Lambda函数在声明式UI中的核心应用 1. 接收器作用域函数的巧妙运用 KuiklyUI的声明式语法核心基于Kotlin的接收器作用域函数。在按钮组件ButtonView中,我们可以看到典型的实现: class ButtonView : ComposeView<But


面试问题—上家公司的离职原因
mapbar_front2025/10/21

面试结尾HR必问的问题,就是上一家公司的离职原因,作为多年的资深架构师,我做过多次终面,听到过千奇百怪的答案,有的真诚,有的官方,有的遮遮掩掩,有的情绪愤怒,这个问题是有正确答案的,今天就来和你分享一下。 1、真实的离职原因 其实离职无非就是两类原因,一类主动,一类被动。 主动,要么钱少,要么心累,但大多数情况都是钱少心又累。 被动,要么被行情拖累,要么末位淘汰,要么违纪被发现,这个问题只要不回答的稀碎,都不会影响你被录用。 2、避开下面两个错误答案 2.1、 破口大骂前公司前领导 有可能真的是


Redis(73)如何处理Redis分布式锁的死锁问题?
Victor3562025/10/20

处理Redis分布式锁的死锁问题,可以采取以下一些方法: 设置锁的自动过期时间: 使用EX和PX参数设置锁的超时时间,确保锁在持有过久后自动释放,避免死锁。 使用看门狗模式: 通过不断刷新锁的过期时间来维持锁的有效性,防止锁的持有者因为长时间操作而导致锁自动过期。 确保锁的唯一性和原子性: 使用具有唯一标识的锁值来确保释放锁时的准确性,避免因误删导致的死锁问题。 故障恢复机制: 在检测到锁持有者失效后,其他节点可以尝试获取锁,确保系统的高可用性。 下面是一个示


区块链技术的五大应用场景
终端域名2025/10/19

区块链技术凭借其去中心化、不可篡改和透明性等核心优势,已渗透至金融、供应链管理、医疗健康、知识产权保护及公共服务五大领域,成为重构信任机制与提升协作效率的关键技术。以下是对五大应用场景的详细阐述: 一、金融:重塑信任基石 跨境支付与清算 区块链通过分布式账本技术实现跨境交易的实时结算,显著降低传统SWIFT网络的中介成本和时间延迟。例如,Ripple、R3等区块链联盟已推动跨境汇款效率提升至分钟级,将跨国交易成本从每笔26美元降低至15美元。 数字货币与支付结算 央行数字货币(如中国


B站多模态精细画质分析模型在 ICCV2025 大赛获得佳绩
哔哩哔哩技术2025/10/17

前言 暑期,B站多媒体实验室带队参与了 ICCV MIPI (Mobile Intelligent Photography and Imaging) Workshop 的细粒度图像质量定位 (Detailed Image Quality Assessment Track) 国际挑战赛,提出创新的多模态训练策略,将综合指标提升了13.5%,最终获得了第二名的好成绩。本次参赛经历阶段性地验证了实验室在视频质量评价 (Video Quality Assessment,后文统称为 VQA) ,MLLM


【软件测试】性能测试工具 JMeter
清风~徐~来2025/10/16

性能测试工具 JMeter 一. JMeter 下载与环境配置二. JMeter 介绍1. JMeter 基本使用2. JMeter 元件作用域和执行顺序3. JMeter 重点组件(1). 线程组(2). HTTP 请求(3). 查看结果树(4). HTTP 请求默认值(5). HTTP 信息头管理器(6). JSON 提取器(7). 用户定义的变量(8). JSON 断言(9). 同步定时器(10). 事务控制器(11). CSV 数据文件设置(12). HTTP Cookie 管理器

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读