Linux学习笔记3——文件比较

文件比较

cmp命令:两文件逐字节比较

cmp file1 file2
  1. 功能:逐字节比较两个文件是否相同

  2. 两个文件相同时,不给出任何提示

    不同时,打印第一个不同之处

  3. 局限性:只能比较两个位于同一机器上的文件

md5sum:散列编码(不是比较)

md5sum src.tar proto.txt > myfile.log  #将两个16进制长度的编码写入log中,如果有其他人需要比较自己是否下载了正确的程序,只需比较这两个文件的编码即可
  1. 常用于比较两个位于网络中不同机器上的两个文件是否相同
  2. 将文件转换为统一长度的16个字节长度的编码
diff:比较文件差别(历史修改)
diff file1 file2  # normal格式
diff -u file1 file2  #unified格式
  1. 功能:比较两个文件之间的差别。大于号> 表示要加入的内容,小于号<表示要删除的内容

  2. normal格式:列出如何将file1转化为file2

    file1行号 + 指令 + file2行号含义
    a(ADD)增加
    c(Change)修改
    d(Delete)删除

    举例:diff test.c test1.c

    //test.c 文件
    1. #include<iostream>
    2. #include<stdlib.h>
    3. using namespace std;
    4. 
    5. int main()
    6. {
    7.     for(int i=0;i<5;i++)
    8.     {
    9.         cout<<"test"<<endl;
    10.    }
    11.    return 0;
    12. }
    
    
    //test1.c文件
    1. #include<iostream>
    2. using namespace std;
    3. 
    4. int main()
    5. {
    6.     int test = 0;
    7.     for(int i=0;i<5;i++)
    8.     {
    9.         cout<<"123456"<<endl;
    10.    }
    11.    return 0;
    12. }
    
    
指令修改方式含义
2d1< #include<stdlib.h>file1的第2行删除后,后面的内容与file2的第1行一致
6a6> int test = 0;在file1的第6行之后加入file2的第6行
9c9< cout<<"test"<<endl;在file1中删除这一行
---表示分割线,分割线以上为file1的原有内容
> cout<<"123456"<<endl;在file2中加入这一行
  1. unified格式

    ~:  test diff -u test.c test1.c
    --- test.c	2020-06-05 11:09:42.000000000 +0800
    +++ test1.c	2020-06-05 11:02:17.000000000 +0800
    @@ -1,12 +1,12 @@
     #include<iostream>
    -#include<stdlib.h>   # 删除test.c中的这一行
     using namespace std;
     
     int main()
     {
    +    int test = 0;   # 在test.c中加入这一行
         for(int i=0;i<5;i++)
         {
    -        cout<<"test"<<endl;   # 在test.c中删除这一行
    +        cout<<"123456"<<endl;   # 在test.c中加入这一行
         }
         return 0;
     }
    
    

Vi编辑

偏好设置

修改用户HOME目录下的.exrc文件

set number  # 显示行号
set tabstop=4  # 制表符为4格

运行时检查偏好设置:

:set

操作键

  1. 移动到指定行:465

  2. 移动到文件尾:$

  3. 移动到行尾$,移动到行首^

  4. 光标移动到配对括号上:%

  5. 撤回u, 重复上次的操作:.

  6. 保存退出:zz 或者:wq

流量控制

终端输入Ctrl-C后断流,使用Ctrl-Q恢复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值