已校对

This commit is contained in:
carolinewuyan 2013-11-25 13:13:59 +08:00
parent d9e8b2d099
commit 3fba319750

View File

@ -2,9 +2,9 @@
================================================================================
![](http://linoxide.com/wp-content/uploads/2013/11/linux-diff-command.png)
在比较文件的时候通常会用GUI软件。很少有人真正会为了这个目的使用命令行工具。虽然不会说使用命令行就像散步一样简单但是如果你是一个Linux使用者那么我想你应该知道如何通过命令行比较文件因为你一旦使用了它它绝对是一个快速的方法。
在比较文件的时候通常会用GUI软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录,并不像一件小事儿那样容易但是如果你是一个Linux使用者那么我想你应该知道如何通过命令行比较文件因为你一旦使用了它会感觉它绝对是一个快速的方法。
在本篇中我们将学习如何使用diff命令通过一些实际的例子
在本篇中,我们将通过一些实例来学习如何使用diff命令。
### Linux diff 命令 ###
@ -43,7 +43,7 @@
你可以看见diff后面跟了两个文件的名字作为命令行的参数并且它在输出中生成了不同。输出并不容易理解。理由是这是被计算机使用的而不是为了人类。尽管如此让我们一步步解码输出:
**注意** 在下面的文本中file1和file2将被作旧文件和新文件。
**注意** 在下面的文本中file1和file2将被作旧文件和新文件。
1d0
< Hi,
@ -53,7 +53,7 @@
2a2
> Hi,
这里2a2行意味着新文件中的第二行应该加到文件的第二行后。要添加的行显示在输出的下一行用'>'标记。
这里2a2行意味着新文件中的第二行应该加到文件的第二行后。要添加的行显示在输出的下一行用'>'标记。
4,5c4
< I am fine,
@ -63,7 +63,7 @@
> I am fine.
这里4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第行代替。添加和删除的行分别用'>'和'<'表示。
这里4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第4行代替。添加和删除的行分别用'>'和'<'表示。
那么,来总结一下,
@ -115,7 +115,7 @@
要去除这个默认行为,使用-i选项。
以下是例子:
以下是例子:
$ diff -i file1 file2
$
@ -124,9 +124,9 @@
### 2. 用 -s 选项报告两个文件相同 ###
在例子1的后面我们看到如果文件相同dif不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑特别对于新手而言。因此如果你像样diff命令明确地报告两个文件不同那么就使用-s命令选项。
在例子1的后面我们看到如果文件相同diff不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑特别对于新手而言。因此如果你像样diff命令明确地报告两个文件不同那么就使用-s命令选项。
这是个例子:
来举个例子:
$ diff -is file1 file2
Files file1 and file2 are identical
@ -138,7 +138,7 @@
另外一个常用的是diff报告文件存在不同数量的空格。
以下是例子
举例说明
$ cat file1
Hi, how are you?
@ -146,7 +146,7 @@
$ cat file2
Hi, how are you?
观察这两个文件唯一的不同是'are'和'you'之间额外的空格。现在当使用diff命令比较两个文件时这个是输出:
观察这两个文件唯一的不同是file2中'are'和'you'之间额外的空格。现在当使用diff命令比较两个文件时输出如下
$ diff file1 file2
1c1