{"id":5310,"date":"2020-05-02T16:28:01","date_gmt":"2020-05-02T16:28:01","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=5310"},"modified":"2020-07-02T15:29:21","modified_gmt":"2020-07-02T15:29:21","slug":"befehl-diff","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/grundlagen\/befehl-diff\/","title":{"rendered":"Der Befehl diff"},"content":{"rendered":"<p>Mit dem Standard &ndash; Befehl diff k&ouml;nnen Sie &uuml;ber die Kommandozeile eines Linux-Systems den Inhalt zweier Dateien oder auch Verzeichnisse vergleichen. diff gibt dann aus, worin sich der Inhalt der ersten Datei mit dem der zweiten Datei unterscheidet. Grunds&auml;tzlich werden die verglichenen Dateien von diff nicht ver&auml;ndert. Es ist Teil des Standard &ndash; Softwarepaketes GNU diffutils und ist somit in den meisten Linux-Distributionen bereits enthalten.<\/p>\n<h2 id=\"tab-con-3\">Installation<\/h2>\n<p><strong>diff <\/strong>ist Teil des Standard-Softwarepakets GNU diffutils und ist bei den meisten Linux-\/UNIX-Distributionen bereits installiert.<\/p>\n<h2 id=\"tab-con-1\">Syntax<\/h2>\n<p>Die allgemeine <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> des Befehls <strong>diff <\/strong>lautet wie folgt:<\/p>\n<pre>diff [Optionen] Datei1 Datei2<\/pre>\n<p>Dabei ist es wichtig zu verstehen, wie <strong>diff <\/strong>die angegebenen Dateien vergleicht und was es mit der Ausgabe meint. <strong>diff <\/strong>gibt die Unterschiede so an, wie Sie den Inhalt der ersten Datei modifizieren m&uuml;ssen, damit er identisch mit dem Inhalt der zweiten Datei ist.<\/p>\n<h2 id=\"t-1588436616833\">Beispiele<\/h2>\n<p>Im folgenden Beispiel werden zwei einfache Text-Dateien &ldquo;befehl-diff1.txt&rdquo; und &ldquo;befehl-diff2.txt&rdquo; mit <strong>diff <\/strong>ohne zus&auml;tzliche Optionen<strong>&nbsp;<\/strong>verglichen. <strong>diff <\/strong>zeigt uns in seiner Ausgabe dann, welche Zeilen aus der ersten Datei ge&auml;ndert werden m&uuml;ssen, damit sie mit denen aus der zweiten Datei gleicht:<\/p>\n<h5>Inhalt der Datei &ldquo;befehl-diff1.txt&rdquo;<\/h5>\n<p>Ich lerne Linux&hellip;&hellip;auf profi-tutorials&hellip;&hellip;weil es spass macht.<\/p>\n<h5>Inhalt der Datei &ldquo;befehl-diff2.txt&rdquo;<\/h5>\n<p>Wir lernen Linux&hellip;&hellip;auf Profi-Tutorials&hellip;&hellip;weil es Spa&szlig; macht.<\/p>\n<h5>Beispiel &ndash; diff (change)<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff befehl-diff1.txt befehl-diff2.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p><strong>1,4c1,3<\/strong><strong>&lt;<\/strong> Ich lerne Linux&hellip;<strong>&lt;<\/strong> &hellip;auf profi-tutorials&hellip;<strong>&lt;<\/strong> &hellip;weil es spass macht.<strong>&lt; <\/strong>&mdash;<strong>&gt;<\/strong> Wir lernen Linux&hellip;<strong>&gt;<\/strong> &hellip;auf Profi-Tutorials&hellip;<strong>&gt;<\/strong> &hellip;weil es Spa&szlig; macht.<\/p>\n<p>In der Ausgabe gibt <strong>diff <\/strong>in der ersten Zeile an, wie die erste Datei &ldquo;befehl-diff1.txt&rdquo; inhaltlich ge&auml;ndert werden muss, damit sie dem Inhalt der zweiten Datei &ldquo;befehl-diff2.txt&rdquo; gleicht und listet ab Zeile zwei der Ausgabe alle weiteren nicht &uuml;bereinstimmenden Zeilen der beiden Dateien auf.<\/p>\n<p>In diesem Beispiel bedeutet die erste Zeile &ldquo;1,4c1,3&rdquo; folgendes:<\/p>\n<p>Die Zeilen <strong>1<\/strong> bis (<strong>,<\/strong>) <strong>4 <\/strong>in der ersten Datei (<strong>&lt;<\/strong>) m&uuml;ssen ge&auml;ndert werden (<strong>c<\/strong>hange), damit die Zeilen <strong>1<\/strong> bis (<strong>,<\/strong>) <strong>3<\/strong> der zweiten Datei (<strong>&gt;<\/strong>) &uuml;bereinstimmen.<\/p>\n<p>Die weiteren Zeilen der Ausgabe verdeutlichen die Zeilen aus der ersten Datei, die NICHT mit den Zeilen aus der zweiten Datei &uuml;bereinstimmen. Dabei bedeutet das &ldquo;<strong>&lt;<\/strong>&rdquo; am Anfang der Zeilen, dass diese aus der ersten Datei stammen und das &ldquo;<strong>&gt;<\/strong>&rdquo; am Anfang der Zeilen, dass diese aus der zweiten Datei sind.<\/p>\n<p>Die Zeichenfolge &ldquo;<strong>&mdash;<\/strong>&rdquo; der Ausgabe des Beispiels besagt, dass der Inhalt der ersten Datei nun zu Ende ist und alle weiteren Zeilen aus der zweiten Datei sind.<\/p>\n<p>Damit der Inhalt der ersten Datei &ldquo;befehl-diff1.txt&rdquo; nun dem Inhalt der zweiten Datei &ldquo;befehl-diff2.txt&rdquo; gleicht, m&uuml;ssen wir folgendes in der ersten Datei &auml;ndern:<\/p>\n<p>Zeile 1: &ldquo;<strong>Ich<\/strong>&rdquo; muss zu &ldquo;<strong>Wir<\/strong>&rdquo; und &ldquo;lerne&rdquo; zu &ldquo;lerne<strong>n<\/strong>&rdquo; ge&auml;ndert werden.<\/p>\n<p>Zeile 2: &ldquo;<strong>p<\/strong>rofi-<strong>t<\/strong>utorials&rdquo; muss zu &ldquo;<strong>P<\/strong>rofi-<strong>T<\/strong>utorials&rdquo; ge&auml;ndert werden.<\/p>\n<p>Zeile 3: &ldquo;<strong>s<\/strong>pa<strong>ss<\/strong>&rdquo; muss zu &ldquo;<strong>S<\/strong>pa<strong>&szlig;<\/strong>&rdquo; ge&auml;ndert werden.<\/p>\n<p>Zeile 4: Diese Leerzeile muss entfernt werden.<\/p>\n<p>In einem weiteren Beispiel werden wieder zwei Text-Dateien &ldquo;befehl-diff3.txt&rdquo; und &ldquo;befehl-diff4.txt&rdquo; mit <strong>diff <\/strong>verglichen, aber dieses Mal fehlt in der ersten Datei eine Zeile, ansonsten sind die Inhalte identisch:<\/p>\n<h5>Inhalt der Datei &ldquo;befehl-diff3.txt&rdquo;<\/h5>\n<p>Wir lernen Linux&hellip;&hellip;weil es Spa&szlig; macht.<\/p>\n<h5>Inhalt der Datei &ldquo;befehl-diff4.txt&rdquo;<\/h5>\n<p>Wir lernen Linux&hellip;&hellip;auf Profi-Tutorials&hellip;&hellip;weil es Spa&szlig; macht.<\/p>\n<h5>Beispiel2 &ndash; diff (add)<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff befehl-diff3.txt befehl-diff4.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>1a2&gt; &hellip;auf Profi-Tutorials&hellip;<\/p>\n<p>Hier gibt <strong>diff <\/strong>in der ersten Zeile mit &ldquo;<strong>1a2<\/strong>&rdquo; seiner Ausgabe an, dass <strong>NACH<\/strong> der ersten (<strong>1<\/strong>) Zeile der ersten Datei die zweite (<strong>2<\/strong>) Zeile aus der zweiten Datei hinzugef&uuml;gt (<strong>a<\/strong>dd) werden muss, damit die Inhalte beider Dateien identisch sind. Anschlie&szlig;end wird die Zeile der zweiten Datei (<strong>&gt;<\/strong>) ausgegeben, die hinzugef&uuml;gt werden muss.<\/p>\n<p>Weiterhin kann <strong>diff <\/strong>auch die Inhalte zweier Verzeichnisse miteinander vergleichen. Dabei listet <strong>diff <\/strong>in seiner Ausgabe wie &uuml;blich nur die Unterschiede auf. Dies zeigen wir im folgenden Beispiel. Verglichen werden dabei die beiden Verzeichnisse &ldquo;diff-verzeichnis1&rdquo; und &ldquo;diff-verzeichnis2&rdquo;:<\/p>\n<h5>Inhalt des Verzeichnisses &ldquo;diff-verzeichnis1&rdquo;<\/h5>\n<p>-rw-r&ndash;r&ndash; 1 <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Root-Benutzer&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Der Root-Benutzer ist der m&auml;chtigste Benutzer-Account auf Linux-Systemen.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/root-benutzer\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">root<\/a> root 0 Mai 1 19:50 profi.txt<\/p>\n<h5>Inhalt des Verzeichnisses &ldquo;diff-verzeichnis2&rdquo;<\/h5>\n<p>-rw-r&ndash;r&ndash; 1 root root 0 Mai 1 19:50 profi.txt-rw-r&ndash;r&ndash; 1 root root 0 Mai 1 19:50 tutorials.txt<\/p>\n<h5>Beispiel &ndash; diff (Verzeichnisse)<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff diff-verzeichnis1 diff-verzeichnis2<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Nur in diff-verzeichnis2: tutorials.txt.<\/p>\n<h2 id=\"t-1588436616834\">Die wichtigsten Optionen<\/h2>\n<p><strong>diff <\/strong>kann auch mit zus&auml;tzlichen Optionen aufgerufen werden. Im Folgenden werden einige beschrieben.<\/p>\n<h4>&ndash;help (Hilfe)<\/h4>\n<p>Mit der&nbsp;<strong>Option &ndash;help<\/strong> k&ouml;nnen Sie sich die Hilfe von <strong>diff<\/strong><strong>&nbsp;<\/strong>ausgeben lassen.<\/p>\n<pre>diff --help<\/pre>\n<h4>-q &ndash; Quick<\/h4>\n<p><strong>-q<\/strong> (<strong>q<\/strong>uick) k&ouml;nnen Sie verwenden, wenn Sie einfach schnell wissen m&ouml;chten, ob sich die Inhalte zweier Dateien &uuml;berhaupt voneinander unterscheiden.&nbsp;Die Ausgabe von&nbsp;<strong>diff<\/strong> bleibt leer, wenn keine inhaltlichen Unterschiede vorhanden sind, andernfalls wird ausgegeben, dass sie sich unterscheiden:<\/p>\n<h5>Beispiel -q<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff -q befehl-diff1.txt befehl-diff2.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Dateien befehl-diff1.txt und befehl-diff2.txt sind verschieden.<\/p>\n<h4>-s &ndash; Same<\/h4>\n<p>Mit <strong>-s<\/strong> (<strong>s<\/strong>ame) gibt <strong>diff<\/strong> zus&auml;tzlich aus, wenn die beiden angegebenen Dateien inhaltlich identisch sind:<\/p>\n<h5>Beispiel -s<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff -s befehl-diff2.txt befehl-diff4.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Dateien befehl-diff2.txt und befehl-diff4.txt sind identisch.<\/p>\n<h4>-y<\/h4>\n<p><strong>diff<\/strong> gibt mit der Option<strong> -y<\/strong> (side by side) die Inhalte der beiden Dateien in zwei Spalten aus und markiert die Zeilen, die unterschiedlich sind:<\/p>\n<h5>Beispiel 1 -y<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff -y befehl-diff1.txt befehl-diff2.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Ich lerne Linux&hellip;&nbsp; &nbsp; &nbsp; &nbsp; |Wir lernen Linux&hellip;&hellip;auf profi-tutorials&hellip; |&hellip;auf Profi-Tutorials&hellip;&hellip;weil es spass macht.&nbsp; &nbsp;|&hellip;weil es Spa&szlig; macht.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;<\/p>\n<p>Die erste Spalte beinhaltet die Zeilen aus der ersten Datei &ldquo;befehl-diff1.txt&rdquo; und die zweite Spalte die Zeilen aus der zweiten Datei &ldquo;befehl-diff2.txt&rdquo;.<\/p>\n<p>Das Zeichen &ldquo;<strong>|<\/strong>&rdquo; bedeutet, dass die beiden Zeilen sich inhaltlich unterscheiden.<\/p>\n<p>Das Zeichen &ldquo;<strong>&lt;<\/strong>&rdquo; bedeutet, dass diese Zeile der ersten Datei in der zweiten Datei nicht vorkommt.<\/p>\n<h5>Beispiel 2 -y<\/h5>\n<h6>Eingabe:<\/h6>\n<p>diff -y befehl-diff3.txt befehl-diff4.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Wir lernen Linux&hellip;&nbsp; &nbsp; &nbsp; &nbsp; Wir lernen Linux&hellip;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &gt;&hellip;auf Profi-Tutorials&hellip;&hellip;weil es Spa&szlig; macht.&nbsp; &nbsp; &nbsp;&hellip;weil es Spa&szlig; macht.<\/p>\n<p>Das Zeichen &ldquo;<strong>&gt;<\/strong>&rdquo; bedeutet, dass in der ersten Datei &ldquo;befehl-diff3.txt&rdquo; die Zeile aus der zweiten Datei &ldquo;befehl-diff4.txt&rdquo; fehlt.<\/p>\n<p><strong>diff<\/strong> hat noch weitere Optionen, unter Anderem die Option <strong>-e<\/strong> (<strong>e<\/strong>d-Script), womit Sie ein ed-Skript erstellen k&ouml;nnen. Dieses Skript kann dann mit einem Editor wie &ldquo;ed&rdquo; oder &ldquo;ex&rdquo; genutzt werden, um den Inhalt der ersten Datei so zu &auml;ndern, dass er mit dem Inhalt der zweiten Datei &uuml;bereinstimmt.<\/p>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit dem Standard &#8211; Befehl diff k\u00f6nnen Sie \u00fcber die Kommandozeile eines Linux-Systems den Inhalt zweier Dateien oder auch Verzeichnisse vergleichen. diff gibt dann aus, worin sich der Inhalt der ersten Datei mit dem der zweiten Datei unterscheidet. Grunds\u00e4tzlich werden die verglichenen Dateien von diff nicht ver\u00e4ndert. Es ist Teil des Standard &#8211; Softwarepaketes GNU [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6003,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":" %%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"Das Linux\/UNIX - Standardtool diff vergleicht den Inhalt zweier Dateien oder Verzeichnisse und gibt die Unterschiede der Inhalte der beiden Dateien aus.","_seopress_robots_index":"","_seopress_analysis_target_kw":"diff,Differenz,Unterschied,Vergleich,Linux,UNIX,Befehl,Befehle,Tool,Datei,Dateien,Verzeichnis,Verzeichnisse","footnotes":""},"categories":[7],"tags":[],"class_list":["post-5310","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grundlagen"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/5310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=5310"}],"version-history":[{"count":51,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/5310\/revisions"}],"predecessor-version":[{"id":6005,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/5310\/revisions\/6005"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/6003"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=5310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=5310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=5310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}