Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cmp(1) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Commands:  comm(1)

bdiff(1)

diff(1)

diff3(1)

sdiff(1)

Standards:  standards(5)

cmp(1)  —  Commands

NAME

cmp − Compares two files

SYNOPSIS

cmp [−l | −s] file1 file2

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

cmp:XCU5.0

Refer to the standards(5) reference page for more information about industry standards and associated tags. 

OPTIONS

−lPrints the byte number (decimal) and the differing bytes (octal) for each difference. 

−sDoes not print data for differing files; returns only an exit value. 

OPERANDS

file1The path name of a file to be compared. 

file2The path name of a file to be compared. 

DESCRIPTION

The cmp command compares two files. 

If file1 or file2 is - (dash), standard input is used for that file.  It is an error to specify - for both files. 

By default, the cmp command prints no information if the files are the same.  If the files differ, cmp prints the byte and line number where the difference occurred. 

The cmp command also specifies whether one file is an initial subsequence of the other (that is, if the cmp command reads an End-of-File character in one file before finding any differences).  Usually, you use the cmp command to compare nontext files and the diff command to compare text files. 

Note that bytes and lines reported by cmp are numbered from 1. 

EXIT STATUS

The following exit values are returned:

0The files are identical. 

1The files differ.  This includes files of different lengths that are identical in the first part of both files. 

>1An error occurred. 

EXAMPLES

     1.To determine whether two files are identical, enter:

cmp prog.o.bak prog.o

The preceding command compares the files prog.o.bak and prog.o.  If the files are identical, a message is not displayed. If the files differ, the location of the first difference is displayed.  For instance:

prog.o.bak prog.o differ:  byte 5, line 1

If the message cmp: EOF on prog.o.bak is displayed, then the first part of prog.o is identical to prog.o.bak, but there is additional data in prog.o. 

If the message cmp: EOF on prog.o is displayed, it is prog.o.bak that is the same as prog.o but also contains addition data. 

     2.To display each pair of bytes that differ, enter:

cmp -l prog.o.bak prog.o

This compares the files and then displays the byte number (in decimal) and the differing bytes (in octal) for each difference.  For example, if the fifth byte is octal 101 in prog.o.bak and 141 in prog.o, then the cmp command displays:

5 101 141
 .
 .
 .

ENVIRONMENT VARIABLES

The following environment variables affect the execution of cmp:

LANG
Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used.  If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. 

LC_ALL
If set to a non-empty string value, overrides the values of all the other internationalization variables.

LC_CTYPE
Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments).

LC_MESSAGES
Determines the locale for the format and contents of diagnostic messages written to standard error.

NLSPATH
Determines the location of message catalogues for the processing of LC_MESSAGES. 

SEE ALSO

Commands:  comm(1), bdiff(1), diff(1), diff3(1), sdiff(1)

Standards:  standards(5)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026