每天回顾linux命令(diff)
2017-10-25 23:43
344 查看
diff命令
diff命令用来比较给定两个文件的不同。以逐行的方式,比较文本的异同处。如果该命令指定进行目录比较,则会比较目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。
语法
diff (选项) (参数) 或者 diff (参数) (选项)
选项
-a 或 –test: diff预设会逐行比较文本文件,默认情况下有-a的效果
-b或 –ignore-space-change:不检查空格字符的不同
-B或–ignore-blank-lines:不检查空白行
-c:显示全部内容,并标出不同处
-C<行数>或–context<行数>:和执行“-c-<行数>”指令相同
-e或–ed:此参数的输出格式可用于ed的script文件,其实就是只输出一边
-f或-forward-ed:输出格式类似ed文件
-H或–speed-large-files:比较大文件时,可加快速度。
-i或-ignor-case:不检查大小写的不同
-N或-new-file:在比较目录时,若文件A仅出现在某个目录中,会显示:Only in目录,文件A 若使用-N,则diff会将文件A与一个空文件比较
-p:若比较我文件为C语言代码文件,显示差异说着的文件名称
-P:和-N类似,但只有当第二个目录包含第一个目录所没有的文件时,才会将这个文件与空白做比较
-q:只显示有无差异,不显示详细信息
-r:递归比较子目录中的文件。
-s:如果无发现任何差异,仍然显示信息
-t:输出是,将tab字符展开
-T:每行前面加上tab字符以便于对齐
-u,-u<列数> : 以合并发方式显示文件的不同
-v:显示版本信息
-w:忽略全部空格字符
-W<宽度> : 在使用-y参数是,指定栏宽
-x<文件名或目录>:不比较选项中指定的文件和目录名
-y:以并列的方式显示文件的异同
–help:显示帮助信息
–left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧栏位显示该行内容
–suppress-common-lines:在使用-y参数时,仅显示不同
参数
指定要比较的文件
diff命令用来比较给定两个文件的不同。以逐行的方式,比较文本的异同处。如果该命令指定进行目录比较,则会比较目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。
语法
diff (选项) (参数) 或者 diff (参数) (选项)
选项
-a 或 –test: diff预设会逐行比较文本文件,默认情况下有-a的效果
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.txt b.txt 1,2c1,2 < abc < 123 --- > cdf > 456 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -a a.txt b.txt 1,2c1,2 < abc < 123 --- > cdf > 456
-b或 –ignore-space-change:不检查空格字符的不同
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -a a.txt b.txt 1,3c1,3 < abc < 123 < 123 456 --- > cdf > 456 > 123 456 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -b a.txt b.txt 1,2c1,2 < abc < 123 --- > cdf > 456
-B或–ignore-blank-lines:不检查空白行
-c:显示全部内容,并标出不同处
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -c a.txt b.txt *** a.txt Wed Oct 25 14:31:18 2017 --- b.txt Wed Oct 25 14:32:01 2017 *************** *** 1,4 **** 1 ! abc ! 123 ! 123 456 --- 1,5 ---- 1 ! cdf ! 456 ! ! 123 456
-C<行数>或–context<行数>:和执行“-c-<行数>”指令相同
-e或–ed:此参数的输出格式可用于ed的script文件,其实就是只输出一边
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -e a.txt b.txt 2,4c cdf 456 123 456 . root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -e b.txt a.txt 2,5c abc 123 123 456 .
-f或-forward-ed:输出格式类似ed文件
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -f b.txt a.txt c2 5 abc 123 123 456 . root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff -f a.txt b.txt c2 4 cdf 456 123 456 .
-H或–speed-large-files:比较大文件时,可加快速度。
-i或-ignor-case:不检查大小写的不同
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.txt b.txt 2c2 < abc --- > ABC root@3eb7af6247bb< dfd7 /span>:/home/wzm/go/src/testdiff# diff a.txt b.txt -i root@3eb7af6247bb:/home/wzm/go/src/testdiff#
-N或-new-file:在比较目录时,若文件A仅出现在某个目录中,会显示:Only in目录,文件A 若使用-N,则diff会将文件A与一个空文件比较
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a b Only in a: a.txt Only in b: b.txt root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a b -N diff -N a/a.txt b/a.txt 1,2d0 < 1 < abc diff -N a/b.txt b/b.txt 0a1,2 > 1 > ABC
-p:若比较我文件为C语言代码文件,显示差异说着的文件名称
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c 1,2c1,2 < int Test(int a) { < return 0 --- > void Testb(int b) { > return 0; 4,5c4 < 123 < --- > abc root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -p *** a.c Wed Oct 25 15:15:29 2017 --- b.c Wed Oct 25 15:16:18 2017 *************** *** 1,5 **** ! int Test(int a) { ! return 0 } ! 123 ! --- 1,4 ---- ! void Testb(int b) { ! return 0; } ! abc
-P:和-N类似,但只有当第二个目录包含第一个目录所没有的文件时,才会将这个文件与空白做比较
-q:只显示有无差异,不显示详细信息
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -q Files a.c and b.c differ
-r:递归比较子目录中的文件。
-s:如果无发现任何差异,仍然显示信息
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -s Files a.c and b.c are identical
-t:输出是,将tab字符展开
-T:每行前面加上tab字符以便于对齐
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c 1c1 < 123 --- > 123 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -t 1c1 < 123 --- > 123 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -T 1c1 < 123 --- > 123
-u,-u<列数> : 以合并发方式显示文件的不同
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -u --- a.c 2017-10-25 15:28:50.989221240 +0000 +++ b.c 2017-10-25 15:29:06.870858237 +0000 @@ -1,3 +1,3 @@ - 123 -1 -2 + 123 +3 +4 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c 1,3c1,3 < 123 < 1 < 2 --- > 123 > 3 > 4
-v:显示版本信息
-w:忽略全部空格字符
-W<宽度> : 在使用-y参数是,指定栏宽
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y -W 50 123 | 123 1 | 3 2 | 4 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c 1,3c1,3 < 123 < 1 < 2 --- > 123 > 3 > 4 root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y 123 | 123 1 | 3 2 | 4
-x<文件名或目录>:不比较选项中指定的文件和目录名
-y:以并列的方式显示文件的异同
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y 123 | 123 1 | 3 2 | 4 3 3
–help:显示帮助信息
–left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧栏位显示该行内容
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y 123 | 123 1 | 3 2 | 4 3 3
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y --left-column
123 | 123
1 | 3
2 | 4
3 (
–suppress-common-lines:在使用-y参数时,仅显示不同
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y 123 | 123 1 | 3 2 | 4 3 3
root@3eb7af6247bb:/home/wzm/go/src/testdiff# diff a.c b.c -y --suppress-common-lines
123 | 123
1 | 3
2 | 4
参数
指定要比较的文件
相关文章推荐
- 每天一个linux命令(36):diff 命令
- 每天一个linux命令(36):diff 命令
- 每天回顾linux命令(du)
- 每天一个linux命令:diff 命令
- 【转】每天一个linux命令(36):diff 命令
- 每天回顾linux命令(iotop)
- 每天一个linux命令(49)--diff命令
- 每天回顾linux命令(which)
- 每天回顾linux命令(whereis)
- 每天回顾linux命令(zcat)
- 每天回顾linux命令(mv)
- 每天回顾linux命令(su)
- 每天一个linux命令(36):diff 命令
- 每天回顾linux命令(id)
- 每天一个linux命令(36):diff 命令
- 每天回顾linux命令(head)
- 每天回顾linux命令(date)
- 每天回顾linux命令(nm)
- 每天回顾linux命令(uptime)
- 每天回顾linux命令(ls)