您好,登錄后才能下訂單哦!
今天小編給大家分享的是如何使用linux的patch命令修補文件,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。
patch命令讓用戶利用設置修補文件的方式,修改,更新原始文件。倘若一次僅修改一個文件,可直接在指令列中下達指令依序執行。如果配合修補文件的方式則能一次修補大批文件,這也是Linux系統核心的升級方法之一 。
語法格式:patch [參數]
常用參數:
-b | 備份每一個原始文件 |
-B | 設置文件備份時,附加在文件名稱前面的字首字符串,該字符串可以是路徑名稱 |
-c | 把修補數據解譯成關聯性的差異 |
-d | 設置工作目錄 |
-D | 用指定的符號把改變的地方標示出來 |
-e | 把修補數據解譯成ed指令可用的敘述文件 |
-E | 若修補過后輸出的文件其內容是一片空白,則移除該文件 |
-f | 此參數的效果和指定"-t:"參數類似,但會假設修補數據的版本為新版本 |
-F | 設置監別列數的最大值 |
-g | 設置以RSC或SCCS控制修補作業 |
-i | 讀取指定的修補文件 |
-l | 忽略修補數據與輸入數據的跳格,空格字符 |
-n | 把修補數據解譯成一般性的差異 |
-N | 忽略修補的數據較原始文件的版本更舊,或該版本的修補數據已使 用過 |
-o | 設置輸出文件的名稱,修補過的文件會以該名稱存放 |
-p | 設置欲剝離幾層路徑名稱 |
-f | 設置保存拒絕修補相關信息的文件名稱,預設的文件名稱為.rej |
-R | 假設修補數據是由新舊文件交換位置而產生 |
-s | 不顯示指令執行過程,除非發生錯誤 |
-t | 自動略過錯誤,不詢問任何問題 |
-T | 此參數的效果和指定"-Z"參數類似,但以本地時間為主 |
-u | 把修補數據解譯成一致化的差異 |
-v | 顯示版本信息 |
-V | 用"-b"參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,這個字符串不僅可用"-z"參數變更,當使用"-V";參數指定不同備份方式時,也會產生不同字尾的備份字符串 |
-Y | 設置文件備份時,附加在文件基本名稱開頭的字首字符串 |
-z | 此參數的效果和指定"-B"參數類似,差別在于修補作業使用的路徑與文件名若為src/linux/fs/super.c,加上"backup/"字符串后,文件super.c會備份于/src/linux/fs/backup目錄里 |
-Z | 把修補過的文件更改,存取時間設為UTC |
--backup-if-mismatch | 在修補數據不完全吻合,且沒有刻意指定要備份文件時,才備份文件 |
--binary | 以二進制模式讀寫數據,而不通過標準輸出設備 |
--help | 查看幫助信息 |
--nobackup-if-mismatch | 在修補數據不完全吻合,且沒有刻意指定要備份文件時,不要備份文件 |
--verbose | 詳細顯示指令的執行過程 |
參考實例
使用patch指令將文件"file1"升級,其升級補丁文件為"file.patch":
[root@linuxcool ~]# patch -p0 file1 file.patch
使用patch來應用補丁:
[root@linuxcool ~]# patch -p0 < foo.patch
關于如何使用linux的patch命令修補文件就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。