O comando cmp(do inglês compare) em sistemas operacionais unix-like compara dois arquivos de qualquer tipo, byte a byte, e grava os resultados para a saída padrão. Por padrão, o programa não produz saída se os arquivos forem o mesmo; se forem diferentes, a contagem de bytes até a linha e o número da linha onde houve diferença são relatados.

Uso A sintaxe geral do comando cmp é a seguinte:cmp [OPÇÃO]... ARQUIVO1 [ARQUIVO2 [PULAR1 [PULAR2]]]Os argumentos ARQUIVO1 e ARQUIVO2 indicam os arquivos a serem comparados. Caso o ARQUIVO2 não seja informado, a informação é lida da entrada padrão. PULAR1 e PULAR2 indicam o número de bytes a serem pulados a partir do início de cada arquivo antes de iniciar a comparação (os sufixos kB, K, MB, M, GB, G podem ser usados como os multiplicadores 1000, 1024, 1.000.000, 1.048.576, 1.000.000.000 respectivamente - o mesmo vale para os prefixos T, P, E etc).

Opções As opções mais comuns do comando cmp são:

--bytes (-n) - Deve ser seguido pelo número máximo de bytes a ser comparado entre os arquivos --quiet, --silent (-s) - Suprime toda saída padrão do programa

Exemplos Nos exemplos abaixo o conteúdo de arquivo1 é igual ao conteúdo de arquivo3 e o conteúdo de arquivo2 é diferente de ambos.cmp arquivo1 arquivo2 # compara 'arquivo1' e 'arquivo2' # produz a seguinte saída # "arquivo1 arquivo2 differ: byte 5, line 1 cmp arquivo1 arquivo3 # compara 'arquivo1' e 'arquivo3' # não produz saída porque eles são iguais cat arquivo2 | cmp arquivo1 # compara 'arquivo1' com a saída do comando # 'cat arquivo2', o comando cat exibe o conteudo # de 'arquivo2', produzindo a mesma saída final # que 'cmp arquivo1 arquivo2'

Valores de retorno O comando possuí os seguintes valores de retorno:

0 - se os arquivos são idênticos 1 - se os arquivos são diferentes 2 - se algum dos arquivos é inacessível ou se houve erro de sintaxe

Ver também

diff - Comando que compara dois arquivos linha a linha

Categoria:Software do Unix relacionado a gerenciamento de tarefas e de processos Categoria:Programas Unix