Linux命令-diff命令
diff(Difference)命令是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁(patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
1.命令格式:
1 | diff [参数] [文件1或目录1] [文件2或目录2] |
2.命令功能:
diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
3.命令参数:
1 | -, 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。 |
4.使用实例:
实例1:比较两个文件
1 | diff 的normal 显示格式有三种提示: |
实例2:并排格式输出
1 | diff log1.log log2.log -y -W 50 |
说明:
1 | "|"表示前后2个文件内容有不同 |
实例3:上下文输出格式
1 | diff log1.log log2.log -c |
说明:
1 | 这种方式在开头两行作了比较文件的说明,这里有三中特殊字符: |
实例4:统一格式输出
1 | diff log1.log log2.log -u |
说明:
1 | 第一部分,也是文件的基本信息: |
实例5:比较文件夹不同
1 | diff test3 test6 |
实例6:比较两个文件不同,并生产补丁
1 | diff -ruN log1.log log2.log > patch.log |
实例7:打补丁
1 | patch log1.log patch.log |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LXY's blog!