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实例
45c45 表示 第45行有改变
< xxx表示左边的内容
--- 左右两边的分割线
> yyyy表示右边的内容
vim实例:
首先模拟两个差不多相似的文件,当然在开始之前加上你已经熟悉了vim的基本操作
然后用使用如下命令打开两个文件,vimdiff默认是垂直打开两个文件,如果你的屏幕小的话建议你使用水平打开两个文件命令如下:
水平打开: vimdiff log4j.properties log4j.properties
垂直打开: vimdiff -o log4j.properties log4j.properties
大写-O,同 -o 但垂直分割
红色的行,表示有差异。
最后就是保存修改或者撤销修改的文件,保存和撤销单个文件我们用 :w :q :q!等而保存或撤销多个文件,使用如下命令:
:qa,不保存,关闭所有文件窗口,但是有文件时vim有提示;
:qa!,不保存,忽略修改,关闭所有文件窗口;
:xa, 保存(如果有修改)所有文件,关闭所有窗口;
:wqa,保存并关闭所有文件窗口,没有修改的文件也会再次被保存。