歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux diff and patch


Linux diff and patch   diff的選項挺多,但這裡只介紹最常用的三個,其他的,還是看man diff吧:  -r: 遞歸比較文件夾下的文件 -N: 如果某個比較的文件為不存在,則視為空文件 -u: unified,diff的結果進行格式化輸出(可讀性更好)   www.2cto.com   所以,diff的一般用法是: diff -Nur old_version new_version >> mods.diff    patch使用diff文件的輸出,所以兩者總是配對使用。但patch不僅可以支持diff產生的輸出,也可使用svn/git等工具生成的diff。    patch的三個常用選項:  -p NUM: 產生的diff文件,包含diff時使用的to-file(上面的old_version)的path,path有層級,比如:/myproject/model/people/profile.py,但這個path不總是正確,因為diff文件的位置是可以移動的,比如,在/目錄,按照path去打patch沒有問題,但把diff文件保存在/myproject目錄下,則找不到/myproject/model/people/profile.py這個路徑了。這個-p屬性就是用來去掉path中斜槓(/)的數量。默認情況下,path是profile.py。-p1:myproject/model/people/profile.py。-p2:model/people/profile.py。-p3: people/profile.py。-p4: profile.py。所以patch -p0 和patch是不一樣的,注意了。 -R: 即--reverse,打過patch,如果想要取消,則加上此選項 -b: 給打patch的文件進行備份,比如要對profile.py文件打patch,打完之後發現會多一個hello.py.orig文件   patch的一般用法: patch  -pNUM < patchfile,NUM視具體情況而定。   
Copyright © Linux教程網 All Rights Reserved