Инструмент сравнения файлов и каталогов?

Действительно, на компакт-дисках уже нет языковых пакетов, кроме английского. Выбор языка, который вы видите на компакт-диске, предназначен только для перевода строк процесса установки. Для фактических языковых пакетов системы Ubuntu, отличных от английского, которые необходимо установить, вы должны либо иметь рабочее интернет-соединение во время установки, либо устанавливать с DVD-диска, либо позже устанавливать языковые пакеты.

официально заявлено ниже:

Загрузка DVD Не путайте, хотя DVD-диски могут хранить гораздо больше данных, чем типичный компакт-диск Ubuntu, основное преимущество загрузки DVD - получить доступ ко всем доступным языковые пакеты. Большинство людей будут в порядке со стандартным установщиком компакт-дисков. Для изображений DVD меньше мест для загрузки, и этот список обновляется реже, чем для образов компакт-дисков.
1
задан 4 April 2014 в 08:00

18 ответов

Diff - ваш друг.

diff -ur path1 path2

Это будет сравнивать все файлы, которые являются общими между path1 и path2.

Если вы измените -ur на -urN, тогда также покажет содержимое файлов, которые присутствуют только на одном из путей.

42
ответ дан 26 May 2018 в 00:29

«Beyond Compare» также доступен для Linux.

Проверьте их URL-адрес загрузки: http://www.scootersoftware.com/download.php

20
ответ дан 26 May 2018 в 00:29
  • 1
    Beyond Compare особенно полезно при выполнении ssh (с ключом или паролем) на удаленный хост и сравнении этого с локальной копией. – brianlmerritt 5 October 2016 в 13:43

Используйте команду diff:

diff -u file1 file2

diff -u выбирает формат с несколькими линиями контекста. В простой diff file1 file2 перечислены только разные строки. Есть много других опций для управления выходным форматом, игнорирование различий в пробелах и т. Д.

Если вы хотите записать вывод в файл, перенаправите его:

diff -u file1 file2 >file1-file2.diff
13
ответ дан 26 May 2018 в 00:29

Gnome Commander

Интерфейс может быть не очень сексуальным, но он чрезвычайно мощный!

И если вы привыкли к другому * Commander (например, Нортон или подобные), вы не будете потеряны.

12
ответ дан 26 May 2018 в 00:29
  • 1
    Я не использовал его для сравнения 2 файлов, но я использовал его, чтобы указать, какие файлы были разными, в сравнении с каталогами. Это особенно полезно при сортировке фотографий ;-) – Huygens 10 November 2010 в 23:23

Инструменты командной строки

Вдохновленные этой записью в блоге.

diff

Список различных файлов:

diff -qr folder1 folder2

Листинг также content:

diff -Naur folder1 folder2

rsync

Если эти два каталога не находятся на одной машине, rsync может быть самым простым решением. Обычно rsync используется для синхронизации каталогов, но вы можете запускать его в подробном и сухом режиме, поэтому он будет перечислять только файлы, которые он должен был бы изменить.

rsync -rvnc --delete folder1 server:/path/to/folder2

Вы можете опустить c, если вы хотите сравнить файлы на основе временных меток и размеров файлов, чтобы ускорить все:

rsync -rvn --delete folder1 server:/path/to/folder2
9
ответ дан 26 May 2018 в 00:29

Krusader

Krusader - бесплатный инструмент (доступен в Software Center), который показывает содержимое папки в сравнении, и вы можете синхронизировать с множеством различных опций.

Чтобы сравнить содержимое файла, вы просто отмечаете два файла, выберите «файл»> «сравнить контент», и их сравнивают по буквам на основе букв , инструмент сравнения по умолчанию, используемый krusader, является инструментом KDE по умолчанию Kompare. Вы можете настроить krusader на использование любого другого инструмента сравнения - например, одного из вышеперечисленных.

Это самое полное решение, которое я когда-либо нашел, и это очень удобно. И он поддерживает все функции keybindungs, используемые командиром полуночи (синтаксис командующего norton).

9
ответ дан 26 May 2018 в 00:29
  • 1
    Вы также можете использовать «Инструменты - & gt; Синхронизация каталогов " чтобы получить представление рекурсивных файлов об изменениях двух панелей. – Angelos Pikoulas 20 February 2014 в 16:56
  • 2
    к сожалению, синхронизатор в krusader не поддерживается: bugs.kde.org/show_bug.cgi?id=270150#c7 . Существует ли альтернатива, которая активно поддерживается? – rubo77 24 February 2014 в 15:38

KDiff3

Это графический интерфейс для пользователей KDE (или если вы не против использования приложений Qt).

Для каталогов также существует kdiff3 .

9
ответ дан 26 May 2018 в 00:29

Возможно, Meld - это то, что вы ищете. Или вот несколько других альтернатив.

6
ответ дан 26 May 2018 в 00:29

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

4
ответ дан 26 May 2018 в 00:29

Я узнал о hashdeep две недели назад. И это имеет некоторые сильные преимущества:

В отличие от meld, он хорошо работает для очень больших папок. Где meld становится чрезвычайно медленным, и пользовательский интерфейс не отвечает (заблокирован), hashdeep работает только с постоянной скоростью. В отличие от rsync, hashdeep обнаруживает перемещенные файлы - файлы с одним и тем же контентом только в другом каталоге.

Подробный вывод выглядит так:

...
foo/bar.txt: Known file not used
x/foo/M0824_2L.JPG: Moved from y/P1010998.JPG

hashdeep: Audit failed
   Input files examined: 0
  Known files expecting: 0
          Files matched: 6233
Files partially matched: 0
            Files moved: 3695
        New files found: 19257
  Known files not found: 4713
4
ответ дан 26 May 2018 в 00:29

Попробуйте также FreeFileSync. Он имеет достойный интерфейс, приемлемую скорость сравнения, хорошую фильтрацию результата сравнения, различные способы синхронизации. Он поставляется с инструментом мониторинга папки (RealTimeSync), который может запускать FreeFileSync (фактически любую команду или скрипт), когда эта конкретная папка (или папки) или файлы внутри изменены.

Подробнее об этом FreeFileSync или здесь, где у вас есть PPA тоже

На своей странице основные функции: [ ! d6] Сравните файлы (по дате или по дате) и синхронизируйте их. Нет ограничений: произвольное количество файлов может быть синхронизировано. Поддержка Unicode. Поддержка сети. Встроенная поддержка очень длинных имен файлов (более MAX_PATH = 260 символов). База данных синхронизации для распространения удаленных файлов и обнаружения конфликтов Поддержка нескольких пар папок с отдельной конфигурацией Полная поддержка символических ссылок Windows / Linux и точек соединения Windows. Lean & amp; легкодоступный пользовательский интерфейс: высоко оптимизирован для скорости и огромных наборов данных. Алгоритмы, закодированные на C ++ полностью. Все индикаторы прогресса оптимизированы для максимальной производительности! Создание пакетных заданий для автоматической синхронизации с графическим интерфейсом или без него. Сосредоточьтесь на юзабилити: только пользовательские интерфейсы: нет перегруженных меню или джунглей значков. Выберите все папки с помощью drag & amp; понижаться. Последние использованные настройки и настройки экрана сохраняются автоматически. Поддерживайте и загружайте различные конфигурации с помощью drag & amp; drop, load-button или commandline. Дважды щелкните, чтобы запустить внешнее приложение (например, показать файл в проводнике Windows). Копировать & amp; вставьте все данные сетки в текст. Удалите лишние / временные файлы непосредственно на главной сетке. Щелкните контекстное меню правой кнопкой мыши. Полная информация о состоянии и отчет об ошибках. Сортировка списков файлов по имени, размеру или дате. Поддержка файлов размером более 4 ГБ. Возможность переместить файлы в Корзину вместо их удаления / перезаписи. Игнорируйте каталоги «\ RECYCLER» и «\ System Volume Information» с фильтром по умолчанию. (Только для Windows) Локализованные версии доступны для многих языков. Удалить перед копией: Избегайте нехватки дискового пространства для больших синхронных заданий. Фильтровать функциональность для включения / исключения файлов из синхронизации (без повторного сравнения!). Включение / исключение определенных файлов из синхронизации временно. Автоматически обрабатывать изменения летнего времени на томах FAT / FAT32. Доступна портативная версия (выбирается через установщик). Собственная 64-битная версия. Проверяйте обновления из FreeFileSync автоматически. Скопируйте заблокированные файлы с помощью службы теневого копирования томов Windows. (Только для Windows) Создание регулярных резервных копий с макросами% time%,% date% в именах каталогов. Копирование файлов и папок при создании / доступе / изменении при синхронизации. Расширенная стратегия блокировки для обеспечения нескольких процессов синхронизации (например, нескольких авторов, одного и того же сетевого ресурса)

Я бы добавил, что он может управлять удаленными файлами, перемещая их в корзину или папку, указанную пользователем. Чтобы указать на недостаток: программная документация очень сильно фокусируется на Windows, меньше на Linux. Но это прекрасно работает.

3
ответ дан 26 May 2018 в 00:29

Вы можете использовать diffuse:

sudo apt-get install diffuse
diffuse file1 file2
3
ответ дан 26 May 2018 в 00:29
  • 1
    Я часто использую Diffuse для одной функции убийцы - возможность вручную устанавливать привязки слияния. Он не делает каталогов (пока), но для индивидуальных и беспорядочных разностей функция анкеров является удивительной. – Sk606 10 December 2013 в 07:42

Хороший способ сделать это сравнение - использовать «find» с «md5sum», затем «diff».

Пример:

Используйте find для отображения всех файлов в каталоге затем вычислить хеш md5 для каждого файла и передать его в файл:

$find /dir1/ -type f -exec md5sum {} \; > dir1.txt

Выполните ту же процедуру в другом каталоге:

$find /dir2/ -type f -exec md5sum {} \; > dir2.txt

Затем сравните результат: два файла с «diff»:

$diff dir1.txt dir2.txt

Эта стратегия очень полезна, когда два сопоставимых каталога не находятся на одном компьютере, и вам нужно убедиться, что файлы одинаковы в обоих каталогах .

Другим хорошим способом выполнения задания является использование find

git diff --no-index dir1/ dir2/

С уважением!

3
ответ дан 26 May 2018 в 00:29

Вы можете попробовать meld.

Это репозитории и предоставляет графический интерфейс для сравнения файлов или папок.

2
ответ дан 26 May 2018 в 00:29
  • 1
    Meld - это графический интерфейс для diff, кстати. – Marco Ceppi♦ 4 October 2011 в 22:46

Eclipse IDE немного тяжеловес, если вы просто делаете сравнения, но он хорошо справляется с этим, среди прочего. Вы можете выбрать 2 проекта, пути или файлы и сравнить их друг с другом, а также синхронизировать с серверами управления версиями.

1
ответ дан 26 May 2018 в 00:29

IMHO FreeFileSync очень хорош и полезен, чем Meld. Он быстрый и стабильный, может выполнять Costomizable синхронизации, а также может экспортировать результат сравнения в CSV-файл.

Ссылка Lanchpad

1
ответ дан 26 May 2018 в 00:29

Кросс-платформенный, легкий, без суеты и amp; профильные функции сохранения делают Jfilesync моим лучшим выбором

0
ответ дан 26 May 2018 в 00:29

Для сравнения файлов

File_1.txt
Line1
Line2

File_2.txt
Line1
Line 2

Вы можете использовать команду cmp: выход

cmp -b "File_1.txt" "File_2.txt"

будет

a b differ: byte 11, line 2 is  62 2  40  

Сравнить dirs (ваша потребность):

вы можете использовать команду cmp :

diff -r --brief dir1 dir2

man diff

  -r, --recursive
              recursively compare any subdirectories found

   -q, --brief
          report only when files differ
0
ответ дан 26 May 2018 в 00:29

Другие вопросы по тегам:

Похожие вопросы: