Skip to content

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

β†’ Download my free CLI Handbook!



You might be interested in those things I do:

  • Learn to code in THE VALLEY OF CODE, your your web development manual
  • Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
  • I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
  • Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
  • Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
  • Find me on X

Related posts that talk about cli: