How to diff and merge files or directories on Linux

Last updated on October 14, 2020 by Dan Nanni

There are many cases where you want to compare and/or merge two files or directories. For example, you may want to compare two distinct backup snapshots; merge two different versions of a document; diff two configuration files for troubleshooting, etc. While version control systems can handle this kind of situations easily, it is probably an overkill for average Linux users who are looking for simple diff and merge solution.

In this tutorial, I describe how to diff and merge files and directories on Linux by using a GUI tool called Meld.

Meld is a visual diff and merge tool that can compare files, directories, and any version controlled projects. Meld offers two- and three-way diff and merge, and supports simple commands of major version control systems (e.g., SVN, Git, Mercurial, Bazaar).

Install Meld on Linux

To install Meld on Debian, Ubuntu or Linux Mint:

$ sudo apt-get install meld

To install Meld on CentOS or RHEL, first enable Repoforge repository, and then run:

$ sudo yum install meld

To install Meld on Fedora, simply run:

$ sudo yum install meld

Start Meld

After installation, you can start Meld as follows.

$ meld

To start a comparison, click on the comparison icon at the top. Then you can choose between file/directory comparison or version control browser modes like the following.

Compare and Merge Two Files

You can visually compare the difference between two files.

You can merge individual changes selectively in either direction, or apply all changes in one direction.

Perform Three-Way File Comparison

You can compare three different files or directories side-by-side.

Compare and Merge Two Directories

You can compare file lists in two or three directories, and apply diff (i.e., copy or delete files) between them.

Customize Meld Filtering Rules

You can customize Meld so that it can filter out uninteresting differences. The filtering rule can be defined for files as well as for directories by regular expressions as shown below.

Nautilus Integration

Meld provides integration for Nautilus file manager, so you can diff and merge files or directories directly using Nautilus' file management interface. To install Nautilus plugin for Meld on Ubuntu desktop, run the following commands.

$ sudo apt-get install meld nautilus-compare
$ nautilus -q

Once you have installed Nautilus plugin for Meld, you will see an additional context menu called Compare when you right-click two files. The following screenshots show how Meld works on Nautilus.

Support Xmodulo

This website is made possible by minimal ads and your gracious donation via PayPal or credit card

Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.

Xmodulo © 2021 ‒ AboutWrite for UsFeed ‒ Powered by DigitalOcean