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

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

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

如何在Linux下打patch(下)

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

diff

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

diff [options] from-file to-file

from-file:源文件

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

option:

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

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

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

-a 逐行比較文本文件

-r 比較子目錄中的文件

打 patch

兩個文件:需要打補丁的文件 a.c 和 patch 文件 test.patch

打補丁命令如下:

patch a.c < test.patch

實際操作如下:

圖片

補充:

patch -RE < test.patch 取消 patch 對源文件的修改

patch -p1 < test.patch

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

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

多文件打 patch

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

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

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

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

    關(guān)注

    5052

    文章

    18913

    瀏覽量

    300832
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208480
  • patch
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    8313
收藏 人收藏

    評論

    相關(guān)推薦

    請問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安裝字體

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

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

    何在Linux驅(qū)動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 ?4663次閱讀

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

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

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

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

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Win7安裝linux的虛擬機詳細(xì)安裝方法資料概述免費下載。
    發(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單片機的開發(fā)燒寫環(huán)境

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux環(huán)境搭建51單片機的開發(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單片機的開發(fā)燒寫環(huán)境

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux環(huán)境實現(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>實現(xiàn)Python環(huán)境的搭建

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

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

    Linux如何安裝和卸載rpm工具

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

    何在Linuxpatch(上)

    在項目中,如果和其他人一起維護(hù)一個項目,有時候別人修改了一些代碼,更換 .c 文件也很麻煩,這時就需要用到 patch 了,別人只要發(fā)一個 patch ,你打上即可。 patch :補丁,用來顯示
    的頭像 發(fā)表于 07-30 15:34 ?1066次閱讀
    如<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>(上)