现在加入有很多很多文件需要测试md5,想看下是否都传输成功了,如何批量生成文件的md5并且逐条对照呢?

下面来简单介绍下

md5sum这个命令有一个选项“-c”

这个选项的意思是check,检查对照目标文件的md5值是否和源文件生成的md5是否相同

下面举一个实例:

192.168.1.11有一个test文件夹,里面存放了大大小小很多的文件,文件夹,现在想将这个文件传到192.168.1.12上

文件已经传过去了,但是后台的日志报错了,想看下是否都传输成功

find test/ -type f -print0 | xargs -0 md5sum > check.md5    

主要说下-print0 和 -0

-print 0 解释:

True; print the full file name on the standard  output,  followed  by  a  null  character (instead of the newline character that -print uses).  This allows file names that contain newlines or other types of white space to  be  correctly  interpreted  by  programs  that process the find output.  This option corresponds to the -0 option of xargs.

大体意思是:会输出完整的文件名称,并以一个空字符为分割,而不是换行,要用特殊的命令来处理输出结果,最直接的就是xargs -0

xargs -0的解释:

Input items are terminated by a null character instead of by whitespace, and  the  quotes and  backslash are not special (every character is taken literally).  Disables the end of file string, which is treated like any other argument.  Useful  when  input  items  might contain  white  space, quote marks, or backslashes.  The GNU find -print0 option produces input suitable for this mode.

大体意思是:输出项由空字符终止,而不是空格,或者换行. 禁用文件字符串的结尾,该字符串与任何其他参数一样。 输入项可能包含空格,引号或反斜杠时很有用。 GNU find -print0选项生成适合此模式的输入。

所以find -print0 和xargs和 -0 是一对

生成的check.md5传输到目的地址,注意目录的位置要和源地址的一样,如果源地址是/home/test/下生成的check.md5,那么目的地址也就是/home/test/下对照md5,这里容易出错

执行如下语句,检查文件md5是否相同

md5sum -c check.md5 > complete.log

文件执行成功后,会提示有几个不匹配

md5sum: WARNING: 3 computed checksums did NOT match

这里提示就有三个有问题的,不匹配的直接grep就可以

grep FAILED complete.log

就知道那个文件出现问题了!

【Linux】md5sum 生产所有文件的md5值,并对照目标文件是否相同的更多相关文章

  1. JAVA 获取文件的MD5值大小以及常见的工具类

    /** * 获取文件的MD5值大小 * * @param file * 文件对象 * @return */ public static String getMD5(File file) { FileI ...

  2. 查询linux文件的MD5值

    Linux下查询文件的MD5值:md5sum xxx.iso.md5 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algor ...

  3. linux shell 命令获取字符串/文件的MD5值

    获取字符串的MD5值: 字符串“hello”的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d9 ...

  4. 计算文件的MD5值和sha256值

    1.计算文件的MD5值. 1)linux系统计算 MD5值:md5sum+文件名 sha256值:sha256su+文件名 2)windows系统计算 MD5值:利用Notepad++工具计算 sha ...

  5. 计算某个目录下所有文件的MD5值

    #!/usr/bin/env python #-*- coding:utf-8 -*- ''' 计算某个目录下所有文件的MD5值 ''' import os import sys import has ...

  6. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  7. asp.net和js读取文件的MD5值的方法

    前言 文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等.每个文件有一个唯一的md5值. 最近公司开发的app文件包的校验就有用到文件md5值. 一.asp.net获取 ①和上传文件一 ...

  8. C#计算文件的MD5值实例

    C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...

  9. python检测文件的MD5值

    python检测文件的MD5值MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权 ...

随机推荐

  1. django 验证码

    1.django 缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1 安装Djang ...

  2. 二、利用Git将GitHub上的项目拉下项目

    本地同样需要安装Git,同样在GitHub上加入ssh公共钥匙 如果忘了 去看上一篇 一.本地项目部署到GitHub上 - 中华田园猫饭饭 - 博客园 (cnblogs.com) 1-鼠标右键点击 G ...

  3. centos7 安装netstat命令工具

    [root@node01 yum.repos.d]# yum install -y net-tools Loaded plugins: fastestmirror Loading mirror spe ...

  4. idea 最好用的插件

    1.lombok 不用写get,set方法 2.MyBatisCodeHelperPro 3.Rainbow Brackets 彩虹括号 5.activate-power-mode 动感打字 7.Ba ...

  5. css进阶 04-如何让一个元素水平垂直居中?

    04-如何让一个元素水平垂直居中? #前言 老板的手机收到一个红包,为什么红包没居中? 如何让一个子元素在父容器里水平垂直居中?这个问题必考,在实战开发中,也应用得非常多. 你也许能顺手写出好几种实现 ...

  6. Linux简单复习

    cd 命令:切换目录 ls命令:用于浏览目录下的文件或者文件夹 rm 命令:用于删除文件或者目录,用法 rm –rf test.txt (-r表示递归,-f表示强制) cp 命令:用于拷贝文件,用法, ...

  7. Python编程学习爆破一些简单加密的文件

    前言 这里只是分享一下Python如何生成爆破字典,对于简单的一些加密文件,咱们可以跑字典获取正确的密码,比如zip加密文件.这里小编给大家简单的介绍一下爆破字典的方法,希望对大家学习Python有帮 ...

  8. 使用Ubuntu手动安装NextCloud

    p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-c ...

  9. (一)必须掌握的linux命令行快捷键

    1.序 使用linux时,接触最多的莫过于命令行,参差不齐,形形色色,对于短的命令行使用脑残的上下左右,back,del就够用了:而对于带有很多参数的长的命令行,再使用上下左右,del,back显得那 ...

  10. javaScript编写9*9口诀

    学习html+css+javaScript<!DOCTYPE html> <html> <head> <title>chaoba</title&g ...