Cmp (Unix)
# Cmp (Unix)

cmp (abbreviazione dalla lingua inglese di compare, confronta) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che confronta byte per byte i dati di due file per vedere se sono diversi.

In caso di file diversi tra loro, cmp mostra sullo standard output un messaggio che indica il punto a partire dall'inizio dei file ove è stata trovata una differenza.

## Sintassi

La sintassi generale di cmp è:

I parametri file1 e file2 indicano i nomi dei file da confrontare. Uno di essi può essere un trattino ("-"), indicando in tal caso lo standard input.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Tra le opzioni principali vi sono:

### -l

    Elenca tutte le differenze trovate, specificando per ciascuna di esse la posizione (intesa come numero di byte a partire dall'inizio dei file)) ed i valori dei due byte nei rispettivi file.

### -s

    Evita di visualizzare messaggi se i file sono diversi.

Il valore di uscita di cmp è 0 se i dati dei due file sono identici, oppure un valore diverso da 0 in caso contrario. Due file di lunghezza diversa sono sempre considerati diversi tra loro.

## Esempi

Confronta due file, che in questo caso sono diversi tra loro:

Confronta due file, che in questo caso sono diversi tra loro, elencando tutte le differenze:

Confronta due file, che in questo caso sono identici tra loro (non visualizza nessun messaggio):

