Manuelle, grafische Ordnervergleichssoftware unter Linux

Es gibt Dutzende von Tools zum Vergleichen von Dateien/Ordnern/Synchronisieren/Zusammenführen, aber ich suche nach einer bestimmten grafischen Oberfläche und Funktionalität, die ziemlich einfach, aber leider ziemlich schwer zu finden ist:

  1. Wählen Sie manuell zwei Ordner zum Vergleichen aus; keine ist als Quelle oder Ziel angegeben
  2. Scannen Sie die beiden Ordner und zeigen Sie die Unterschiede an:
    • Das Display befindet sich in einer zweiteiligen, horizontal geteilten Benutzeroberfläche
    • In jedem Panel wird eine separate Baumansicht für den entsprechenden Ordner angezeigt
    • Ordner werden in jedem Baum nur erweitert, wenn sie neue oder geänderte Dateien enthalten
    • 'geändert' kann entweder nach Inhalt (für Genauigkeit) oder nach Zeitstempel (für Geschwindigkeit) sein
    • Unter jedem erweiterten Ordner werden nur neue oder geänderte Dateien angezeigt
  3. Wählen Sie Dateien auf verschiedene Arten aus:
    • Beginnen Sie mit der Auswahl aller neuen Dateien im linken oder rechten Baum; oder alle geänderten Dateien in beiden Bäumen (betroffene Ordner werden automatisch erweitert, wenn sie zuvor reduziert wurden)
    • Optional können Sie Dateien unter einem bestimmten Ordner abwählen, indem Sie ihn einfach reduzieren
    • optional die Feinabstimmung der Auswahl einzelner Dateien durch gemeinsame Mausaktionen wie Einfachklick, Umschalt-Klick, Strg-Klick, Umschalt-Ziehen, Strg-Ziehen usw.
    • Alternativ können Sie eine Auswahl manuell nur durch Mausaktionen treffen, ohne mit allen neuen/geänderten Dateien zu beginnen
  4. Ausgewählte Dateien kopieren, entweder von links nach rechts oder von rechts nach links; oder ausgewählte Dateien aus dem linken, rechten oder beiden Bäumen löschen
  5. Wiederholen Sie die Schritte 3-4 interaktiv und aktualisieren Sie gelegentlich die Ansicht, indem Sie zu Schritt 2 zurückkehren, bis die beiden Ordner identisch sind.

Ich mache einen solchen Vergleich wie jeden Tag, um Ordner zwischen Computern mit einer tragbaren Festplatte manuell zu synchronisieren. Mein typischer Ordner enthält ungefähr 30.000 Dateien in 5.000 Unterordnern und ist insgesamt ungefähr 30 GB groß. Aufgrund der Größe vergleiche ich eigentlich keine Dateiinhalte, sondern nur Zeitstempel. Eine typische Sitzung dauert etwa 2-3 Minuten für die Änderungen eines Tages. Nach z. B. einem Monat Änderungen kann es etwa 15 Minuten dauern, da noch mehr zu prüfen ist.

Den Abgleich manuell durchführen zu können ist wichtig, da ich zB tagsüber unbemerkt versehentlich eine Datei verschoben, kopiert oder gelöscht habe und dies beim Abgleich feststellen und korrigieren kann. Es ist unmöglich, dies automatisch zu tun; Sie benötigen einen manuellen Prozess und eine praktische grafische Oberfläche.

Ich benutze Araxis Merge seit mehr als 10 Jahren. Das Nutzungsmodell ist genau wie beschrieben und ich war sehr zufrieden damit, zumindest unter Windows. Leider ist es nicht nur kommerziell, sondern auch nicht für Linux verfügbar. Die Verwendung über Wein ist eine sehr schlechte Erfahrung. Schlimmer noch, beim Upgrade auf Kubuntu 14.04 mit Wine 1.4-1.7 friert das Programm ein, wenn ich es auf einen anderen Bildschirm verschiebe. Also suche ich wieder nach Alternativen.

Über den Vergleich hinaus bietet es die gleiche Funktionalität und ist für Linux verfügbar, aber auch hier ist es kommerziell. Außerdem kann es Ordner wie Araxis Merge nicht automatisch erweitern (nur wenn sie neue oder geänderte Dateien enthalten). Sie müssen alle Ordner erweitern, um die Unterschiede zu sehen.

Ich habe auch meld ausprobiert , das kostenlos und für Linux verfügbar ist. Es sieht so aus, als ob es die gleiche Funktionalität bietet und ziemlich hübsch ist. Leider ist es extrem langsam und seine Benutzeroberfläche reagiert nicht mehr, sodass es bei großen Ordnern wie meinem praktisch nutzlos ist.

Gibt es also eine andere, vorzugsweise kostenlose Alternative unter Linux, die diese oben beschriebene Funktionalität bietet?

Kann ich vorschlagen, auf ein verteiltes VCS wie Mercurial umzusteigen? Es ist kostenlos, mit der Tortoise-Oberfläche können Sie versehentliche Änderungen rückgängig machen und das Zusammenführen auf der tragbaren Festplatte dauert Sekunden. Sie profitieren auch von einer Änderungshistorie.

Antworten (3)

Es gibt einen interessanten Kandidaten, den Sie nicht erwähnt haben - ich habe nicht versucht, ihn Ihren Anforderungen anzupassen, aber es ist sicherlich einen Versuch wert.

Ich denke, KDE kompareist eines der besten Tools in diesem Bereich, directoy diff GUI .

Da Sie kein Zusammenführungstool benötigen, kann es von Vorteil sein, dass es im Vergleich zu meldbeispielsweise eine weniger komplexe Benutzeroberfläche hat.
Auf der anderen Seite verwenden Sie möglicherweise einige Mergetool-bezogene Funktionen der Benutzeroberfläche, die hier möglicherweise fehlen.

Was Sie im Screenshot sehen, ist eine Gruppe andockbarer Fenster, sodass Sie Teile davon frei anordnen oder ausblenden können.
Es gibt beide Dateilisten, eine Liste der übereinstimmenden Dateipaare, eine Liste der unterschiedlichen "Chunks" und die Text-Diff-Ansicht.
Was nicht gezeigt wird, ist ein Feld, das den Text diff zeigt.

Unabhängig von der Funktionalität selbst dürfte auch die detaillierte und durchgängige Konfigurierbarkeit der KDE-GUIs bei häufiger Nutzung hilfreich sein.


Screenshot von <code>kompare</code>

"Kompare" von Ursprünglicher Uploader war Robamler bei en.wikipedia - Übertragen von en.wikipedia; Es wurde angegeben, dass die Übertragung von Benutzer: Nog2 vorgenommen wurde. Lizenziert unter Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 über Wikimedia Commons

man kompare

Um es auszuprobieren,sudo apt-get install kompare

Vielen Dank. Ich habe kompare ausprobiert, aber nachdem ich ein bisschen herumgespielt habe, scheint es nicht annähernd die Funktionalität und die Schnittstelle zu erreichen, die ich beschrieben habe.

EDIT: Meine schlechte - ignoriere die Antwort - ich habe nicht gesehen, dass automatische Vergleiche etwas sind, das Sie nicht verwenden möchten. Die Verwendung der --verbose-Ausgabe von rsync kann trotzdem helfen, die Unterschiede zu erkennen, selbst wenn Sie nur die --dry runOption verwenden.

Basierend auf der von Ihnen beschriebenen Verwendung rsynckönnte dies eine sehr schnelle Alternative sein. Angenommen, Sie haben einen Ordner mit dem Namen Important_stuff, den Sie zwischen einem Computer und einer externen Festplatte synchronisieren möchten. Sie könnten den Befehl verwenden:

rsync --recursive --update --times --verbose --exclude=Music* 'path/to/Important_stuff/ /path/to/externalhd/Important_stuff_backup

Die --recursiveOption geht in die Tiefe des Ordners für Unterordner und Dateien, die --updateOption ersetzt nur ältere Dateien durch neuere Dateien mit demselben Namen und fügt dem Zielordner neue Dateien hinzu, während alles andere an Ort und Stelle bleibt. Die --timesOption weist rsync an, nur den Zeitstempel für die Vergleiche zu verwenden, --verbosesoll eine Ausgabe des Befehls haben, insbesondere wenn Probleme auftreten --exclude, und hilft dabei, Dateien und Ordner auszuschließen, die Sie nicht duplizieren möchten. Beim Pfad muss man aufpassen - der Quellordner braucht ein '/' am Ende, während das Ziel es nicht braucht.

Der Befehl kann in eine Textdatei geschrieben werden, sodass Sie beim nächsten Mal, wenn Sie Dinge synchronisieren möchten, einfach Folgendes tun: sh Impstuff_to_disk.sh.

Ich verwende diese Methode seit Jahren und funktioniert gut für regelmäßige manuelle Backups. Die Methode beinhaltet keine GUI, aber Sie können einen Dateimanager wie Double Commander für einfache Vergleiche verwenden. Der Screenshot zeigt die Auswahl von Dateien, die in einem Ordner vorhanden sind und in dem anderen nicht (Markieren>Verzeichnisse vergleichen):

Screenshot Double Commander

Kann ich vorschlagen, kdiff3 auszuprobieren, obwohl die grafische Benutzeroberfläche nicht genau Ihren Angaben entspricht, da sie eine zusammengeführte Darstellung mit den unterschiedlichen Dateien und Verzeichnissen auflistet, die farblich gekennzeichnet sind, kann sie fast alle Operationen ausführen, die Sie benötigen, plus 3-Wege-Zusammenführungen.

  • Kostenlos/gratis
  • Mehrere Plattformen, KDE, Windows, Mac, andere
  • Blenden Sie optional übereinstimmende Dateien aus
  • Geben Sie optional einen Zielordner an
  • Sie können wählen zwischen A->B, B<-A, Beides löschen und für Textdateien Zeile für Zeile zusammenführen, Zeilen von A dann B, Zeilen von B dann A usw.
  • 3-Wege-Merges
  • Viele, weniger gründliche und sichere Optionen, um die Dinge zu beschleunigen
  • Muster für Datei- und Verzeichnisnamen ignorieren
  • Viele andere Einstellungen wie das Ignorieren von Leerzeichenunterschieden.

Geben Sie hier die Bildbeschreibung ein