title: Cmp (Unix)
text: # 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):
  
  