UNIX in a Nutshell: System V Edition

UNIX in a Nutshell: System V EditionSearch this book
Previous: Reference: dfChapter 2
UNIX Commands
Next: Reference: diff3


diff [options] [diroptions] file1 file2

diff reports lines that differ between file1 and file2. Output consists of lines of context from each file, with file1 text flagged by a < symbol and file2 text, by a > symbol. Context lines are preceded by the ed command (a, c, or d) that would be used to convert file1 to file2. If one of the files is -, standard input is read. If one of the files is a directory, diff locates the filename in that directory corresponding to the other argument (e.g., diff my_dir junk is the same as diff my_dir/junk junk). If both arguments are directories, diff reports lines that differ between all pairs of files having equivalent names (e.g., olddir/program and newdir/program); in addition, diff lists filenames unique to one directory, as well as subdirectories common to both. See also sdiff and cmp.



Ignore repeating blanks and end-of-line blanks; treat successive blanks as one.


Produce output in alternate format, with three lines of context.


Like -c, but produce n lines of context.


Produce n lines of context (default is 3).

-D def

Merge file1 and file2 into a single file containing conditional C preprocessor directives (#ifdef). Defining def and then compiling will yield file2; compiling without defining def yields file1.


Produce a script of commands (a, c, d) to recreate file2 from file1 using the ed editor.


Produce a script to recreate file1 from file2; the script is in the opposite order, so it isn't useful to ed.


Do a half-hearted comparison; complex differences (e.g., long stretches of many changes) may not show up; -e and -f are disabled.


Ignore uppercase and lowercase distinctions.


Like -f, but counts changed lines. rcsdiff works this way.


Expand tabs in output lines; useful for preserving indentation changed by -c format.


Like -b but ignores all spaces and tabs; e.g., a + b is the same as a+b.

Options -c, -C, -D, -e, -f, -h, and -n cannot be combined with each other (they are mutually exclusive). The following diroptions are valid only when both file arguments are directories.



Long format; output is paginated by pr so that diff listings for each file begin on a new page; other comparisons are listed afterward.


Run diff recursively for files in common subdirectories.


Report files that are identical.


Begin directory comparisons with file, skipping files whose names are alphabetically before file.

Previous: Reference: dfUNIX in a Nutshell: System V EditionNext: Reference: diff3
Reference: dfBook IndexReference: diff3

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System