Linux 中的 diff 命令用于比较两个文件的差异。它会输出两个文件中不同的行。diff 命令非常强大,支持多种选项来自定义比较的行为。

以下是一些常用的 diff 命令选项:

  1. diff file1 file2:这是最基本的用法,比较 file1file2 的内容,并输出它们之间的差异。
  2. -u:输出统一格式(unified format),这种格式会显示更多的上下文信息,并且更易于阅读。
  3. -c:输出上下文格式(context format),这种格式会显示文件中变化的上下文行。
  4. -b:忽略空白字符的差异。
  5. -i:忽略大小写的差异。
  6. -n:不输出文件名,当比较多个文件时,只显示差异。
  7. -w:忽略空格和制表符的差异。
  8. -B:忽略空白行的差异。
  9. -r:递归比较目录中的文件。
  10. -N:当比较目录时,如果一个文件只存在于其中一个目录中,则认为它在另一个目录中是空的。
  11. -x:指定要排除的文件或目录。
  12. -S:指定要开始比较的文件名。

例如,如果你想要比较两个文本文件 file1.txtfile2.txt 并输出统一格式的差异,你可以使用以下命令:

diff -u file1.txt file2.txt

如果你想要递归比较两个目录中的所有文件,并忽略空白字符和大小写的差异,你可以使用:

diff -r -b -i dir1 dir2

diff 命令在软件开发、版本控制系统和文档编辑中非常有用,因为它可以帮助用户快速识别文件或目录之间的变化。