每天进步一点点:Linux下校验文件

每天进步一点点:Linux下校验文件

在之前的帖子中,我介绍了axel这个多线程下载工具,用来替换wget进行多线程下载。

每天进步一点点

(图源 :pixabay)

不过在用axel下载了一个数百G的文件后,我突然发觉心里没底,万一这个文件里边丢失哪怕一个字节的内容,这个文件都算白下了,那么如何校验我下载的文件和原始文件一致呢?

md5sum

其实最简单的方法就是校验文件的hash值了,而校验文件hash值最常用的就是md5sum啦。

Ubuntu 18.04发行版中已经包含了md5sum(包含在GNU Core Utilities中),所以我们直接使用即可,无需安装。

调用方式如下:

md5sum [option]… [file]…

比如我要检查文件aaa.tgz的md5,那么只需调用:

md5sum aaa.tgz

输出结果如下:

之后再去服务器上执行同样的命令,获取服务器对应文件的hash,并进行对比就可以啦。

使用校验文件

在对单个文件进行处理时,只要不是头昏眼花,上述人工肉眼判断是没有问题的,但是如果多个文件需要校验,那么估计就该头昏眼花了。

所以使用-c参数就很有必要了:

-c, --check read MD5 sums from the FILEs and check them

简单的来讲,就是把原始文件生成的md5sum输出写入到文件中,下载或复制等传播后,md5sum会直接处理文件并对比校验码。

举例如下:
我们在服务器上生成aaa.tgz的校验码并保存到本地文件md5.txt,内容如下:

d41d8cd98f00b204e9800998ecf8427e aaa.tgz

在本地执行如下命令:

md5sum -c md5.txt

返回内容如下,说明文件校验成功。

下面我们手工破坏一下文件,再测试一下:

echo "hello" >> aaa.tgz
md5sum -c md5.txt

再来看测试结果,会发现提示校验检查出错:

其它补充

除了md5sum,还有好多内置的校验工具可用:

对我而言,校验自己的文件,用md5sum足够啦。

相关链接


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘每天进步一点点:Linux下校验文件’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×