cmp (abbreviazione dallalingua inglese dicompare,confronta) è un comando deisistemi operativiUnix eUnix-like, e più in generale dei sistemiPOSIX[1], che confrontabyte per byte i dati di duefile per vedere se sono diversi.
In caso di file diversi tra loro,cmp mostra sullostandard output un messaggio che indica il punto a partire dall'inizio dei file ove è stata trovata una differenza.
La sintassi generale dicmp è:
cmp [opzioni] [--]file1file2
I parametrifile1 efile2 indicano i nomi dei file da confrontare. Uno di essi può essere un trattino ("-"), indicando in tal caso lostandard input.
Il doppio trattino-- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
Tra le opzioni principali vi sono:
Ilvalore di uscita dicmp è0 se i dati dei due file sono identici, oppure un valore diverso da0 in caso contrario. Due file di lunghezza diversa sono sempre considerati diversi tra loro.
Confronta due file, che in questo caso sono diversi tra loro:
$cmp prova.pl prova1.plprova.pl prova1.pl differ: byte 12, line 1
Confronta due file, che in questo caso sono diversi tra loro, elencando tutte le differenze:
$cmp -l prova.pl prova1.pl12 145 17113 156 14514 166 16315 40 1216 160 11617 145 15718 162 15619 154 4020 40 15521 55 15122 167 4023 12 16024 160 15125 162 14126 151 14327 156 15128 164 1229 40 12cmp: EOF on prova1.pl
Confronta due file, che in questo caso sono identici tra loro (non visualizza nessun messaggio):
$cmp prova.pl prova2.pl