当我们从互联网下载东西或者从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. 用户信息系统_serviceImpl

    package com.hopetesting.service.impl;import com.hopetesting.dao.UserDao;import com.hopetesting.dao.i ...

  2. 使用IntelliJ IDEA创建简单的Spring Boot项目

    方法一: File - New -Project 创建结束后进行测试运行,修改代码如下: package com.springboot.testone; import org.springframew ...

  3. Centos 常用指令

    1.*.tar 用 tar  xvf 解压 2.*.gz 用 gzip  d或者gunzip 解压 3.*.tar.gz和*.tgz 用 tar xzf 解压 4.*.bz2 用 bzip2 d或者用 ...

  4. 【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决

    前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿.而这之前,程序之间通信效率的王者也许可以算得上是gRPC了.那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着 ...

  5. C语言实现鼠标绘图

    使用C语言+EGE图形库(Easy Graphics Engine).思路是通过不断绘制直线来实现鼠标绘图的功能,前一个时刻鼠标的坐标作为直线的起点,现在时刻的坐标作为终点(严格意义是线段而不是直线) ...

  6. shell脚本 mysql-binlog分析

    一.简介 介绍 分析binlog工具,现有功能: 基于业务表分析统计各个表的dml的次数. 各个业务表的最后访问时间. 各dml总的次数. 该binlog的事务总数. 基于业务表的binlog to ...

  7. Jenkins配置代码化

    目录 一.简介 二.init.groovy 脚本命令行调试 一.简介 Jenkins用久了,会有一种莫名的紧张感.因为没人清楚Jenkins都配置了什么,以至于没人敢动它. 但凡使用界面进行配置的都会 ...

  8. 【划重点】Python遍历列表的四种方法

    一.通过for循环直接遍历 user1 = ["宋江","林冲","卢俊义","吴用"] for user in use ...

  9. Python绘制折线图

    一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...

  10. 月薪过2w的IT程序员都是怎么做到的?

    ​  先说结论:要月入过2万,不能仅仅靠技术,更要找个肯给到这份工资的平台.也就是说,尽量去大城市,尽量去大公司. 我在上海,先说下我知道的薪资情况,基本上,只要有3年开发经验,能过大厂或外企的面试, ...