Linux常用命令-比较文件-diff
命令简介
diff 命令用于查找、分析两个文件中不同的行,并打印输出在屏幕上。
diff 命令是以逐行的方式,比较文本文件的不同之处。如果是对指定的目录进行比较,就是比较该指定目录下的同名文件,不会对该目录的子目录下的文件进行比较操作。
diff 命令最基础的用途就是用来比较指定的两个文件的不同。
语法格式
1 2
| diff [选项] [文件] diff [OPTION] [FILE]
|
选项说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| -<行数> -a -b -B -c -C<行数> -d -H -n -q -r -s -S -u -v -w -y --help
|
应用举例
比较两个文件的不同之处
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| [root@centos7 testdir]# diff mingongge1.txt mingongge2.txt 1,8c1,4 < 1111 11 111111 1 111 1 1 11 < 22222222222 222 2222 22 2 2 2 < 33333333333 333333 3333 333 33 < 444444444444 444 444444444 < 1 < 2 < 3 < 4 --- > head1 > head2 > head3 > head4
[root@centos7 testdir]# diff -c mingongge1.txt mingongge2.txt *** mingongge1.txt 2021-01-16 09:55:49.489792550 -0500 --- mingongge2.txt 2021-01-16 03:36:24.645284332 -0500 *************** *** 1,8 **** ! 1111 11 111111 1 111 1 1 11 ! 22222222222 222 2222 22 2 2 2 ! 33333333333 333333 3333 333 33 ! 444444444444 444 444444444 ! 1 ! 2 ! 3 ! 4 --- 1,4 ---- ! head1 ! head2 ! head3 ! head4
|
diff 比对字符含义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ! + - [root@centos7 testdir]# diff -c cuttest.txt cest.txt *** cuttest.txt 2021-01-16 12:12:15.844549487 -0500 --- cest.txt 2021-01-16 12:15:08.775042428 -0500 *************** *** 1,6 **** --- 1,7 ---- aaaaabbbbbbbb cccccccccccccccccccc ddddddddddd + 1111111111111111111111111111111111111111 fffffffffffffffffff ggggggggggggggggg wwwwwwwwwwwwwwww
[root@centos7 testdir]# diff -u cuttest.txt cest.txt --- cuttest.txt 2021-01-16 12:12:15.844549487 -0500 +++ cest.txt 2021-01-16 12:15:08.775042428 -0500 @@ -1,6 +1,7 @@ aaaaabbbbbbbb cccccccccccccccccccc ddddddddddd +1111111111111111111111111111111111111111 fffffffffffffffffff ggggggggggggggggg wwwwwwwwwwwwwwww
|