diff命令是linux上一个非常重要的比较文件内容的工具,特别是比较两个不同版本的文件,找出变化。diff打印命令行上每一行的更改。diff的最新版本也支持二进制文件。diff程序的输出称为patch(补丁),因为Linux系统中也有patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的组成部分命令格式diff[参数][文件1或目录1][文件2或目录2]命令功能diff命令可以比较单个文件的内容文件或目录。如果您指定要比较文件,则仅当输入是文本文件时才有效。逐行比较文本文件的异同。如果指定比较目录,diff命令会比较两个目录中同名的文本文件。列出不同的二进制文件、公共子目录和仅出现在一个目录中的文件。命令参数-<行数>指定要显示的文本行数。该参数必须与-c或-u参数一起使用。-a或--text diff默认只会逐行比较文本文件。-b或--ignore-space-change 不检查空格字符的差异。-B或--ignore-blank-lines 不要检查空行。-c 显示全文,标出不同之处。-C或--context 等同于执行“-c-”命令。-d或--minimal 使用不同的算法以更小的单位进行比较。-Dorifdef 该参数的输出格式可用于预处理器宏。-e或--ed 该参数的输出格式可以在ed的脚本文件中使用。-f或-forward-ed 输出格式与ed的脚本文件类似,只是按照原文件的顺序显示不同。-H或--speed-large-files 比较大文件时加速。-lor--ignore-matching-lines 如果两个文件在某些??行不同,并且这些行也包含选项中指定的字符或字符串,则两个文件不会显示差异。-i或--ignore-case 不检查大小写差异。-l或--paginate 将结果交给pr程序进行分页。-n或--rcs 将以RCS格式显示比较结果。-N或--new-file 比较目录时,如果文件A只出现在某个目录下,默认会显示:Onlyindirectory:fileA如果使用-N参数,diff将包含文件A进行比较与一个空白文件。-p 如果要比较的文件是C语言的程序代码文件,则显示不同处的函数名。-Por--unidirectional-new-file 类似于-N,但只有当第二个目录包含第一个目录没有的文件时,才会将此文件与空白文件进行比较。-qor--brief 只显示是否有区别,不显示详细信息。-r或--recursive 比较子目录中的文件。-sor--report-identical-files 如果没有发现差异,还是会显示信息。-Sor--starting-file 比较目录时,从指定的文件开始比较。-t或--expand-tabs 在输出期间扩展制表符。-T或--initial-tab 在每行前添加制表符以对齐。-u,-Uor--unified= 以合并的方式显示文件内容的差异。-vor--version 显示版本信息。-w或--ignore-all-space 忽略所有空格字符。-W或--width 使用-y参数时,指定列宽。-xor--exclude 不比较选项中指定的文件或目录。-X或--exclude-from 可以将文件或目录类型保存为文本文件,然后在=中指定这个文本文件。-yor--side-by-side 并排显示文件的异同。--help 显示帮助。--left-column 使用-y参数时,如果两个文件的某一行内容相同,则左栏只显示该行的内容。--suppress-common-lines 使用-y参数时,只显示差异。diff正常的显示格式有三个提示:a-addc-changed-delete比较两个文件>cat-n1.txt1entrypoint21233rumenz>cat-n2.txt1entrypoint2456312345入门>diff1.txt2.txt1a2>4563c4,5
