作用
对比两个文件之间的差异,以行为单位来比对。
通常用在同一个文件(或软件)的新旧版本差异上。
还可以用来比对目录差异。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
语法
diff [-bBi] from-file to-file
参数
-b
忽略一行当中,仅有多个空白的差异-B
忽略一行中的空白符差异-i
忽略大小写差异
使用实例
创建测试文件。
[root@Ethan /Ethan]# nl a.txt
1 dog
2 cat
3 chicken
4 duck
5 pig
6 snake
7 rabbit
[root@Ethan /Ethan]# nl b.txt
1 dog
2 duck
3 pigs
4 snake
5 rabbit
6 elephant
对比两文件差异
[root@Ethan /Ethan]# diff a.txt b.txt
2,3d1
< cat
< chicken
5c3
< pig
---
> pigs
7a6
> elephant
- 2d1
表示左边文件第2至3行被删除,其基准是右边文件第一行。
下面的“<”表示左边文件缺失的行。 - 5c3
表示左边文件的第五行被替换成右边的第三行。 - 7a6
表示左边文件第七行添加了新东西,为右边文件第六行的内容。
目录比对
[root@Ethan ~]# diff /etc/rc0.d/ /etc/rc4.d/
Only in /etc/rc0.d/: K15pure-ftpd
Only in /etc/rc0.d/: K25bt
Only in /etc/rc0.d/: K25nginx
Only in /etc/rc0.d/: K36mysqld
Only in /etc/rc0.d/: K50php-fpm-56
Only in /etc/rc0.d/: K50php-fpm-74
Only in /etc/rc0.d/: K90network
Only in /etc/rc4.d/: S10network
Only in /etc/rc4.d/: S50aegis
Only in /etc/rc4.d/: S50php-fpm-56
Only in /etc/rc4.d/: S50php-fpm-74
Only in /etc/rc4.d/: S55bt
Only in /etc/rc4.d/: S55nginx
Only in /etc/rc4.d/: S64mysqld
Only in /etc/rc4.d/: S85pure-ftpd