Linux命令比较文件差异diff和vim工具

diff 命令介绍
diff 命令的功能为逐行比较两个文本文件,列出其不同之处。对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。如果 diff 命令后跟的是目录,则会对该目录中的同名文件进行比较,但不会比较其子目录。

vim介绍

linux下的文件对比工具diff,在对比文本方面,如果你需要详细去对比两个文件的不同,详细的到字节,那么这个时候vim比diff更适合,vim(它会用颜色标注出不同之处)某些时候。

 

diff对比文件命令

diff file1  file2 
diff file1  file2  | cat -n

两文件相同不会输出信息, 两文件不同才会输出信息

 

vim对比文件命令

两文件对比
vim -d file1 file2
或
vimdiff file1 file2

多文件对比
vim -d file1 file2 file3 .....filen
或
vimdiff file1 file2 file3 .....filen

-d            Diff 模式 (同 "vimdiff")

 

diff实例

Linux命令比较文件差异diff和vim工具_比较文件差异diff工具

说明下:

45c45 表示 第45行有改变

< xxx表示左边的内容

--- 左右两边的分割线

> yyyy表示右边的内容

 

vim实例:

首先模拟两个差不多相似的文件,当然在开始之前加上你已经熟悉了vim的基本操作

然后用使用如下命令打开两个文件,vimdiff默认是垂直打开两个文件,如果你的屏幕小的话建议你使用水平打开两个文件命令如下:
水平打开:  vimdiff   log4j.properties     log4j.properties     
垂直打开:   vimdiff -o  log4j.properties     log4j.properties 

大写-O,同 -o 但垂直分割

Linux命令比较文件差异diff和vim工具_比较文件差异diff和vim工具_02

Linux命令比较文件差异diff和vim工具_比较文件差异diff工具_03

红色的行,表示有差异。

最后就是保存修改或者撤销修改的文件,保存和撤销单个文件我们用 :w :q :q!等而保存或撤销多个文件,使用如下命令:

:qa,不保存,关闭所有文件窗口,但是有文件时vim有提示;

:qa!,不保存,忽略修改,关闭所有文件窗口;

:xa, 保存(如果有修改)所有文件,关闭所有窗口;

:wqa,保存并关闭所有文件窗口,没有修改的文件也会再次被保存。