diff命令及常用选项
命令格式
diff [选项] old_file new_file
以上old_file 和new_file可以是文件,也可以是文件夹。
常用选项
选项 | 说明 |
---|---|
-r | 递归比较各子目录下的文件 |
-N | 将不存在的文件当作空文件 |
-u | 默认输出每个修改前后的3行,也可以用-u5等指定输出更多上下文。 |
-B | 忽略对空行的比较 |
-w | 忽略所有空格和制表符。例如,if ( a == b ) 与 if(a==b) 相等。 |
制作补丁
一般 -Nu
是一直使用的参数,而-r
如果含子目录就使用,不含则不使用。
举例一
假设Linux-2.6.22.6
目录是原始的内核,Linux-2.6.22.6_ok
目录是修改后的内核,可以使用以下命令制作补丁文件(原始目录在前,修改过的目录在后)
diff -Nur linux-2.6.22.6 linux-2.6.22.6_ok >linux-2.6.22.6.patch
举例二
contiki-3.0
目录是原始文件夹(我从官网下载的),contiki-3.0_ok
是修改后的文件夹(我进入深层目录随便修改了2个文件)
打补丁的命令是:
diff -Nur contiki-3.0 contiki-3.0_ok >contiki.patch
我们可以看看contiki.patch
文件的内容。
格式解读可以参考我的博文
http://blog.csdn.net/longintchar/article/details/51174332