导航:首页 > 程序命令 > diff命令显示不同

diff命令显示不同

发布时间:2022-10-21 14:10:57

‘壹’ linux diff命令

如果两个
二进制文件
相同,diff就什么也不显示,否则只简单报告一下这两个文件是不相同的。
diff命令的功能为逐行比较两个文本文件,列出其不同之处。由于二进制文件没有行结构,diff程序将不显示所有的编辑行信息。

‘贰’ shell 命令 diff 的使用简介

diff 命令是 Linux 上比较重要的命令行工具,用于比较文本内容,并找到不相同的地方, diff 在命令行中打印每一行的改动之处。 diff 程序的输出被称为补丁( patch ),在 Linux 系统中还有一个 patch 程序,可以根据 diff 的输出,将文件内容更新为另一个文件内容, diff 是版本控制工具不可或缺的一部分。

diff 命令能比较单个文件或者目录内容。

如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。

如果指定比较的是目录的的时候, diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。

diff 的 normal 显示格式有三种提示:

上面的 “3c3” 和 “8c8” 表示 log2014.log 和 log20143.log 文件在 3 行和第 8 行内容有所不同; "11,12d10" 表示第一个文件比第二个文件多了第 11 和 12 行。

“|”表示前后 2 个文件内容有不同

“<”表示后面文件比前面文件少了 1 行内容

“>”表示后面文件比前面文件多了 1 行内容

这种方式在开头两行作了比较文件的说明,这里有三中特殊字符:

“+” 比较的文件的后者比前着多一行

“-” 比较的文件的后者比前着少一行

“!” 比较的文件两者有差别的行

它的第一部分,也是文件的基本信息:

--- log2014.log 2012-12-07 18:01:54.000000000 +0800

+++ log2013.log 2012-12-07 16:36:26.000000000 +0800

"---"表示变动前的文件,"+++"表示变动后的文件。

第二部分,变动的位置用两个@作为起首和结束。

@@ -1,12 +1,10 @@

前面的 "-1,12" 分成三个部分:减号表示第一个文件(即 log2014.log ),"1"表示第 1 行,"12"表示连续 12 行。合在一起,就表示下面是第一个文件从第 1 行开始的连续 12 行。同样的, "+1,10" 表示变动后,成为第二个文件从第 1 行开始的连续 10 行。

‘叁’ linux diff命令详解

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系统撰写的。

‘肆’ linux diff命令显示结果解析

104c104表示两个文件都有此行,但该行有不同处
107d106表示前个文件有此行,后一文件没有
111a111表示后个文件有此行,前一文件没有
这里数字都是行数

‘伍’ linux diff命令

如果两个二进制文件相同,diff就什么也不显示,否则只简单报告一下这两个文件是不相同的。

diff命令的功能为逐行比较两个文本文件,列出其不同之处。由于二进制文件没有行结构,diff程序将不显示所有的编辑行信息。

‘陆’ 计算机编程中的diff是什么意思

diff 命令比较文本文件。它能比较单个文件或者目录内容。
注:
diff 命令只有当输入为文本文件时才有效。
如果指定了 Directory1 和 Directory2 参数,diff 命令比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。 当 diff 命令运行于常规文件时,且当目录比较期间比较不同的文本文件时,diff 命令显示文件中哪些行必须更改以保持它们一致。如果 File1 和 File2 参数都不是目录,其中之一可能给定负号“-”,以采用标准输入。如果 File1 参数是目录,则使用目录中与 File2 参数指定的文件名一致的那个文件。

‘柒’ Linux文件比较命令的diff命令

1>diff命令的功能
linux中diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。
2>语法
diff
[options]
file1
file2
该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用”-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。
3>[options]主要参数
-a:将所有文件当作文本文件来处理。
-b或–ignore-space-change
忽略空格造成的不同。
-b或–ignore-blank-lines
忽略空行造成的不同。
-c:使用纲要输出格式。
-h:利用试探法加速对大文件的搜索。
-i:忽略大小写的变化。
-n
–rcs:输出rcs格式。
-n或–new-file
在比较目录时,若文件a仅出现在某个目录中,会显示:only
in目录;文件a若使用-n参数,则diff会将文件a与一个空白的文件比较。
-r或–recursive
比较子目录中的文件。
-u,-u<列数>或–unified=<列数>
以合并的方式来显示文件内容的不同。
4>使用方法的实例说明
例如:
diff
/usr/xu
mine
把目录/usr/xu
中名为mine的文件与当前目录中的mine文件进行比较。
通常输出由下述形式的行组成:
n1
a
n3,n4
n1,n2
d
n3
n1,n2
c
n3,n4
这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。
在上述形式的每一行的后面跟随受到影响的若干行,以”<”打头的行属于第一个文件,以”>”打头的行属于第二个文件。
diff能区别块和字符设备文件以及fifo(管道文件),不会把它们与普通文件进行比较。
如果file1和file2都是目录,则diff会产生很多信息。
5>diff最常用的功能
diff有很多功能平时我们不常用到,最常用的功能莫过于生成patch文件了:
diff
-urn
old/
new/
>
mysoft.patch
参数
-u
表示使用
unified
格式,-r
表示比较目录,-n
表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中。
然后在需要应用patch的地方使用下述命令即可:
patch
-p0
<
mysoft.patch
diff的
-y
命令(长格式为
–side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数就相当有用了。如果要改变左右各部分的宽度,可以通过
-w
(–width)参数来指定。
–ignore-blank-lines
参数可以不检查空白行。这样dos格式和unix格式的文件互相比较时,就不至于因为换行符不一致而出现大量的差异。

‘捌’ 为什么git diff显示不出两个文件不同的地方

你好,git diff HEAD 是以当前文件和git 库里面的文件做DIFF,你输入命令后显示的意思不是a/ 目录下的wanglei.txt 和 b/目录下wanglei.txt之间不一样,而是a/wanglei.txt 代表你提交到git 库里面文件wanglei.txt,而b/wanglei.txt 是后来你在本地做了修改的wanglei.txt文件,都是在当前的目录下wanglei.txt,不过一个是已经被提交到git 库里面了 ,另一个是你刚刚替换了,和之前的不一样了 ,所以git diff 会显示这个结果,如果你想学习git 我推荐你看下 progit 和git权威指南 下载链接http://download.csdn.net/detail/dongwuming/5859863

‘玖’ linux diff为什么两个文件没有差别也显示全文都不一样

肯定有差别,比如不可见字符,像是每行最后空格个数,或者回车换行和换行的差别

阅读全文

与diff命令显示不同相关的资料

热点内容
怎么使用access的命令按钮 浏览:897
有点钱app在哪里下载 浏览:832
博途v15解压后无法安装 浏览:203
什么是根服务器主机 浏览:436
安卓手游怎么申请退款 浏览:553
安卓系统如何分享网页 浏览:278
ad如何编译pcb工程 浏览:412
除了滴滴app哪里还能用滴滴 浏览:399
截图怎么保存文件夹然后压缩 浏览:8
幻影服务器怎么样 浏览:27
具体哪些广东公司招程序员 浏览:870
嵌入式编译器教程 浏览:306
ssl数据加密传输 浏览:86
51单片机定时器方式2 浏览:331
命令行查看开机时间 浏览:813
python微博复杂网络分析 浏览:550
rf3148编程器 浏览:505
浙江标准网络服务器机柜云主机 浏览:589
设置网络的服务器地址 浏览:600
java图形界面设计 浏览:751