当前位置: 首页 > 工具软件 > MD5sum > 使用案例 >

Linux命令详解:md5sum 命令

江向阳
2023-12-01



一、md5 算法介绍

md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相 同的报文摘要的可能性是非常非常之小的。

在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助 man md5sum

  1. 使用md5sum来产生指纹(报文摘要)命令如下:md5sum file > file.md5 或者 md5sum file >>file.md5
    注: > 和 >> 的区别在于: > 表示把由file文件产生的摘要重定向到文件file.md5,但是会覆盖file.md5里面的内容;而 >> 则将输出的摘要附加到file.md5文件的后面。也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符*,比如某目录下有几个iso文 件,要把这几个iso文件的摘要输出到iso.md5文件中,命令如下:md5sum *.iso > iso.md5
  2. 使用md5报文摘要验证文件,方法有二:
    1. 比如,把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:md5sum -c file.md5 然后如果验证成功,则会输出:正确
    2. 比如下载了文件file,然后运行下面的命令:md5sum file 命令会输出一个md5的报文摘要,然后把这个报文摘要直接与file.md5中的内容比较,如果一样,就说明验证正确。

二、md5sum 命令使用说明

在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。

md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。

md5校验,有很小的概率不同的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。

在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5 一致的话,则表示文件传输无异常。否则说明文件在传输过程中未正确传输。

在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。md5sum是一种计算机程序,用于计算与校验RFC 1321所描述的128位MD5哈希值,此处MD5散列值(或校验和)作一个文件的数字指纹使用。

两个不同的文件几乎不可能有相同的MD5哈希值,除非其创建便是刻意为之。一般来说,任何对一个文件的非恶意变更都会导致其MD5哈希值改变,因此md5sum一般用于检查文件完整性,尤其常用于检测在文件传输、磁盘错误或其他无恶意涉入的情况下文件的正确性。


三、md5sum 命令帮助

[root@localhost ~]# man md5sum
MD5SUM(1)                        User Commands                       MD5SUM(1)

NAME
       md5sum - compute and check MD5 message digest

SYNOPSIS
       md5sum [OPTION]... [FILE]...

DESCRIPTION
       Print or check MD5 (128-bit) checksums.  With no FILE, or when FILE is -, read standard input.

    -b, --binary    read in binary mode
    -c, --check     read MD5 sums from the FILEs and check them
    -t, --text      read in text mode (default)
    Note: There is no difference between binary and text mode option on GNU system.

   The following three options are useful only when verifying checksums:
       --quiet    don’t print OK for each successfully verified file
       --status   don’t output anything, status code shows success
   -w, --warn     warn about improperly formatted checksum lines
   
       --help     display this help and exit
       --version  output version information and exit

       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 character indicating type (‘*’ for binary, ‘ ’ for text), and name for each FILE.

AUTHOR
       Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS
       Report md5sum bugs to bug-coreutils@gnu.org
       GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
       General help using GNU software: <http://www.gnu.org/gethelp/>
       Report md5sum translation bugs to <http://translationproject.org/team/>

COPYRIGHT
       Copyright © 2010 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <http://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.

SEE ALSO
       The full documentation for md5sum is maintained as a Texinfo manual.  If the info and md5sum programs are properly installed at your site,
       the command

              info coreutils 'md5sum invocation'

       should give you access to the complete manual.

GNU coreutils 8.4                  May 2016                          MD5SUM(1)


四、md5sum 命令选项、参数


语法

md5sum (选项) (参数)


选项

-b: 二进制模式读取文件;
-t或–text: 把输入的文件作为文本文件看待;
-c: 从指定文件中读取MD5校验和,并进行校验;
–status: 验证成功时不输出任何信息;
-w: 当校验不正确时给出警告信息。


参数

文件:指定保存着文件名和校验和的文本文件。


五、md5sum 命令实战

 类似资料: