Как лучше всего сравнить огромные деревья каталогов

Как я могу сравнить деревья каталогов огромного размера?

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

Treecomp был бы большим для этого, но с огромным деревом (я имею в виду действительно огромный!) это отказывает, потому что это пытается сохранить его в памяти (4 ГБ памяти недостаточно)...

Я работал вокруг проблемы путем разделения снимков на части, и сравните эти части. Но это утомительно, и проблема может наверняка быть решена лучше.

Действительно ли там другой свободен (лучше всего также открытый исходный код) инструмент, который я могу испытать? Или там другой путь состоит в том, чтобы сделать это, что я пропускаю?

ОС может быть Linux или Windows.

5
задан 14.10.2014, 23:31

8 ответов

Я попытаюсь расшириться немного о том, как сделать это с Общим Командующим (я надеюсь, что понял то, что Вы хотите сделать).

  • установите плагин упаковщика DiskDir (я поместил прямую ссылку на плагин, если Вы предпочитаете, чтобы можно было перейти к странице плагинов и искать плагин DiskDir
  • после того, как плагин установлен, "упаковывают" каталог, из которого Вы хотите отследить изменения с Alt+F5 и выбором "LST" из выпадающего списка в части Packer диалогового окна; это создаст "пакет", который можно ввести путем нажатия Enter, как Вы ввел бы каталог, и он покажет полное содержание каталога
  • когда сравнение результатов переходит к исходному каталогу на левой панели и вводит желаемый снимок в правую панель
  • используйте, "Синхронизируют Директоров" функция, расположенная в Меню команд
  • в Synchronize снятие флажка окна каталогов выдерживает сравнение содержанием, проверяет дату Subdirs и Ignore (или не, если измененная дата важна), и выполненное сравнение
  • окно покажет Вам файлы, которые равны (в этом случае не содержанием, только размером), файлы, которые отличаются и файлы, отсутствующие на слева/справа стороне

Так как снимок является файлом простого текста, и Вы не выдерживаете сравнение содержанием, это должно быть быстро, но я никогда не использовал его для действительно огромного каталога.

Это полезно, если Вы не делаете резервные копии, но только хотите сделать снимок того, каким содержанием каталога был в какой-то момент. При создании резервных копий, можно использовать тот же инструмент (Синхронизируйте директоров) также выдерживать сравнение содержанием.

Существует также расширенная версия плагина DiskDir, ссылка на загрузку находится в первом сообщении. Эта версия включает, Вы, чтобы иметь пакеты (как zip, 7z...) показываете каталогами в снимке. Это, конечно, увеличило бы время для создания снимка.

2
ответ дан 07.12.2019, 16:59

можно просто использовать в терминале

du -a

Это возвратит все файлы во всей sub папке включая там размеры, затем просто сравнит файлы

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

du -a > dump.txt

Затем можно просто использовать что-то как разность для сравнения файлов

Это для Linux :D

5
ответ дан 07.12.2019, 16:59

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

find /path/to/check -type f | xargs md5sum > after.txt

diff before.txt after.txt > diffs.txt
2
ответ дан 07.12.2019, 16:59

Вы могли просто использовать командную строку для дампа списка:

DIR /S >Listing1.txt

(можно точно настроить опции, если Вы хотите, но этот базовый синтаксис, вероятно, достаточно хорош),

Для сравнения этих двух списков используют любой инструмент сравнения файлов, как WinDiff или CompareIt и т.д., Википедия имеет список таких инструментов здесь: http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools

1
ответ дан 07.12.2019, 16:59

Я сделал это в общем Командующем, с помощью синхронизировать функции каталога. Данные на 1.2 ТБ через два диска.

0
ответ дан 07.12.2019, 16:59

Freecommander имеет опцию сравнить две различных папки.

0
ответ дан 07.12.2019, 16:59

Можно также попробовать:

Принтер каталога Karen

Принтер Каталога Karen может распечатать название каждого файла на диске, наряду с размером файла, датой и временем последнего изменения и атрибутами (Только для чтения, Скрытый, Система и Архив)! И теперь, список файлов может быть отсортирован по имени, размер, созданная дата, дата, в последний раз измененная или дата последнего доступа.

Генератор списка файлов

FLG является свободным Генератором Списка файлов. Это ищет дерево каталогов файлы с требуемыми критериями и производит список в формате HTML.

0
ответ дан 07.12.2019, 16:59

Вы попробовали комбинацию? Я понятия не имею, хорошо работает ли это для огромных деревьев, но можно всегда давать ему попытку :)

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

Комбинация помогает Вам рассмотреть изменения кода и понять патчи. Это могло бы даже помочь Вам выяснить то, что продолжается в том слиянии, которого Вы продолжаете избегать.

0
ответ дан 07.12.2019, 16:59

Теги

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