0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Linux下打patch(下)

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-30 15:37 ? 次閱讀

diff

比較兩個(gè)文件的不同,然后記錄下來,也就是所謂的 diff 補(bǔ)丁。

diff [options] from-file to-file

from-file:源文件

to-file:根據(jù)源文件修改后的文件

option:

-u 顯示有差異行的前后幾行(上下文), 默認(rèn)是前后各 3 行, 這樣, patch 中帶有更多的信息

-p 顯示代碼所在的 c 函數(shù)的信息

-N 選項(xiàng)確保補(bǔ)丁文件將正確地處理已經(jīng)創(chuàng)建或刪除文件的情況

-a 逐行比較文本文件

-r 比較子目錄中的文件

打 patch

兩個(gè)文件:需要打補(bǔ)丁的文件 a.c 和 patch 文件 test.patch

打補(bǔ)丁命令如下:

patch a.c < test.patch

實(shí)際操作如下:

圖片

補(bǔ)充:

patch -RE < test.patch 取消 patch 對(duì)源文件的修改

patch -p1 < test.patch

p 表示跳過幾級(jí)目錄,0 標(biāo)識(shí)不去掉為全路徑,1 標(biāo)識(shí)去掉第一層路徑。路徑信息包含了你的 Linux 源碼根目錄的名稱,但其他人的源碼根目錄可能是其它名字,所以,打補(bǔ)丁時(shí),要進(jìn)入你的 Linux 源碼根目錄,并且告訴 patch 工具,請(qǐng)忽略補(bǔ)丁中的路徑的第一級(jí)目錄。

注意:patch -p 后面是不能帶負(fù)數(shù) 的。不使用 p 參數(shù)的時(shí)候,patch 命令會(huì) 忽略 任何目錄,直接使用文件。

多文件打 patch

本文是兩個(gè)文件做比較,打 patch,比較簡單。如果是一個(gè)工程,有多個(gè)文件修改,需要在 diff 后面增加兩個(gè)屬性:

-r 遞歸地對(duì)比一個(gè)目錄和它的所有子目錄(即整個(gè)目錄樹).

-N 如果某個(gè)文件缺少了,就當(dāng)作是空文件來對(duì)比. 如果不使用本選項(xiàng),當(dāng) diff 發(fā)現(xiàn)舊代碼或者新代碼缺少文件時(shí),只簡單的提示缺少文件。如果使用本選項(xiàng),會(huì)將新添加的文件全新打印出來作為新增的部分。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298568
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207916
  • patch
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    8312
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問ESP Wroom 32板如何在LInux使用?

    ESP Wroom 32板如何在LInux使用。 我用的系統(tǒng)是統(tǒng)信UOS,如何使用ESP32板,開發(fā)Micropython啊 簡單來說就是在ESP32上刷上micropython固件,然后編寫micropython代碼。 在
    發(fā)表于 06-05 06:22

    何在linux進(jìn)行c語言編程

    何在linux進(jìn)行c語言編程
    發(fā)表于 08-20 22:55

    何在linux進(jìn)行軟件開發(fā)

    何在linux進(jìn)行軟件開發(fā)
    發(fā)表于 08-21 01:00

    何在Linux安裝字體

    問題場(chǎng)景在用itext開發(fā)完P(guān)DF之后,有要求Apache要部署到Linux,也可能部署到windows,由于筆者在Windows開發(fā)的,字體沒問題;但是
    發(fā)表于 07-04 08:14

    何在Linux驅(qū)動(dòng)STN彩色LCD?

    何在Linux驅(qū)動(dòng)STN彩色LCD?
    發(fā)表于 06-04 06:29

    LinuxC應(yīng)用程序開發(fā)

    本文介紹了在 Linux能用于 C 應(yīng)用程序開發(fā)和調(diào)試的工具. 本文的主旨是介紹如何在 Linux 使用 C 編譯器和其他 C 編程工具
    發(fā)表于 05-14 10:16 ?4655次閱讀

    何在Linux搭建GNU Radio平臺(tái)及它的應(yīng)用分析

    GNU Radio是一個(gè)開源的軟件無線電開發(fā)平臺(tái),可以通過圖形化界面或C++、Python等文本語言快速開發(fā)軟件無線電應(yīng)用,本文介紹了LinuxGNU Radio平臺(tái)的搭建及如何在該平臺(tái)下使用NI USRP設(shè)備。
    的頭像 發(fā)表于 01-02 07:56 ?4060次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>下</b>搭建GNU Radio平臺(tái)及它的應(yīng)用分析

    何在Linux如何刪除大量文件的詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux刪除大量文件的過程詳細(xì)資料概述免費(fèi)下載。
    發(fā)表于 11-14 17:10 ?7次下載

    何在Win安裝linux的虛擬機(jī)詳細(xì)安裝方法資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Win7安裝linux的虛擬機(jī)詳細(xì)安裝方法資料概述免費(fèi)下載。
    發(fā)表于 11-28 15:03 ?3次下載

    LINUX系統(tǒng)教程之如何在Linux系統(tǒng)進(jìn)行編程

    本文檔的主要內(nèi)容詳細(xì)介紹的是LINUX系統(tǒng)教程之如何在Linux系統(tǒng)進(jìn)行編程主要內(nèi)容包括了:程序開發(fā)過程 ,Linux編程環(huán)境和開發(fā)工具
    發(fā)表于 12-18 19:09 ?9次下載

    何在Linux環(huán)境搭建51單片機(jī)的開發(fā)燒寫環(huán)境

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux環(huán)境搭建51單片機(jī)的開發(fā)燒寫環(huán)境。
    發(fā)表于 08-15 17:32 ?2次下載
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>環(huán)境<b class='flag-5'>下</b>搭建51單片機(jī)的開發(fā)燒寫環(huán)境

    何在Linux環(huán)境實(shí)現(xiàn)Python環(huán)境的搭建

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux環(huán)境實(shí)現(xiàn)Python環(huán)境的搭建。
    發(fā)表于 08-24 12:12 ?14次下載
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>環(huán)境<b class='flag-5'>下</b>實(shí)現(xiàn)Python環(huán)境的搭建

    何在Linux系統(tǒng)開啟wifi

    大家好,我是ST。今天主要和大家聊一聊如何在Linux系統(tǒng)開啟wifi。
    的頭像 發(fā)表于 10-08 09:21 ?4326次閱讀

    Linux如何安裝和卸載rpm工具

    在Windows系統(tǒng)安裝軟件很簡單,只要雙擊后綴為.exe的文件,然后根據(jù)提示連續(xù)單擊“下一步”按鈕即可。然而在Linux系統(tǒng)安裝軟件就沒那么容易了,因?yàn)槲覀儾皇窃趫D形界面。所以
    的頭像 發(fā)表于 11-06 22:07 ?8069次閱讀

    何在Linuxpatch(上)

    在項(xiàng)目中,如果和其他人一起維護(hù)一個(gè)項(xiàng)目,有時(shí)候別人修改了一些代碼,更換 .c 文件也很麻煩,這時(shí)就需要用到 patch 了,別人只要發(fā)一個(gè) patch ,你打上即可。 patch :補(bǔ)丁,用來顯示
    的頭像 發(fā)表于 07-30 15:34 ?1029次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>下</b><b class='flag-5'>打</b><b class='flag-5'>patch</b>(上)