linux作为流行的服务器传输经常会用有文件的校验,linux系统内置了md5校验,会为每个文件生成一定位数的md5值,相当于指纹,这样可以对传输的文件进行校验.
生成的md5值与文件名无关.
接下来我们演示其基本用法:
$cd // 到用户目录
$mkdir md5sum_demo // 建立一个文件夹演示md5sum
$touch micro1.txt // 新建文件micro1
$cp micro1.txt micro2.txt // 复制micro1为micro2
我们可以获取到micro1的md5值并定向到md5文件:
$md5sum micro1.txt > micro1.md5
$ls
micro1.md5 micro1.txt micro2.txt
$md5sum -c micro1.md5
micro1.txt: OK
$cat micro1.md5
d41d8cd98f00b204e9800998ecf8427e micro1.txt
$md5sum micro2.txt
d41d8cd98f00b204e9800998ecf8427e micro2.txt
micro1文件生成的指纹也记录了micro1的文件名到md5值后面,因此虽然可以发现micro2.txt的md5值与micro1.txt的md5值相等,但是文件没能匹配.md5sum -c micro1.md5只匹配到了micro.txt.
我们可以将micro2的md5值添加到文件.
$md5sum micro2.txt >> micro1.md5
$md5sum -c micro1.md5
micro1.txt: OK
micro2.txt: OK
这样就都能匹配到了.
可以验证下md5的值.
$cat micro1.md5
d41d8cd98f00b204e9800998ecf8427e micro1.txt
d41d8cd98f00b204e9800998ecf8427e micro2.txt