当我们从互联网下载东西或者从U盘拷贝东西的时候,通常是不会和源文件有什么区别的,但是在偶然的情况下会出现下载或者拷贝出错的情况,

尤其是在下载大文件的时候,比如系统光盘......当你装机到一半才发现是坏的怎么办?所以就有了以SHA1和MD5为代表的哈希值校验,数学上的功夫就不多说了,

反正就是SHA1或者MD5一致,两个文件基本就可以判断是完全一致的了。

在windows下有很多工具可以校验哈希值,那么Linux下呢?其实也有,而且大部分情况都内置了,这就是md5sum和sha1sum。

    这俩命令是孪生兄弟,命令格式基本是完全一致的,我们以sha1sum为例来讲解:

    最简单的用法:sha1sum [文件路径],显示指定文件的SHA1值,比如sha1sum /home/Tianzi/xubuntu14.04.1.iso,输出分两部分,第一部分是这个文件的sha1值,第二个是文件路径名。

    同时校验多个文件的方法:sha1sum [文件1] [文件2] [文件3] ...,比如sha1sum /home/Tianzi/xubuntu14.04.1.iso /home/tianzi/xubuntu13.10.iso 等。输出是分行的,每一行对应一个文件,和单个校验是一样的

    将校验结果存储到文本文件:sha1sum [文件1] [文件2] > [文本文件],比如:

sha1sum /home/Tianzi/xubuntu14.04.1.iso /home/tianzi/xubuntu13.10.iso > /home/tianzi/sha1.txt(如果文本文件已经存在会清空后重建)

    讲校验结果续写到已经存在的文本文件:sha1sum [文件1] [文件2] >> [文本文件],比如:

sha1sum /home/Tianzi/xubuntu14.04.1.iso /home/tianzi/xubuntu13.10.iso >> /home/tianzi/sha1.txt(如果文本文件已经存在会在文本后面继续写,不会覆盖源文件)

    从文件读取信息来确认校验结果:这个过程比较复杂,命令简单 sha1sum --check [文本文件] 或 sha1sum -c [文本文件],文本文件中的内容格式如下:

SHA1值 文件1路径

SHA1值 文件2路径

......

    命令的内容是根据文本文件中每个文件的路径和对应输入sha1值进行比较,如果文本文件中记录的sha1值和文件的sha1一致,那么返回OK,否则提示文件不匹配,是一个大批量校验文件完整性的方法。

Linux下校验SHA1和MD5的方法的更多相关文章

  1. Linux下校验下载文件的完整性(MD5,SHA1,PGP)

    查看: Linux下校验下载文件的完整性(MD5,SHA1,PGP) http://blog.useasp.net/archive/2014/03/29/use-md5-sha1-or-pgp-to- ...

  2. Linux系统中如何校验SHA1和MD5?

    来自:系统之家:http://www.xitongzhijia.net/xtjc/20160316/69125.html 我们在网络上下载或在U盘中复制的文件正常来说和源文件是一样的,但有时在下载或拷 ...

  3. Linux 下操作GPIO(两种方法,驱动和mmap)(转载)

    目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据io ...

  4. Linux下进程通信的八种方法

    Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...

  5. Linux 下操作gpio(两种方法,驱动和mmap)

    目前我所知道的在linux下操作GPIO有两种方法: 1.  编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据 ...

  6. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  7. Linux下对字符串进行MD5加密

    Linux下对字符串进行MD5加密 比如要用MD5在linux下加密字符串“test",可以使用命令:$ echo -n test|md5sum098f6bcd4621d373cade4e8 ...

  8. Linux下最快速共享目录的方法

    Linux下最快速共享目录的方法 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 搭建FTP,或者是搭建网络文件系统,这 ...

  9. linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...

随机推荐

  1. 关于ssh-keygen 生成的key以“BEGIN OPENSSH PRIVATE KEY”开头

    现在使用命令 ssh-keygen -t rsa  生成ssh,默认是以新的格式生成,id_rsa的第一行变成了"BEGIN OPENSSH PRIVATE KEY" 而不在是&q ...

  2. 10.Vue.js 样式绑定

    Vue.js 样式绑定 Vue.js class class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处 ...

  3. ssm中的注解

    1.@Controller 2.@RequestMapping 3.@RequestParam public String getUser(HttpSession session,@RequestPa ...

  4. 【前端】关于DOM节点

    参考这个: https://juejin.cn/post/6844903849614901261 DOM树的根节点是document对象 DOM节点类型:HTML元素节点(element nodes) ...

  5. Java中的选择结构(二)

    选择结构(二) 学习本章会用到的单词: case:实例,情形,情况 switch:转换,切换,开关 default:系统默认值,违约,预设.缺省 exit:出口,通道,退出 consume:消耗,耗费 ...

  6. java多线程5:线程间的通信

    在多线程系统中,彼此之间的通信协作非常重要,下面来聊聊线程间通信的几种方式. wait/notify 想像一个场景,A.B两个线程操作一个共享List对象,A对List进行add操作,B线程等待Lis ...

  7. Jenkins集成jira

    目录 一.Jenkins中Jira插件安装 二.Jenkins中Jira配置 一.Jenkins中Jira插件安装 点击 Manage Jenkins-->Manage Plugins--> ...

  8. C语言程序设计:综合设计实验一(设计一个文字游戏)

    目录 C语言程序设计:综合设计实验一(设计一个文字游戏) 1.实验要求 2.设计思路 3.源码 4.后话 C语言程序设计:综合设计实验一(设计一个文字游戏) 1.实验要求 (1) 设计一个文字游戏,通 ...

  9. CF74A Room Leader 题解

    Content 一场 CF 比赛有 \(n\) 个人,有 ABCDE 五道题目.在比赛过程中,参赛者还可以随时互相攻击,成功一次加 \(100\) 分,失败一次扣 \(50\)分,已知第 \(i\) ...

  10. 当更新user表时,页面没有的属性,执行update语句不会更改以前的值

    当更新user表时,页面没有的属性,执行update语句不会更改数据库表的值.不会用NULL值去填充