Linux commands: diff
New Courses Coming Soon
Join the waiting lists
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
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- THE VALLEY OF CODE your web development manual
- BOOKS 17 coding ebooks you can download for free on JS Python C PHP and lots more
- Interesting links collection
- Follow me on X