一般正常比较两个文件用vimdiff,算是直接进入vim界面,如果比较两个文件夹下面的文件,可以用diff,注意,这里只会比较文件夹下面的同名文件,他会列出不一样的点.

参考Linux下Diff命令使用方法

diff

Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

  1》Diff命令的功能

  Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

  2》语法

  diff [options] file1 file2

  该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用”-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。

  3》[options]主要参数

  -a:将所有文件当作文本文件来处理。

  -b或–ignore-space-change  忽略空格造成的不同。

  -B或–ignore-blank-lines  忽略空行造成的不同。

  -c:使用纲要输出格式。

  -H:利用试探法加速对大文件的搜索。

  -I:忽略大小写的变化。

  -n –rcs:输出RCS格式。

  -N或–new-file  在比较目录时,若文件A仅出现在某个目录中,www.linuxidc.com会显示:Only in目录;文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

  -r或–recursive  比较子目录中的文件。

  -u,-U《列数》或–unified=《列数》  以合并的方式来显示文件内容的不同。

  4》使用方法的实例说明

  例如:

diff /usr/xu mine

  把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。

  通常输出由下述形式的行组成:

  n1 a n3,n4

  n1,n2 d n3

  n1,n2 c n3,n4 这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。

  在上述形式的每一行的后面跟随受到影响的若干行,以”《”打头的行属于第一个文件,以”》”打头的行属于第二个文件。

  diff能区别块和字符设备文件以及FIFO(管道文件),不会把它们与普通文件进行比较。

  如果file1和file2都是目录,则diff会产生很多信息。

  5》diff最常用的功能

  diff有很多功能平时我们不常用到,最常用的功能莫过于生成patch文件了:

  diff -urN old/ new/ 》 mysoft.patch

  参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中。

  然后在需要应用patch的地方使用下述命令即可:

  patch -p0 《 mysoft.patch

  diff的 -y 命令

(长格式为 –side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数 就相当有用了。如果要改变左右各部分的宽度,可以通过 -W (–width)参数来指定。

  –ignore-blank-lines 参数可以不检查空白行。这样DOS格式和Unix格式的文件互相比较时,就不至于因为换行符不一致而出现大量的差异。

最新文章

  1. OpenWRT学习笔记-1@WNDR3800
  2. C#泛型List的用法
  3. 6.HotSpot垃圾收集器
  4. CentOS6.5下RPM方式安装mysql5.6.33
  5. 数据库笔记--常见sql操作
  6. java for循环的几种写法
  7. java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)
  8. OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)
  9. Linux备份策略(第二版)
  10. reset()方法的使用、jq下面reset()的正确使用方法
  11. sublime_text3代码自动补全
  12. June 18. 2018, Week 25th. Monday
  13. (七):处理MFC
  14. 帝国cms支持的变量及灵动标签变量汇总
  15. 05_python_字典
  16. linux下usb转串口驱动分析【转】
  17. springboot整合mybatis的两种方式
  18. 20170708xlVBA添加新产品修改公式
  19. C++11新特性之0——移动语义、移动构造函数和右值引用
  20. MarkdownPad2 下一些设置

热门文章

  1. HTML 页面源代码布局介绍
  2. C++单例模式设计与实现
  3. Linux环境编译动态库和静态库总结
  4. bzoj1511 [POI2006]OKR-Periods of Words kmp+乱搞
  5. TypeError: only integer scalar arrays can be converted to a scalar index
  6. Window启动Zookeeper报错java.lang.NumberFormatException: For input string:
  7. constant value too large
  8. 接口自动化测试框架HttpRunner
  9. 【CodeForces】870 F. Paths
  10. 【zTree】zTree展开树节点