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

# 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.

Shell Basics

  1. Get System Info
  2. Shell Basics
  3. grep, cat, awk, uniq
  4. sort
  5. find, xargs
  6. diff Files/Dir
  7. dir size: du
  8. dir tree
  9. tar gzip bzip2 xz 7zip rar zip
  10. wget, curl, GET, HEAD
  11. rsync
  12. Install Packages

If you have a question, put $5 at patreon and message me.