diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。在最简单的情况下,diff比较两个文件的内容(源文件和目标文件)。文件名可以是 – 由标准输入设备读入的文本,作为特别的情况是 diff – – 比较一份标准输入的它自己的拷贝。如果源文件是一个目录而目标文件不是,diff会比较在源文件里的文件和目标文件同名的文件。如果源文件和目标文件都是目录,diff比较两个目录中相应的文件,这个比较不会是递归的,除非给出 -r 或者 –recursice。diff大多数的选项有两个相同的名字,一个是单个跟在-后面的字母,一个是由–引出的长名字。
-a 所有文件都以文本文件来逐行比较
-b 忽略空格引起的变化
-B 忽略空行引起的变化
–brief 仅报告文件是否相异,在乎差别的细节
-c 使用上下文输出格式
-i 忽略大小写
-I regexp 忽略由插入、删除行带来的改变
–ignore-all-space 在比较行的时候忽略空白
–ignore-case 忽略大小写
-q 仅报告文件是否相异,不报告详细的差异
-r 当比较目录时,递归比较任何找到的子目录
-w 在比较行时忽略空格
-W columns –width=columns 在并列格式输出时,使用指定的列宽
-u , -U lines ,–unified=lines 以合并的方式来显示文件内容的不同,使用统一的输出格式
-y 使用并列格式输出
在比较结果里字母(a、d和c)之前的行号是针对from file的,其后面的行号是针对to file的。字母a、d和c分别表示附加、删除和修改操作。以”<”打头的行属于第一个文件,以”>”打头的行属于第二个文件。