GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine Einführung in den diff-Befehl

Der Befehl diff aus dem Paket diffutils vergleicht Dateien Zeile für Zeile. Es ist sehr praktisch, wenn Sie überprüfen möchten, ob seit der letzten Sicherung kürzlich Änderungen an einer Datei vorgenommen wurden und welche. Ein Exit-Status von 0 bedeutet, dass keine Unterschiede gefunden wurden, 1 bedeutet, dass einige Unterschiede gefunden wurden, und 2 bedeutet Ärger. Und natürlich, falls es Änderungen gibt, diff werde sie dir zeigen. Aber schauen wir uns einige Beispiele an.

Beispiel 1:Beide Dateien haben den gleichen Inhalt

Alice und Bob grillen beide und haben ihre Menüs veröffentlicht. Um zu entscheiden, welches Menü mir am besten gefallen würde, könnte ich die Menüs wie folgt vergleichen:

$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork

Sehen Sie, beide servieren Spare Ribs, Brisket und Pulled Pork. Es gibt keinen Unterschied zwischen den beiden Dateien. Vielleicht sollten sich Alice und Bob zusammentun, um ein richtig großes Barbecue zu veranstalten.

Als Eve hörte, dass Alice und Bob Partys veranstalteten, wurde sie eifersüchtig und beschloss, auch ein Barbecue zu veranstalten. Ihr Menü kommt mit der Datei menu3 . Mal sehen, was die Unterschiede in ihrer Speisekarte im Vergleich zu Alice und Bob sind.

Beispiel 2:Jetzt sind Getränke im Spiel

$ diff menu1 menu3
4a5,8
> 
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$

Jetzt gibt es Unterschiede. Und mit der Ausgabe in der ersten Zeile diff sagt uns, was (a) zu menu1 hinzugefügt werden muss sodass es den gleichen Inhalt wie menu3 hat . Also 4a5,8 bedeutet, dass Sie einige Zeilen nach Zeile 4 in menu1 hinzufügen müssen sodass es wie die Zeilen 5-8 in menu3 aussieht .

Beim Vertauschen der Position der Dateien sieht die Ausgabe anders aus:

$ diff menu3 menu1
5,8d4
< 
< # Drinks
< * Soda
< * Beer

Jetzt diff sagt uns, dass die Zeilen 5-8 in menu3 müssen gelöscht werden (d), um die Datei mit menu1 identisch zu machen .

Beispiel 3:Wenn es etwas zu ändern gibt

Ich habe menu1 bearbeitet und menu2 wieder so aussehen:

# The menu
* Spare Ribs
* Brisket
* Pulled Pork

# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork

Diesmal diff zeigt uns, welche Zeile geändert werden muss (c), damit beide Dateien gleich aussehen:

$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork

Einpacken

Der diff Der Befehl ist ein einfach und flexibel zu verwendendes Werkzeug, um Dateien Zeile für Zeile zu vergleichen. Sehen Sie sich diff(1) an um herauszufinden, was man sonst noch mit diff machen kann .

[ Möchten Sie Ihre Fähigkeiten als Systemadministrator testen? Machen Sie noch heute einen Kompetenztest. ]


Linux
  1. Eine Einführung in die Verwendung von tcpdump auf der Linux-Befehlszeile

  2. Einführung in den Linux-Befehl chmod

  3. Einführung in den Linux-Befehl chown

  4. Meistern Sie den Linux-ls-Befehl

  5. Eine Einführung in die GNU Core Utilities

Ansible Guide:Das Ad-hoc-Kommando

Der Linux-tar-Befehl erklärt

Meistern Sie die Linux-Befehlszeile

diff-Befehl unter Linux

Eine Einführung in die Containerregistrierung von Quay

Der Timer-Befehl in Linux