Linux命令詳解:md5sum 命令



一、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 [email protected]
       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 命令實戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章