diff

Compara dois arquivos e mostra as diferenças entre eles. O comando diff é usado somente para a comparação de arquivos em formato texto. As diferenças encontradas podem ser redirecionadas para um arquivo que poderá ser usado pelo comando patch para aplicar as alterações em um arquivo que não contém as diferenças. Isto é útil para grandes textos porque é possível copiar somente as modificações (geradas através do diff, que são muito pequenas) e aplicar no arquivo para atualiza-lo (através do patch) ao invés de copiar a nova versão. Este é um sistema de atualização muito usado na atualização dos código fonte do kernel do Linux.

diff [diretório1/arquivo1] [diretório2/arquivo2] [opções]

Opções:

diretório1/arquivo1 diretório2/arquivo2

Arquivos /diretórios que serão comparados. Normalmente é usado como primeiro arquivo/diretório o mais antigo e o mais novo como segundo.

opções, -lines [num]

Gera a diferença com [num] linhas de contexto. Por padrão o diff gera um arquivo com 2 linhas que é o mínimo necessário para o correto funcionamento do patch.

-a

Compara os dois arquivos como arquivos texto.

-b

Ignora espaços em branco como diferenças.

-B

Ignora linhas em branco inseridas ou apagadas nos arquivos.

-i

Ignora diferenças entre maiúsculas e minúsculas nos arquivos.

-H

Usa análise heurística para verificar os arquivos.

-N

Em uma comparação de diretórios, se o arquivo apenas existe em um diretório, trata-o como presente mas vazio no outro diretório.

-P

Em uma comparação de diretórios, se o arquivos apenas existe no segundo diretório, trata-o como presente mas vazio no primeiro diretório.

-q

Mostra somente se os dois arquivos possuem diferenças. Não mostra as diferenças entre eles.

-r

Compara diretórios e sub-diretórios existentes.

-S [nome]

Inicia a comparação de diretórios pelo arquivo [nome]. É útil quando cancelamos uma comparação.

-t

Aumenta a tabulação das diferenças encontradas.

-u

Usa o formato de comparação unificado.

Use o comando zdiff para comparar diretamente arquivos compactados pelo utilitário gzip

Use o comando sdiff para visualizar as linhas diferentes entre os dois arquivos em formato texto simples.

Exemplo: