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[1], 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 è:
cmp [opzioni] [--] file1 file2
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:
$ cmp prova.pl prova1.pl prova.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.pl 12 145 171 13 156 145 14 166 163 15 40 12 16 160 116 17 145 157 18 162 156 19 154 40 20 40 155 21 55 151 22 167 40 23 12 160 24 160 151 25 162 141 26 151 143 27 156 151 28 164 12 29 40 12 cmp: EOF on prova1.pl
Confronta due file, che in questo caso sono identici tra loro (non visualizza nessun messaggio):
$ cmp prova.pl prova2.pl
Note
- ^ (EN) cmp, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 29-05-2008.
Voci correlate
- diff – Confronta due file di testo ed elenca le linee che sono differenti.
Collegamenti esterni
- (EN) Invoking cmp, in GNU Diffutils manual. URL consultato il 29-05-2008.
V · D · M | ||
---|---|---|
File system | cat · cd · chattr · chmod · chown · chgrp · cksum · cmp · cp · du · df · fdisk · file · fsck · fuser · gzip · ln · ls · lsattr · lsof · mkdir · mknod · mount · mv · pwd · rm · rmdir · split · tar · touch · umount · umask | |
Processi | at · chroot · crontab · exit · kill · killall · nice · nohup · pgrep · pidof · pkill · ps · pstree · sleep · time · top · wait | |
Ambiente utente | alias · env · export · finger · id · logname · mesg · newgrp · passwd · su · sudo · uname · uptime · w · wall · who · whoami · write | |
Elaborazione testo | awk · comm · cut · diff · ed · ex · fmt · head · iconv · join · less · more · paste · sed · sort · tail · tr · uniq · vi · wc · xargs | |
Script di shell | basename · dirname · echo · expr · false · printf · test · true · unset | |
Rete | dig · nslookup · ifconfig · netstat · ping · rcp · rlogin · route · netcat · traceroute | |
Ricerche | find · grep · strings | |
Amministrazione | dmesg · groupadd · groupdel · groupmod · mdadm · shutdown · useradd · userdel · usermod | |
Altri | banner · bc · cal · clear · date · dd · lp · man · size · tee · tput · yes |