diff

diff vergleicht zwei Textdateien als Unified Diff; der mitgelieferte Befehl patch wendet die Änderung nur an, wenn der Quellkontext noch passt. Patch speichern und Original ersetzen sind ausdrückliche Schritte.

EntwicklungVersion 1.1.3StabilAliase: patch
lil-terminal

Überblick

diff und patch bilden zusammen einen Prüfablauf: Änderung zuerst ansehen, bei Bedarf speichern, anschließend in ein separates Ziel anwenden und erst danach entscheiden, ob die Quelle ersetzt werden soll.

Änderung prüfen, bevor sie angewendet wird

Ein sinnvoller Ablauf ist diff old.php new.php -o change.patch und danach patch old.php change.patch. Standardmäßig entsteht eine separate .patched-Datei; nur -r ersetzt die Quelle.

Syntax

lil-terminal
diff <old> <new> [options]

Referenz

diff <old> <new>

Unified Diff mit drei Kontextzeilen anzeigen

diff <old> <new> -c <lines>

0 bis 20 Kontextzeilen wählen

diff <old> <new> -q

nur Gleichheit oder Unterschied melden

diff <old> <new> -o <patch>

Diff als Patchdatei speichern

patch <file> <patch>

Patch in <file>.patched anwenden

patch <file> <patch> -o <dst>

Ergebnis in eine andere Datei schreiben

patch <file> <patch> -r

Original atomar ersetzen

patch <file> <patch> -f

vorhandene nicht ersetzende Ausgabedatei überschreiben

Prüfen und anwenden

diff old.php new.php -o change.patch speichert die geprüfte Änderung, ohne die Quellen zu verändern. patch old.php change.patch erzeugt standardmäßig eine separate .patched-Datei; -o <dst> wählt ein anderes Ziel. Nur -r ersetzt das Original.

Grenzen und Sicherheit

Verglichene Textdateien sind auf 4 MiB und 20000 Zeilen begrenzt; Binärdaten werden abgewiesen. Vor dem Schreiben prüft patch jede Kontextzeile. Ein Patch für einen anderen Quellstand schlägt deshalb fehl, statt erzwungen zu werden.

Interaktive Sandbox-Vorschau

Führen Sie die vorbereiteten Beispiele direkt auf der Seite aus. Die Ergebnisse sind vorab erstellt und werden im Browser angezeigt; auf dem Server wird kein Terminalbefehl ausgeführt.

Unified Diff mit drei Kontextzeilen anzeigen

Installieren und verwalten

Installieren Sie die aktuelle kompatible Version. Wählen Sie Base für den vollständigen Funktionsumfang oder Minimum für das reduzierte Paket; ein bereits installiertes Modul wird mit upgrade aktualisiert.

Base und Minimum sind zwei Pakete derselben aktuellen Modulversion.

Base-Paket

Vollständiges Paket mit lokaler Referenz und allen veröffentlichten Modi installieren.

install diff
Minimum-Paket

Das reduzierte Paket installieren. Die lokale Referenz entfällt; help <cmd> -i öffnet die aktuelle Serverreferenz.

install diff -m
Exakte öffentliche Version

Genau diese veröffentlichte Version installieren.

install diff -v 1.1.3
Prüfen oder aktualisieren

upgrade prüft Kompatibilität und ersetzt den Block nur bei Bedarf.

upgrade diff
Modul entfernen

Erweiterungsblock entfernen, Core und andere Module bleiben erhalten.

install diff -u

Beispiele

Die Beispiele sind kopierbar, werden aber nicht von der Website ausgeführt. Prüfen Sie Pfade, Rechte und destruktive Optionen.

Unified Diff mit drei Kontextzeilen anzeigen
cd \sandbox | diff workspace/original.txt workspace/updated.txt
--- workspace/original.txt
+++ workspace/updated.txt
@@ -1,2 +1,2 @@
-alpha
+alpha reviewed
0 bis 20 Kontextzeilen wählen
diff workspace/original.txt workspace/updated.txt -c 1
--- workspace/original.txt
+++ workspace/updated.txt
@@ -1,2 +1,2 @@
-alpha
+alpha reviewed
Nur Gleichheit oder Unterschied melden
diff workspace/original.txt workspace/updated.txt -q
Different  yes
Old        workspace/original.txt
New        workspace/updated.txt
Diff als Patchdatei speichern
diff workspace/original.txt workspace/updated.txt -o tmp/workspace.patch
Saved  tmp/workspace.patch
Size   148 B
Patch in <file>.patched anwenden
patch workspace/original.txt tmp/workspace.patch
Source   workspace/original.txt
Patched  workspace/original.txt.patched

patch gehört zum Modul diff und wendet Unified Diffs kontrolliert an, ohne ein systemweites patch-Programm zu benötigen.

Ergebnis in eine andere Datei schreiben
patch workspace/original.txt tmp/workspace.patch -o tmp/patched.txt
Source   workspace/original.txt
Patched  tmp/patched.txt

patch gehört zum Modul diff und wendet Unified Diffs kontrolliert an, ohne ein systemweites patch-Programm zu benötigen.

Vorhandene nicht ersetzende Ausgabedatei überschreiben
patch workspace/original.txt tmp/workspace.patch -o tmp/current.txt -f
Source   workspace/original.txt
Patched  tmp/current.txt
Replace  explicit

patch gehört zum Modul diff und wendet Unified Diffs kontrolliert an, ohne ein systemweites patch-Programm zu benötigen.

Original atomar ersetzen
patch workspace/original.txt tmp/workspace.patch -r
Source   workspace/original.txt
Patched  workspace/original.txt

patch gehört zum Modul diff und wendet Unified Diffs kontrolliert an, ohne ein systemweites patch-Programm zu benötigen.

Fehlende Vergleichsdatei behandeln
diff missing.txt workspace/updated.txt
Datei nicht gefunden: missing.txt

In diesem Beispiel verwendete Datei: sandbox/workspace/original.txt

Das Beispiel verwendet eine Datei oder ein Verzeichnis aus dem geschützten Dokumentationsbereich /sandbox/.

alpha
beta
gamma

Verwandte Dokumentation

Aktuelle öffentliche Version

v1.1.32026-08-08

Erste stabile Version

Aktuelle stabile Version von diff. diff vergleicht zwei Textdateien als Unified Diff; der mitgelieferte Befehl patch wendet die Änderung nur an, wenn der Quellkontext noch passt.