本文的目的是向Linux新手介绍一种无价的资源,Larry Wall的patch程序。patch是用来查找文件之间差异的GNU diff命令的一个接口;diff有很多选项,但是该命令最常用的用途是用来生成一个文件,该文件中列出了内容发生改变的行,显示两个原始文件、修改过的 行以及由于内容没有变化而忽略掉的行。
patch典型地用于把一个目录下的源代码文件更新到新的版本,从而就避免了下载整个新的源代码档案的必要。
diff 和 patch 是相辅相成的, diff命令产生patch文件, 由patch命令解析执行。
先介绍diff
diff的功能就是用来比较两个文件的不同,然后记录下来,也就是所谓的diff补丁。
格式 : diff[参数][文件1或目录1][文件2或目录2]
参数 : 这里只提几个能和patch一起使用的
-a或--text diff预设只会逐行比较文本文件。
-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
-r或--recursive 比较子目录中的文件。
-u,-U或--unified= 以合并的方式来显示文件内容的不同。
-c 显示全部内文,并标出不同之处。
一般就使用 -Nur
产生patch文件
命令diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件。
不加任何参数生成的diff文件格式是一种简单的格式,这种格式只标出了不一样的行数和内容。我们需要一
patch典型地用于把一个目录下的源代码文件更新到新的版本,从而就避免了下载整个新的源代码档案的必要。
diff 和 patch 是相辅相成的, diff命令产生patch文件, 由patch命令解析执行。
先介绍diff
diff的功能就是用来比较两个文件的不同,然后记录下来,也就是所谓的diff补丁。
格式 : diff[参数][文件1或目录1][文件2或目录2]
参数 : 这里只提几个能和patch一起使用的
-a或--text diff预设只会逐行比较文本文件。
-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
-r或--recursive 比较子目录中的文件。
-u,-U或--unified= 以合并的方式来显示文件内容的不同。
-c 显示全部内文,并标出不同之处。
一般就使用 -Nur
产生patch文件
命令diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件。
不加任何参数生成的diff文件格式是一种简单的格式,这种格式只标出了不一样的行数和内容。我们需要一