当我们从互联网下载东西或者从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. maven管理本地jar包

    maven作为包管理工具,好处不必多说.但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖),如果直接下载到本地之后,怎么整合到自己的maven工程 ...

  2. 使用beanFactory工厂实例化容器的方式实现单例模式

    //配置文件bean.properties(注意书写顺序) accountService=com.itheima.service.impl.AccountServiceImplaccountDao=c ...

  3. idea集成开发工具快捷键大全

    1  执行(run)                                                 alt+r 2  提示补全 (Class Name Completion)    ...

  4. 初步接触Linux命令

    目录 虚拟机快照 1.首先将已经运行的系统关机 2.找到快照 拍摄快照 3.找到克隆 下一步 有几个快照会显示几个 4.克隆完成后 要修改一下IP 不然无法同时运行两个虚拟机系统 系统介绍 1.pin ...

  5. Python——连接数据库操作

    一.数据库基础用法 要先配置环境变量,然后cmd安装:pip install pymysql 1.连接MySQL,并创建wzg库 #引入decimal模块 import pymysql #连接数据库 ...

  6. SOUI3界面编辑器使用说明

    SOUI一直没有官方的界面编辑器,关键是我自己一直坚持手写界面更好控制. 大概是2年前,网友"指尖"开发了一个SOUI2的编辑器,功能非常多,特点是可以拖动控件来实现可视化布局. ...

  7. iOS 实现简单的界面切换

    以下是在iOS中最简单的界面切换示例.使用了多个Controller,并演示Controller之间在切换界面时的代码处理. 实现的应用界面: 首先,创建一个window-based applicat ...

  8. 减轻内存负担,在 pymysql 中使用 SSCursor 查询结果集较大的 SQL

    前言 默认情况下,使用 pymysql 查询数据使用的游标类是 Cursor,比如: import pymysql.cursors # 连接数据库 connection = pymysql.conne ...

  9. 祭出“成本”列(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 今天开始成本. 张同学说,成本就是balabalabala-- 好吧,本妖向来不会背名词解释,不过有些公式还是需要背一下下 ...

  10. Google Earth Engine 中的位运算

    Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...