Name
diff [options
] file1 file2
— diffutils
Synopsis
/usr/bin
stdin stdout - file -- opt --help --version
The diff
command compares two files line-by-line, or two directories. When comparing text files, diff
can produce detailed reports of their differences. For binary files, diff
merely reports whether they differ or not. For all files, if there are no differences, diff
produces no output.
The traditional output format looks like this:
Indication of line numbers and the type of change < Corresponding section of file1, if any --- > Corresponding section of file2, if any
For example, if we start with a file fileA:
Hello, this is a wonderful file. The quick brown fox jumped over the lazy dogs. Goodbye for now.
Suppose we delete the first line, change “brown” to “blue” on the second line, and add a final line, creating a file fileB:
The quick blue fox jumped over the lazy dogs. Goodbye for now. Linux r00lz!
Then diff fileA fileB
produces this output:
1,2c1 fileA lines 1-2 became fileB line 1 < Hello, this is a wonderful file. Lines 1-2 of fileA < The quick brown fox jumped over --- diff separator > The quick blue fox jumped over Line 1 of fileB 4a4 Line 4 was added > Linux r00lz! The added line
The leading symbols < and > are arrows indicating fileA and fileB, respectively. This output format is the default: many others are available, some of which can be fed directly to other tools. Try them out to see what they look like.
Option | Output format |
| RCS version control format, as produced by |
Get Linux Pocket Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.