Linux comandos · 4 min read · Sep 17, 2025

Tutorial do Comando cmp do Linux para Iniciantes (7 Exemplos)

O comando cmp é usado no sistema operacional Linux para comparar dois arquivos byte a byte. Ele fornece uma saída concisa das diferenças entre dois arquivos, permitindo que o usuário identifique facilmente discrepâncias entre eles. O comando cmp exibe quantos bytes não correspondentes ocorreram em quais deslocamentos e fornece uma contagem resumida de comparações incorretas. Com esta ferramenta útil, os usuários podem verificar rapidamente se dois arquivos são idênticos ou não.

Neste tutorial, discutiremos ‘cmp’ através de exemplos fáceis de entender. Mas antes de fazermos isso, vale a pena mencionar que todos os exemplos e instruções mencionados neste tutorial foram testados no Ubuntu 22.04.

comando cmp

O comando ‘cmp’ permite que você realize uma comparação byte a byte de dois arquivos. A utilidade fornece vários recursos na forma de opções de linha de comando. Neste tutorial, discutiremos algumas opções principais que darão a você (um iniciante) uma boa ideia de como a ferramenta funciona.

1. Como comparar dois arquivos usando cmp

Na sua forma mais simples, você pode usar ‘cmp’ da seguinte maneira:

cmp [nome-do-arquivo1] [nome-do-arquivo2]

Como já mencionado, a ferramenta compara dois arquivos byte a byte. Quando uma diferença é encontrada, a ferramenta para e produz uma saída que informa em qual linha e byte a diferença está.

Por exemplo:

cmp file1.txt file2.txt

Comparar dois arquivos no Linux com o comando cmp

Como você pode ver na captura de tela acima, a saída diz claramente que os arquivos diferem no byte 20 na linha 1.

2. Como fazer o cmp imprimir bytes diferentes

Se você quiser, também pode fazer com que ‘cmp’ exiba os bytes diferentes em sua saída. Isso pode ser feito usando a opção de linha de comando -b.

cmp -b [arquivo1] [arquivo2]

Por exemplo:

cmp -b file1.txt file2.txt

Como fazer o cmp imprimir bytes diferentes

Neste caso, como você pode ver na captura de tela acima, a diferença está no 17º byte, que é ‘l’ em file1.txt e ‘i’ em file2.txt. Os valores 154 e 151 são os valores desses bytes, respectivamente.

3. Como fazer o cmp ignorar alguns bytes iniciais de ambos os arquivos

Se você quiser, também pode fazer com que ‘cmp’ ignore um determinado número de bytes iniciais de ambos os arquivos e, em seguida, os compare. Isso pode ser feito especificando o número de bytes como um argumento para a opção de linha de comando -i.

cmp -i [bytes-a-serem-ignorados] [arquivo1] [arquivo2]

Por exemplo:

cmp -i 10 file1.txt file2.txt

Observe que em casos como esses (onde você usa -i para ignorar bytes), o byte em que a comparação começa é tratado como byte número zero.

Seguindo em frente, a ferramenta também permite que você ignore um número diferente de bytes de ambos os arquivos. Isso pode ser feito da seguinte maneira:

cmp -i [bytes-a-ignorar-do-primeiro-arquivo] : [bytes-a-ignorar-do-segundo-arquivo] [arquivo1] [arquivo2]

Por exemplo:

cmp -i 4:7 file1.txt file2.txt

Como fazer o cmp ignorar alguns bytes iniciais de ambos os arquivos

4. Como fazer o cmp exibir a posição do byte (e o valor) para todos os bytes diferentes

Você também pode fazer com que o comando ‘cmp’ imprima a posição do byte e o valor do byte para todos os bytes diferentes. Esse recurso pode ser acessado usando a opção de linha de comando -l.

cmp -l [arquivo1] [arquivo2]

Por exemplo:

cmp -l file1.txt file2.txt

Como fazer o cmp exibir a posição do byte (e o valor) para todos os bytes diferentes

A primeira coluna na saída (exemplo mostrado acima) representa a posição (número do byte) dos bytes diferentes. A segunda coluna representa o valor do byte do byte diferente no primeiro arquivo, enquanto a terceira coluna representa o valor do byte do byte diferente no segundo arquivo.

5. Como limitar o número de bytes a serem comparados

A ferramenta também permite que você limite o número de bytes que deseja comparar - por exemplo, você pode querer comparar no máximo 25 ou 50 bytes. Isso pode ser feito usando a opção de linha de comando -n.

cmp -n [número-de-bytes-a-serem-comparados] [arquivo1] [arquivo2]

Por exemplo:

cmp -n 25 file1.txt file2.txt

6. Como exibir o medidor de progresso ao usar o comando cmp

Ao comparar arquivos grandes (ou até partições) usando ‘cmp’, você pode querer ver o progresso da comparação em andamento. Isso pode ser feito usando o comando ‘pv’ junto com o comando ‘cmp’. Aqui está o modelo de comando que você pode usar:

$ pv [arquivo1] | cmp -l [arquivo2] > [arquivo-de-saída]

Por exemplo:

$ pv file1.txt | cmp -l file3.txt > output.txt

Observe que o arquivo ‘output.txt’ conterá toda a saída que o comando ‘cmp’ produz. O medidor de progresso (que você pode ver na captura de tela acima) é produzido pelo comando ‘pv’.

O comando ‘pv’ geralmente não vem pré-instalado no Linux (não vem no Ubuntu, pelo menos). Mas você pode instalá-lo facilmente usando o seguinte comando:

sudo apt-get install pv

7. Como fazer o ‘cmp’ suprimir a saída

A ferramenta também permite que você suprimia a saída que normalmente produz. Isso pode ser feito usando a opção de linha de comando -s.

$ cmp -s [arquivo1] [arquivo2]

Por exemplo:

$ cmp -s file1.txt file2.txt

Essa opção pode ser útil ao usar a utilidade ‘cmp’ em scripts. Por exemplo, dependendo de se os arquivos são idênticos (o que pode ser determinado acessando o código de saída do comando), você pode querer exibir uma mensagem personalizada em vez da saída que a ferramenta normalmente produz.

Conclusão

Discutimos a maioria das opções do comando ‘cmp’ neste artigo, então você precisa praticar essas opções para começar a usar a ferramenta em seu trabalho diário. Em caso de dúvida ou consulta, consulte a página do manual do ‘cmp’.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.