Linux指令 —— diff、diff3

diff

这是LINUX上一个及其常用但又功能较为繁复的指令,作为新手,很可能被搞懵。
这里我只给出一两种常规的入门用法。
如果想深入了解,文章下面有链接地址,也
可以找man(如果你英文好的话)。

1.定义:

diff - 以每一行的方式比较两个文件;
简而言之就是,两份文件,每一行每一行的来比较,有不同的就以某种方式显示出来。
diff 命令用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。
diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件(在Linux还有cmp指令,这是专门用来比较二进制文件的指令)。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
diff命令能比较单个文件或者目录内容。
以逐行的方式,比较文本文件的异同处。
如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。

2.使用实例

普通比较输出

root@ubuntu:~/temp# diff client.c Sockt/client.c
31d30
<   printf("hhe\n");
57d55
<   /* hread */
root@ubuntu:~/temp# 

31d30:
表示client.c文件中的31行和Sockt/client.c文件中的30行不同;
< 表示client.c文件中这一行的内容; >表示Sockt/client.c中这一行的内容;
这里表示client.c比Sockt/client.c文件多了一行内容。
一般如果是两个文件不同的行,就会用---隔开:

root@ubuntu:~/temp# diff client.c Sockt/client.c 
19c19
< #define SERVER_PORT 1400
---
> #define SERVER_PORT 14000
31d30
<   printf("hhe\n");
57d55
<   /* hread */

diff 的normal 显示格式有三种提示:
a - add
c - change
d - delete

并排格式输出

root@ubuntu:~/temp# diff client.c Sockt/client.c -y -W 50
/********************   /********************
    > File Name:        > File Name: 
    > Author: Yin       > Author: Yin
    > Com: Hi-tar       > Com: Hi-tar
    > Created Tim       > Created Tim
 ********************    ********************

#include<stdio.h>   #include<stdio.h>
#include<stdlib.h>  #include<stdlib.h>
#include<string.h>  #include<string.h>
#include<netinet/in.h   #include<netinet/in.h
#include<sys/types.h>   #include<sys/types.h>

说明:
“|”表示前后2个文件内容有不同
“<”表示后面文件比前面文件少了1行内容
“>”表示后面文件比前面文件多了1行内容
50:这个数指的是打印结构整个一行又50个字符:

#include<stdio.h>   #include<stdio.h>

-y或–side-by-side  以并列的方式显示文件的异同之处。
-W或–width  在使用-y参数时,指定栏宽。

diff3

diff3 - 以每一行的方式比较三个文件;

root@ubuntu:~/temp# diff3 stoc.c putc.c getc.c 
====3
1:6c
2:6c
  文件名称:putc.c
3:6c
  文件名称:getc.c
====3
1:10c
2:10c
  Created Time: 20171107日 星期二 2142343:10c
  Created Time: 201711月08日 星期三 170350秒
====3
1:19c
2:19c
    int j;
3:18a
root@ubuntu:~/temp# 

第3个文件盒另外两个文件不同

转载地址:http://www.cnblogs.com/peida/archive/2012/12/12/2814048.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值