md5sum命令用於生成文件的md5數字摘要,並能夠驗證文件內容是否發生了改變,間接地還能夠檢驗兩個文件內容是否徹底相同。由於md5sum是讀取文件內容來計算校驗碼的,所以只能驗證文件內容,而沒法驗證文件屬性。html
[root@xuexi ~]# cp -a /etc/fstab /tmp/fstab [root@xuexi ~]# cp -a /etc/fstab /tmp/fstab1
生成文件的md5值。shell
[root@xuexi ~]# md5sum /tmp/fstab /tmp/fstab1 a612cd5d162e4620b442b0ff3474bf98 /tmp/fstab a612cd5d162e4620b442b0ff3474bf98 /tmp/fstab1
發現這兩個文件md5值徹底同樣,也就說明這兩個文件徹底相同。ui
因爲生成的md5信息中,每一個md5值後都緊跟着對應的文件的路徑(多是相對路徑),因而將生成的md5保存到某個文件中,之後能夠使用該文件來檢查md5值對應文件內容是否發生了修改。spa
例如,將上述兩個文件的md5信息保存到fs.md5sum中,而後使用"md5sum -c"能夠檢查源文件是否完整或是否被修改過。這個檢查是內容上的,權限和屬性等的改變不會影響md5值,因此不會檢測出問題。code
[root@xuexi ~]# md5sum /tmp/fstab /tmp/fstab1 >/tmp/fs.md5sum [root@xuexi ~]# md5sum -c /tmp/fs.md5sum /tmp/fstab: OK /tmp/fstab1: OK
修改/tmp/fstab1的內容,而後再檢測。htm
[root@xuexi tmp]# echo aaa >>/tmp/fstab1 [root@xuexi tmp]# md5sum -c /tmp/fs.md5sum /tmp/fstab: OK /tmp/fstab1: FAILED md5sum: WARNING: 1 of 2 computed checksums did NOT match
當使用了"-c"選項時,還支持如下選項:blog
--quiet:不顯示驗證結果爲OK的記錄md5
--status:徹底不顯示任何信息,只能經過命令的退出狀態碼判斷驗證結果是否有failed。只要有一條failed記錄,則狀態碼爲1,不然爲0。get
[root@xuexi tmp]# md5sum --status -c /tmp/fs.md5sum
[root@xuexi tmp]# echo $? 1
經過比較md5sum的值,能夠判斷出多個文件的內容是否徹底一致,但肉眼判斷並不方便,因此寫出腳本批量判斷。腳本見:shell腳本示例:批量比較多個文件的內容是否相同。class