Unix Power ToolsUnix Power ToolsSearch this book

11.7. cmp and diff

cmp is another program for comparing files. It's a lot simpler than diff (Section 11.1); it tells you whether the files are equivalent and the byte offset at which the first difference occurs. You don't get a detailed analysis of where the two files differ. For this reason, cmp is often faster, particularly when you're comparing ASCII files: it doesn't have to generate a long report summarizing the differences. If all you want to know is whether two files are different, it's the right tool for the job.

It's worth noting, though, that cmp isn't always faster. Some versions of diff make some simple checks first, such as comparing file length. If two binary files have different lengths, they are obviously different; some diff implementations will tell you so without doing any further processing.

Both diff and cmp return an exit status (Section 35.12) that shows what they found:

Exit status

Meaning

0

The files were the same.

1

The files differed.

2

An error occurred.

Within a shell script, the exit status from diff and cmp is often more important than their actual output.

-- ML



Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.