How to use the macOS command line to compare two folders’ contents in Terminal
Have you ever wanted a quick way to compare two directories (folders), in order to see which files may differ between the two? There are third-party GUI tools as well, but there’s actually a free folder comparison tool built into every Mac—it just requires a quick trip to Terminal to put it to use. The program is called diff
, and it’s quite simple to use.
Launch Terminal (in Applications > Utilities), and then use the cd
command to change to the directory containing the folders you’d like to compare. (The folders can be located anywhere, of course, but it’s easiest if they’re in the same folder.). Once there, just run this command:
diff -rq folder1 folder2
This is a pretty simple command, with two command-line switches (-rq
).
- The
r
tellsdiff
to look at each directory recursively, including subdirectories. - The
q
switch setsdiff
in brief mode. If we didn’t set brief mode,diff
would not only tell you which files are different between the two folders, but also show the actual line-by-line differences for any text files that exist in both locations but are not identical. Given that we’re just interested in comparing the folders’ contents, we don’t need that level of detail, so we’ll use brief mode to suppress it.
And that’s all there is to it. Here’s how it looks in action (comments_new
and comments_old
are the two folders that I’m comparing):
% cd phpcode % diff -rq comments_new comments_old Only in comments_new: config.php Only in comments_old: config_old.php Only in comments_old: functions.inc
Obviously, this is a simplistic example, but it works just as well on a large folder with hundreds of files. If you want to do more with diff
, of course, it’s capable of much more than just simple folder comparisons; type man diff
to read about its full capabilities.
For all the latest Technology News Click Here
For the latest news and updates, follow us on Google News.