美文网首页生信小技巧
文件传输后完整性检查-md5值校验 2020-04-27

文件传输后完整性检查-md5值校验 2020-04-27

作者: SnorkelingFan凡潜 | 来源:发表于2020-04-27 17:26 被阅读0次

    🧑‍💻:md5值是测序文件或者其它文件检验传输前后数据是否完整的重要指标


    现以从NCBI下载的数据集为例说明

    • 下载完成后会有下述文件


      image.png

    文件中有md5checksums.txt 为对应原始的md5值

    $ cat md5checksums.txt
    41b9c2fabe7ff8a07ea90d8a44762cfc  ./GCA_010614865.1_ASM1061486v1_assembly_report.txt
    cbb41b998a6f787dcf2e901b2b8a75a7  ./GCA_010614865.1_ASM1061486v1_assembly_stats.txt
    ba9347531cb06c0eecac9b27f0e86668  ./GCA_010614865.1_ASM1061486v1_genomic.fna.gz
    f53d37be53acf20f5260602109629965  ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
    ccaf29fa415387ec51c7dfde3a0b8aba  ./GCA_010614865.1_ASM1061486v1_genomic_gaps.txt.gz
    f30b503a02eb9663db898c7f3dfb7c83  ./GCA_010614865.1_ASM1061486v1_rm.out.gz
    e5281c109653d42ec9e985948ebd6ff6  ./GCA_010614865.1_ASM1061486v1_rm.run
    2e240f0efbbc3a123d87675f4fadb93e  ./GCA_010614865.1_ASM1061486v1_wgsmaster.gbff.gz
    7e7ff6850a5e44f97647742785e2d246  ./annotation_hashes.txt
    eb4c13bd5287cd90a3b3a0b4045a9271  ./GCA_010614865.1_ASM1061486v1_feature_count.txt.gz
    
    • 在Linux系统下, 自带有md5sum这个工具,在命令行终端可以直接调用md5sum
    $ md5sum --help
    用法:md5sum [选项]... [文件]...
    显示或检查 MD5(128-bit) 校验和。
    若没有文件选项,或者文件处为"-",则从标准输入读取。
    
      -b, --binary      以二进制模式读取
      -c, --check       从文件中读取MD5 的校验值并予以检查
      -t, --text        以纯文本模式读取(默认)
      Note: There is no difference between binary and text mode option on GNU system.
    
    以下三个选项在进行校验时非常有用:
          --quiet       不为校验成功的文件输出OK
          --status      不输出任何内容,使用退出状态号显示成功
      -w, --warn        对格式不准确的校验和行进行警告
    
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    校验和会按照RFC 1321 规范生成。当进行检查时,给出的输入格式应该和程序的输出
    样板格式相同。默认的输出模式时输出一行校验和的校验结果,并有一个字符来
    表示文件类型("*"代表二进制," "代表纯文本),并同时显示每个文件的名称。
    
    请向bug-coreutils@gnu.org 报告md5sum 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告md5sum 的翻译错误
    要获取完整文档,请运行:info coreutils 'md5sum invocation'
    
    • 检验传输后得到的文件的md5值是否和源文件的md5值一致
    $ md5sum ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
    f53d37be53acf20f5260602109629965  ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
    
    md5sum annotation_hashes.txt
    84dfceef9612124152a24231102edc1e  annotation_hashes.txt
    

    此例发现 annotation_hashes.txt的md5值和原始的不一致


    特别注意,每一次上传或下载文件都会得到对应的md5值,即文件从A机器到B机器然后到C机器文件得到的md5值都不同,只有在C机器中用md5.txt的md5值和C机器用md5sum检测得到的md5值进行校验,吻合则传输过程无损

    • 批量校验可在md5.txt的当前目录下使用md5sum -c md5.txt
    $ md5sum -c md5.txt
    Clean/AA-410_1.fq.gz: 确定
    Clean/AA-410_2.fq.gz: 确定
    Clean/AA-408_1.fq.gz: 确定
    Clean/AA-408_2.fq.gz: 确定
    Clean/AA-409_1.fq.gz: 确定
    Clean/AA-409_2.fq.gz: 确定
    

    相关文章

      网友评论

        本文标题:文件传输后完整性检查-md5值校验 2020-04-27

        本文链接:https://www.haomeiwen.com/subject/ymruwhtx.html