File Viewing & Editing

diff

Compare files line by line and show the differences between them.

Synopsis

syntax
diff [OPTION]... FILE1 FILE2

Examples

Compare two files
diff file1.txt file2.txt
Unified diff for patch creation
diff -u old.conf new.conf
Recursively compare directories
diff -r dir1/ dir2/
Colorized unified diff
diff --color -u a.js b.js

Common options

FlagDescription
-uUnified diff format
-rRecursively compare directories
-iIgnore case differences
-wIgnore all white space
--colorColorize output

About diff

The `diff` command compare files line by line and show the differences between them. Text viewing and editing commands are fundamental tools in any Linux user's toolkit.

Linux treats almost everything as a file, so the ability to quickly inspect, filter, transform, and edit file contents from the command line is critical. These commands are regularly combined with pipes and redirects to build powerful data-processing pipelines.

The command accepts 5 commonly used flags shown above, though the full set of options is available in the man page (`man diff`). The 4 examples on this page cover typical real-world usage patterns that you can copy and adapt for your own workflows.

Related commands

More File Viewing & Editing Commands

Other commands in the File Viewing & Editing category

Related tools