只想查看两个文件的差异的话,可以使用:diff file1 file2
要讲差异生成patch的话可以使用参数-u:diff -u file1 file2 >file.patch
要把补丁打到file1上的话,可以使用:patch -p0 <file.patch(p后面的数字取决于你在哪一级目录下打patch,0表示当前目录,1表示上一级目录,以此类推,目录是相对于生成patch的目录而言的)
去除补丁的话就用:patch -RE <file.patch
diff后面可以跟几个常用参数说明:-u 生成patch
-r 递归对比目录中的所有文件
-a 将所有文件视为文本
-N 当递归对比目录下的文件时,一侧目录下面没有的文件可以看做是有一个对应名字的空文件,不加这个的话就只对比两头都有的文件
diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。下面是linuxdiff命令的具体介绍:diff(diff即different简写)命令用于比较文件的差异。
选项:
-
-a或——text:diff预设只会逐行比较文本文件
-b或_ignore-space-change:不检查空格字符的不同
-B或_ignore-blank-lines:不检查空白行
-c:显示全部内容,并标出不同之处
-C
-d或——minimal:使用不同的演算法,以小的单位来做比较
-D
-e或——ed:此参数的输出格式可用于ed的script文件
-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处
-H或_speed-large-files:比较大文件时,可加快速度
-l
-i或_ignore-case:不检查大小写的不同
-l或——paginate:将结果交由pr程序来分页
-n或——rcs:将比较结果以RCS的格式来显示
-N或_new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Onlyin目录,文件A若使用-N参数,则diff会将文件A与一个空白的文件比较
-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称
-P或_unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较
-q或_brief仅显示有无差异,不显示详细的信息
-r或——recursive:比较子目录中的文件
-s或_report-identical-files:若没有发现任何差异,仍然显示信息
-S
-t或_expand-tabs:在输出时,将tab字符展开
-T或_initial-tab:在每行前面加上tab字符以便对齐
-u,-U
-v或——version:显示版本信息
-w或_ignore-all-space:忽略全部的空格字符
-W
-x
-X
-y或_side-by-side:以并列的方式显示文件的异同之处
_help:显示帮助
_left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容
_suppress-common-lines:在使用-y参数时,仅显示不同之处。
以上就是今天的分享了,希望可以帮助到大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)