Поиск по сайту:

Как найти разницу между двумя каталогами, используя инструменты Diff и Meld


В предыдущей статье мы рассмотрели 9 лучших инструментов сравнения и различия файлов (Diff) для Linux, а в этой статье мы опишем, как найти разницу между двумя каталогами в Linux.

Обычно для сравнения двух файлов в Linux мы используем diff – простой и оригинальный инструмент командной строки Unix, который показывает разницу между двумя компьютерными файлами; сравнивает файлы построчно, он прост в использовании, предустановлен в большинстве, если не во всех, дистрибутивах Linux.

Вопрос в том, как нам получить разницу между двумя каталогами в Linux? Здесь мы хотим знать, какие файлы/подкаталоги являются общими в двух каталогах, те, которые присутствуют в одном каталоге, но отсутствуют в другом.

Обычный синтаксис для запуска diff выглядит следующим образом:

diff [OPTION]… FILES
diff options dir1 dir2 

По умолчанию его вывод упорядочен в алфавитном порядке по имени файла/подкаталога, как показано на снимке экрана ниже. В этой команде переключатель -q указывает diff сообщать только о том, что файлы различаются.

diff -q directory-1/ directory-2/

Опять же, diff не заходит в подкаталоги, но мы можем использовать переключатель -r для чтения подкаталогов, как показано ниже.

diff -qr directory-1/ directory-2/ 

Использование инструмента Meld Visual Diff и Merge

Существует классная графическая опция под названием meld (визуальный инструмент diff и слияния для рабочего стола GNOME). Для тех, кто любит использовать мышь, вы можете установить ее следующим образом.


sudo apt install meld         [On Debian, Ubuntu and Mint]
sudo yum install meld         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/meld  [On Gentoo Linux]
sudo apk add meld             [On Alpine Linux]
sudo pacman -S meld           [On Arch Linux]
sudo zypper install meld      [On OpenSUSE]   
sudo brew install meld        [On macOS]  

После установки найдите «meld» в Ubuntu Dash или меню Linux Mint в Обзоре действий. > на рабочем столе Fedora или CentOS и запустите его.

Ниже вы увидите интерфейс Meld, где вы можете выбрать сравнение файлов или каталогов, а также представление контроля версий. Нажмите на сравнение каталогов и перейдите к следующему интерфейсу.

Выберите каталоги, которые вы хотите сравнить. Обратите внимание, что вы можете добавить третий каталог, отметив опцию «3-стороннее сравнение».

Выбрав каталоги, нажмите «Сравнить».

В этой статье мы описали, как найти разницу между двумя каталогами в Linux. Если вы знаете какую-либо другую командную строку или способ графического интерфейса, не забудьте поделиться своими мыслями по поводу этой статьи в разделе комментариев ниже.