Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда diff Linux

Автор: admin, 5 апреля, 2022
Команды

Команда diff позволяет сравнивать два или несколько файлов или каталого Linux. Рассмотрим синтаксис команды, её опции и примеры использования.

Команда diff Linux

Содержание

  • Синтаксис
  • Основные опции
  • Примеры использования
    • Сравнение двух текстовых файлов
    • Сравнение каталогов, содержащих текстовые файлы
  • Заключение

Синтаксис

Команда diff имеет следующий синтаксис:

diff [опции] файлы или каталоги

После указания опций на вход подаётся два или более файлов или каталогов, после чего происходит их сравнение.

Основные опции

-q
 Напечатать только различаются ли файлы.
-E
Игнорировать изменения, связанные с добавлением символа табуляции в тексте.
-b 
Игнорировать изменения, связанные с добавлением пробелов.
-w
Игнорировать изменения, связанные с добавлением пробелов и табуляции.
-B
Игнорировать новые пустые строки.
-r 
Просматривать каталоги рекурсивно.
-X exclude
Исключить из поиска файлы, имена которых совпадают с шаблонами в файле exclude.
-d 
Исключить ложные срабатывания (пытаться найти наименьший набор изменений).

Примеры использования

Сравнение двух текстовых файлов

Для простого сравнения двух текстовых файлов с именами file1 и file2 следует выполнить в терминале следующую команду:

diff file1 file2

Вывод удобно перенаправить в файл с расширением diff. Для этого используется символ перенаправления потока (>):

diff file1 file2 > changes.diff

Сравнение каталогов, содержащих текстовые файлы

При сравнении двух каталогов (dir1 и dir2, содержащих текстовые файлы к команде добавляется опция -r. Эта опция позволяет выполнять рекурсивный обход файлов в каталогах:

diff -r dir1 dir2 > changes.diff

При наличии в каталогах значительного количества файлов, которые нет необходимости сравнивать, создается отдельный файл с шаблонами (exclude). Содержимое файла может выглядеть примерно так:

Masyanya.exe
*.bak
*.bz2
*.so

Команде даётся указание использования файла exclude при сравнении каталогов:

diff -r -X exclude dir1 dir2 > changes.diff

Для улучшения результата сравнения можно добавить ещё несколько опций:

diff -rwBd -X exclude dir1 dir2 > changes.diff

Дополнительные опции позволяют сравнивать файлы в каталогах dir1 и dir2, игнорируя изменения, связанные с добавлением к шаблонам имен файлов из файла exclude, а также пустых строк, пробелов, табуляции.

Заключение

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

Дополнительную информацию можно получить, выполнив команду:

diff --help

Для пользователей, тяготеющих к графическому интерфейсу, создана программа Meld. Она позволяет наглядно увидеть изменения в файлах.

Последние материалы

  • Утилита sensors
    26 minutes 21 second ago
  • Сканер Rkhunter
    1 week ago
  • Программа resize2fs
    1 week 6 days ago
  • Аудиопроигрыватель QMMP
    2 weeks 4 days ago
  • Программа Timeshift
    3 weeks 3 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru