
GNU Diffutils Reference Manual
Computernutzer stellen sich oft die Frage, wie sich zwei Dateien unterscheiden. Vielleicht ist die eine Datei eine neuere Version der anderen Datei.
Oder die beiden Dateien waren ursprünglich identische Kopien, wurden aber von verschiedenen Personen geändert. Mit dem Befehl diff können Sie die Unterschiede zwischen zwei Dateien oder zwischen den entsprechenden Dateien in zwei Verzeichnissen anzeigen. diff gibt die Unterschiede zwischen den Dateien Zeile für Zeile in einem von mehreren Formaten aus, die über Befehlszeilenoptionen ausgewählt werden können.
Dieser Satz von Unterschieden wird oft als diff oder patch bezeichnet.
Bei identischen Dateien gibt diff normalerweise keine Ausgabe aus; bei binären (Nicht-Text-) Dateien meldet diff normalerweise nur, dass sie unterschiedlich sind. Mit dem Befehl cmp können Sie die Byte- und Zeilennummern anzeigen, in denen sich zwei Dateien unterscheiden.
cmp kann auch alle Bytes anzeigen, die sich zwischen den beiden Dateien unterscheiden, und zwar Seite an Seite. Eine Möglichkeit, zwei Dateien Zeichen für Zeichen zu vergleichen, ist der Emacs-Befehl M-x compare-windows. Weitere Informationen zu diesem Befehl finden Sie im Abschnitt "Other Window" in The GNU Emacs Manual.
Sie können den Befehl diff3 verwenden, um die Unterschiede zwischen drei Dateien anzuzeigen. Wenn zwei Personen unabhängige Änderungen an einem gemeinsamen Original vorgenommen haben, kann diff3 die Unterschiede zwischen dem Original und den beiden geänderten Versionen anzeigen und eine zusammengeführte Datei erzeugen, die die Änderungen beider Personen zusammen mit Warnungen über Konflikte enthält. Sie können den Befehl sdiff verwenden, um zwei Dateien interaktiv zusammenzuführen.
Sie können die von diff erzeugte Differenzmenge verwenden, um Aktualisierungen von Textdateien (z. B.
Programmquellcode) an andere Personen zu verteilen. Diese Methode ist besonders nützlich, wenn die Unterschiede im Vergleich zu den vollständigen Dateien gering sind. Anhand der diff-Ausgabe können Sie das Patch-Programm verwenden, um eine Kopie der Datei zu aktualisieren oder zu patchen.
Wenn Sie sich diff als Subtraktion einer Datei von einer anderen vorstellen, um deren Differenz zu erzeugen, können Sie sich patch als Addition der Differenz zu einer Datei vorstellen, um die andere zu reproduzieren.
Dieses Handbuch konzentriert sich zunächst auf die Erstellung von Diffs und zeigt später, wie man Diffs zur Aktualisierung von Dateien verwendet.