Der Linux-Befehl diff analysiert eine Datei Zeile für Zeile und gibt eine Liste der Änderungen aus, die zwischen zwei Dateien vorgenommen wurden.
Der Befehl diff ist die Abkürzung für „Differenz“, was im Wesentlichen die Unterschiede zwischen zwei Dateien angibt .
Im Gegensatz zum cmp
(vergleiche) und comm
Befehlen hebt diff die spezifische Zeile hervor, die geändert werden muss, damit sie mit den anderen Dateien übereinstimmt.
Eine Sache, die Linux-Administratoren nicht vergessen dürfen, ist, dass diff Symbole und Anweisungen verwendet, um es effektiver zu machen.
Die spezifischen Symbole weisen den Befehl an, die Datei auf eine bestimmte Weise zu ändern, damit sie mit der zweiten übereinstimmt.
Sonderzeichen in der diff-Befehlsausgabe:
- a:hinzufügen
- c:ändern
- d:löschen
Linux-Diff-Befehlssyntax
diff [options] File1 File2
Werfen wir einen Blick auf die Verwendung von diff-Befehlsbeispielen.
Fall 1:Änderung
Angenommen, wir haben zwei Dateien:x.txt und y.txt
x.txt enthält folgenden Inhalt.
California
Miami
Ohio
Kansas
Texas
y.txt enthält folgenden Inhalt.
California
Nevada
Georgia
Kansas
Texas
Verwenden Sie nun den Befehl diff, um den Vergleich zwischen den beiden Dateien wie gezeigt durchzuführen.
$ diff x.txt y.txt
Beispielausgabe
Sehen wir uns die Ausgabe genauer an.
Der 2,3c2,3
line impliziert, dass die Zeilen 2 und 3 der ersten Datei geändert werden müssen, damit sie mit den Zeilen 2 und 3 der zweiten Textdatei übereinstimmen.
Diff-Befehlsausgabesymbole erklärt
Schauen wir uns kurz die verschiedenen Symbole an, die in der Ausgabe vorkommen.
- Das Kleiner-als-Symbol zeigt Zeilen ab der ersten Zeile an
- Das Größer-als-Symbol zeigt Zeilen ab der zweiten Zeile an
a - Denotes that text was added to the file
c - Denotes that changes were made in the file
d - Indicates that the line was expunged or deleted
Schauen wir uns ein weiteres Beispiel an.
Fall 2:Hinzufügen
Wir haben zwei Textdateien:
Die Datei Datei 1.txt hat folgenden Inhalt.
Linux is a great operating system
It's free and opensource
It's light and stable
I would highly recommend it
file2.txt hat folgenden Inhalt.
Linux is a great operating system
It's free and opensource
It's light and stable
Oh ! It can be installed on almost any PC hardware
I would highly recommend it
Verwenden Sie den Befehl diff, um beide Dateien zu vergleichen.
$ diff file1.txt file2.txt
Beispielausgabe
Aus der obigen Ausgabe, 3a4
impliziert, dass nach Zeile 3 aus der ersten Datei eine weitere Zeile hinzugefügt werden muss, um mit Zeile 4 aus der zweiten Datei übereinzustimmen .
Fall 3:Löschung
Betrachten Sie zwei Dateien wie unten.
file3.txt mit folgendem Inhalt.
Apples
Oranges
Mangoes
Peaches
Bananas
Grapes
Und file4.txt die folgenden Inhalt hat.
Apples
Oranges
Mangoes
Bananas
Grapes
Verwenden Sie erneut den diff-Befehl, um beide Dateien zu vergleichen.
$ diff file3.txt file4.txt
Beispielausgabe
Hier die Ausgabe 4d3 bedeutet, dass die 4. Zeile aus der ersten Datei gelöscht wird, um sie mit der zweiten Datei in Zeile 3 zu synchronisieren.
Schlussfolgerung
Der Linux-Befehl diff ist ein einfaches Dienstprogramm zum Vergleichen zweier Dateien. Es ist nützlich, um nach Änderungen zwischen zwei Versionen einer Textdatei zu suchen.