zoukankan      html  css  js  c++  java
  • 【字符比较】文件内容比较方法

    md5值校验失败问题

    两个文件用cat 打开的 txt 显示是一样的

    ①用十六进制比较

    先用vim -b data 以2进制打开文件,然后用xxd工具转化,在vim的命令行模式下:

    1.  :%!xxd        --将当前文本转化为16进制格式
    2.  :%!xxd -r    --将16进制转化为普通文本

    直接vim 当前文件

    按下回车,当前的文本内容被转换成16进制

    ②hexdump

    hexdump可以用来查看二进制文件的16进制结果

    hexdump data

    如果文件比较大可以用 hexdump data | less 分页显示

    如果想得到16进制和ascii码对应的显示结果,可以添加 -C参数

    hexdump -C data | less

    hexdump ursalink_devicehub_md5  | less

      

    ③用md5校验两个文件的md5值不一致

     

    ④diff

    ⑤file

    校验方式:

    root@ubuntu:/# file ursalink_devicehub_md5 
    ursalink_devicehub_md5: ASCII text, with no line terminators
    root@ubuntu:
    /# file /root/ursalink_devicehub_md5 /root/ursalink_devicehub_md5: ASCII text

    可以看到前面的那个少了一个结束符

    ⑥用VScode编程软件的右下角也可以看出两个文件的不同

    可以显示出当前的文本是  LF 还是 CRLF

    ⑦用 ll 查看当前文件大小

    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒(注:估计是从打字机的最右边回到最左边的机械运动 所需要的时间),正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

    于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。
    一个叫做“回车(Carriage Return)”,告诉打字机把打印头定位在左边界;
    另一个叫做“换行(Line Feed)”,告诉打字机把纸向下移一行。
    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

    Unix系统里,每行结尾只有“LF”,即” ”;
    Windows系统里面,每行结尾是“LFCR”,即“ ”;
    Mac系统里,每行结尾是“CR”,即” ”;

    一个直接后果是,Unix/Mac系统下的文件在 Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    CRLF的意思

    就是回车(CR, ASCII 13, ) 换行(LF, ASCII 10, ) --- windows系统里面的字符
     

    linux下vim 编辑的文本文件 可能会比其他的txt文本文件 多一个

    要解决两个文本不一致的问题,可以在没有 的文本里面编辑一下vim 然后保存 

    所生成ca证书的期限可以在 openssl

  • 相关阅读:
    电视盒子通过adb安装第三方应用
    采用网闸隔离的内外网如何进行数据的即时交互?
    数据结构-python-二叉树
    Python+uiautomator2写安卓手机脚本前期准备
    centos6.5离线rpm安装mysql
    centos7 nginx 启动脚本
    zabbix简单改造为免密登陆
    vue生命周期函数
    mysql 深入问题了解
    9. 回文数.py
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/11172606.html
Copyright © 2011-2022 走看看