linux diff patch 用法

翻译,原文:

http://www.scottro.net/qnd/qnd-diff-patch


1)找到diff, patch工具

which diff
which patch

若没找到,可能没有添加到环境变量中,试试这个

for i in /bin /usr/bin /usr/local; do
    find $i -name diff
    find $i name patch
done

能否找到


2)生成patch

比较新文件和源文件的差生成patch

diff -uN original_file new_file >patch.original_file

例如,自己修改的linux版本和原始版本作diff后的patch:

diff -uNr linux-2.4.19 linux-2.4.19-my_version   >patch.linux-2.4.19-my_version

3)使用patch

把patch文件和需要打patch的文件放在同一目录下,执行

patch <patch_file

注意:需要打patch的文件必须是2)中的相同文件名

如果要给整个文件夹打patch,需要加 -p1参数

patch -p1 <patch_file


比如上个例子中linux kernel的patch,你给了别人,别人可以在原始kernel上使用patch,而变成你的kernel代码。

patch -p1 <patch.linux-2.4.19-my_version

更多参考:

http://www.gnu.org/software/diffutils/diffutils.html
http://www.gnu.org/manual/diffutils/html_mono/diff.html

================翻译完========================

通过man diff 查看上文中的参数含义

  -u, -U NUM, --unified[=NUM]
             output NUM (default 3) lines of unified context

  -r, --recursive
              recursively compare any subdirectories found

   -N, --new-file
              treat absent files as empty








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值