Существуют десятки инструментов сравнения/синхронизации/объединения файлов/папок, но я ищу определенный графический интерфейс и функциональные возможности, которые довольно просты, но, к сожалению, довольно трудно найти:
Я делаю такое сравнение каждый день, чтобы вручную синхронизировать папки между машинами с помощью переносного диска. Моя типичная папка содержит около 30 000 файлов в 5 000 подпапках, а общий размер составляет около 30 Гбайт. Из-за размера я на самом деле не сравниваю содержимое файлов, а только временные метки. Типичный сеанс занимает около 2-3 минут для однодневных изменений. Например, после одного месяца изменений это может занять около 15 минут, потому что есть еще что проверить.
Возможность выполнить сравнение вручную важна, потому что я мог, например, случайно переместить, скопировать или удалить файл в течение дня, не осознавая этого, и я могу обнаружить и исправить это во время сравнения. Это невозможно сделать автоматически; нужен ручной процесс и удобный графический интерфейс.
Я использую araxis merge уже более 10 лет. Его модель использования точно соответствует описанию, и я был очень доволен этим, по крайней мере, в Windows. К сожалению, он не только коммерческий, но и недоступен для Linux. Использование его над вином - очень плохой опыт. Хуже того, при обновлении до Kubuntu 14.04 с Wine 1.4-1.7 программа зависает, когда я перемещаю ее на другой экран. Так что я снова ищу альтернативы.
Beyond Compare предлагает ту же функциональность и доступна для Linux, но, опять же, она является коммерческой. Кроме того, он не может автоматически расширять папки, такие как слияние Araxis (только если они содержат новые или измененные файлы). Вы должны развернуть все папки, чтобы увидеть различия.
Я также пробовал meld , который бесплатен и доступен для Linux. Похоже, он предлагает ту же функциональность и довольно красив. К сожалению, он очень медленный, и его интерфейс перестает отвечать на запросы, поэтому он практически бесполезен для больших папок, таких как моя.
Итак, есть ли какая-либо другая альтернатива Linux, предпочтительно бесплатная, которая предлагает описанную выше функциональность?
Есть один интересный кандидат, которого вы не упомянули — я не пытался математично его подгонять под ваши требования, но попробовать, безусловно, стоит.
Я думаю, что KDE kompare
является одним из лучших инструментов в этой области, Directoy diff GUI .
Поскольку вам не нужен инструмент слияния, его преимуществом может быть то, что он имеет менее сложный пользовательский интерфейс по сравнению, meld
например, с .
Но, с другой стороны, вы, возможно, используете некоторые функции пользовательского интерфейса, связанные с mergetool, которые здесь могут отсутствовать.
То, что вы видите на снимке экрана, представляет собой группу окон, поэтому вы можете свободно размещать или скрывать их части.
Есть оба списка файлов, список совпадающих пар файлов, список различий «фрагментов» и текстовое представление различий.
Что не показано, так это панель, показывающая разницу текста.
Независимо от самой функциональности, подробная и последовательная настройка графического интерфейса KDE также должна быть полезной, если она используется часто.
«Компаре» исходным загрузчиком был Robamler в en.wikipedia - перенесено из en.wikipedia; было заявлено, что передача была сделана пользователем: Nog2.. Лицензия Creative Commons Attribution-Share Alike 3.0 через Wikimedia Commons
Чтобы попробовать,sudo apt-get install kompare
РЕДАКТИРОВАТЬ: Плохо - проигнорируйте ответ - я не видел, что автоматические сравнения - это то, что вы не хотите использовать. Использование вывода --verbose rsync может в любом случае помочь увидеть различия, даже если вы просто используете эту --dry run
опцию.
Основываясь на использовании, которое вы описываете, rsync
это может быть очень быстрой альтернативой. Скажем, у вас есть папка с именем Important_stuff
, которую вы хотите синхронизировать между компьютером и внешним жестким диском. Вы можете использовать команду:
rsync --recursive --update --times --verbose --exclude=Music* 'path/to/Important_stuff/ /path/to/externalhd/Important_stuff_backup
Опция --recursive
пойдет вглубь папки для подпапок и файлов, --update
опция только заменит старые файлы более новыми файлами с тем же именем и добавит в целевую папку новые файлы, оставив все остальное на месте. Параметр --times
указывает rsync использовать только отметку времени для сравнения, --verbose
чтобы иметь вывод команды, особенно если возникают проблемы --exclude
, и помогает исключить файлы и папки, которые вы не хотите дублировать. Нужно быть осторожным с путем - исходная папка нуждается в «/» в конце, а целевой не нужен.
Команду можно записать в текстовый файл, чтобы в следующий раз, когда вы захотите синхронизировать то, что вы только что делали: sh Impstuff_to_disk.sh
.
Я использую этот метод в течение многих лет, и он хорошо работает для регулярных резервных копий вручную. Этот метод не требует графического интерфейса, но вы можете использовать файловый менеджер, такой как Double Commander, для простых сравнений. На скриншоте показан выбор файлов, которые существуют в одной папке и отсутствуют в другой (Отметить>Сравнить каталоги):
Могу ли я предложить попробовать kdiff3 , хотя графический интерфейс не совсем такой, как вы указали, поскольку он перечисляет объединенное представление с разными цветами файлов и каталогов, он может выполнять почти все операции, которые вам требуются, плюс 3-стороннее слияние.
Стив Барнс