Linux下diff的操作详解( 二 )


-v或——version:显示版本信息;
 
3 diff输出的文件解释说完了diff命令的操作,我们再来看看diff命令输出文件,因为有时候我们通过输出信息自己比对文件的差异结论 。
 
1.diff直接输出到终端显示

Linux下diff的操作详解

文章插图
 

Linux下diff的操作详解

文章插图
 
?
 
说明:
  • "<"表示后面文件比前面文件少了1行内容
  • ">"表示后面文件比前面文件多了1行内容

2.diff直接输出为patch文件查看
Linux下diff的操作详解

文章插图
 

Linux下diff的操作详解

文章插图
 
?
如图所示,我打开了我对比内核代码之后生成的.patch文件为例:
里面有每个文件都会标注
Binary files linux-4.19-rc3_lyn/arch/arm/boot/compressed/ashldi3.o and linux-4.19-rc3/arch/arm/boot/compressed/ashldi3.o differdiff -ruN linux-4.19-rc3_lyn/arch/arm/boot/compressed/.ashldi3.o.cmd linux-4.19-rc3/arch/arm/boot/compressed/.ashldi3.o.cmd--- linux-4.19-rc3_lyn/arch/arm/boot/compressed/.ashldi3.o.cmd1970-01-01 08:00:00.000000000 +0800+++ linux-4.19-rc3/arch/arm/boot/compressed/.ashldi3.o.cmd2020-08-21 10:54:52.774658500 +0800@@ -0,0 +1,80 @@+cmd_arch/arm/boot/compressed/ashldi3.o := arm-linux-gnueabi-gcc -Wp,-MD,arch/arm/boot/compressed/.ashldi3.o.d-nostdinc -isystem /work/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/include -I./arch/arm/include -I./arch/arm/include/generated-I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Iarch/arm/mach-s3c24xx/include -Iarch/arm/plat-samsung/include -D__ASSEMBLY__ -fno-PIE -DCC_HAVE_ASM_GOTO -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=4 -march=armv4t -mtune=arm9tdmi -include asm/unified.h -msoft-float -Wa,-gdwarf-2 -DZIMAGE-c -o arch/arm/boot/compressed/ashldi3.o arch/arm/boot/compressed/ashldi3.S++source_arch/arm/boot/compressed/ashldi3.o := arch/arm/boot/compressed/ashldi3.S++deps_arch/arm/boot/compressed/ashldi3.o :=
Linux下diff的操作详解

文章插图
 
第一部分,也是文件的基本信息:
--- linux-4.19-rc3_lyn/arch/arm/boot/compressed/.ashldi3.o.cmd 1970-01-01 08:00:00.000000000 +0800
+++ linux-4.19-rc3/arch/arm/boot/compressed/.ashldi3.o.cmd 2020-08-21 10:54:52.774658500 +0800
 
"---"表示变动前的文件,"+++"表示变动后的文件 。
 
第二部分,变动的位置用两个@作为起首和结束 。
 
@@ -0,0 +1,80 @@
前面的"-0,0"分成三个部分:减号表示第一个文件(即linux-4.19-rc3_lyn/arch/arm/boot/compressed/.ashldi3.o.cmd),"0"表示第0行,后一个"0"表示连续0行;同样的,"+1,10",加号表示第二个文件,就表示下面是第二个文件从第1行开始的连续80行 。
 
通过这些信息我们就可以看懂对比之后文件的差异处了,是不是很容易呢 。
 
这就是我分享的linux下diff命令,如果大家有什么更好的思路,欢迎分享交流哈 。




推荐阅读