diff 和 patch 经常成对的应用,diff可以以"行"为单位比较两个文件或 目录的差别,然后输出不同格式的结果。patch可以应用diff的输出结 果。
常见使用
虽然 diff 和 patch 的 man 页都有一大堆,但是经常使用的参数非常少。
diff
# diff -Nur 旧目录 新目录 > ***.patch # diff -Nupr 旧目录 新目录 > ***.patch # diff -u 旧文件 新文件 > ***.patch # diff -up 旧C文件 新C文件 > ***.patch
常见用法中的几个参数:
-N 表示如果某个文件仅在一个目录中出现,则假定其在另外一个目录中为空文件。
-u 表示unified格式(新的上下文格式,针对旧的上下文格式命名)输出。
-r 表示对于目录递归比较。
-p(--show-c-function)
可以表示不同之处所在的函数名,对于C源代码文件比较有用。
