Linux commands: diff
A quick guide to the `diff` command, used to compare files and directories
diff
is a handy command. Suppose you have 2 files, which contain almost the same information, but you can’t find the difference between the two.
diff
will process the files and will tell you what’s the difference.
Suppose you have 2 files: dogs.txt
and moredogs.txt
. The difference is that moredogs.txt
contains one more dog name:
diff dogs.txt moredogs.txt
will tell you the second file has one more line, line 3 with the line Vanille
:
If you invert the order of the files, it will tell you that the second file is missing line 3, whose content is Vanille
:
Using the -y
option will compare the 2 files line by line:
The -u
option however will be more familiar to you, because that’s the same used by the Git version control system to display differences between versions:
Comparing directories works in the same way. You must use the -r
option to compare recursively (going into subdirectories):
In case you’re interested in which files differ, rather than the content, use the r
and q
options:
There are many more options you can explore in the man page running man diff
:
The diff
command works on Linux, macOS, WSL, and anywhere you have a UNIX environment
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025