Linux: Compare Files or Directory: diff

By Xah Lee. Date: . Last updated: .

Compare Binary Files

How to tell if 2 binary files have identical content?

cmp filename1 filename2

If 2 files have same content, there's no output. Else it'll print the first byte count that's different.

Sample output:

file1 file2 differ: byte 174, line 4

Compare Text Files

How to compare 2 text files's differences?

diff file1 file2

Most useful options of diff:

Compare Directories

How to check if 2 directories are the same? (same files and subdirs)

# compare 2 directories, show only missing files/dir
diff -r --brief  ~/dir1 ~/dir2

The “-r” means recurvise (all subdirs), and the “--brief” means only output if files differ (as opposed to how they differ) or non-existant.

Color Diff

diff doesn't have color option. But you can use colordiff. It's a wrapper to diff, but added color.

# install color diff
sudo apt-get install colordiff

Using Git for Diff

git giff 2019-12-26 xdm6t
git giff 2019-12-26
# diff files using git, ignore git index (staged) file
git diff --color --no-index file1 file2

If the files are outside any git repository, then --no-index is not necessary. You can also set git to use color always.

Advantages of using git diff:

See also: Git: Diff Between {Working Dir, Staged Area, Last Commit}

2013-06-14 big thanks to Yuri Khan on using git diff.

Linux Shell Basics

Sys Admin

Bash/Terminal

Linux Desktop