Overzicht
diff -u vergelijkt de inhoud van twee bestanden en toont de verschillen in een geünificeerd formaat. Dit formaat toont de gewijzigde regels samen met de omringende context, waardoor het gemakkelijk is om te zien hoe dingen zijn veranderd. Dit is een essentieel hulpmiddel, vooral voor broncodebeheer en het volgen van wijzigingsgeschiedenissen van configuratiebestanden.
Belangrijkste kenmerken
- Toont verschillen in geünificeerd formaat
- Biedt context voor wijzigingen
- Nuttig voor codebeoordeling en versiebeheer
- Onderscheidt duidelijk toegevoegde/verwijderde/gewijzigde regels
Belangrijkste opties
Het diff-commando biedt verschillende opties, maar hier worden de opties beschreven die vaak samen met de `-u` optie worden gebruikt.
Uitvoerformaat
Vergelijkingsgedrag
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`diff` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Diverse gebruiksvoorbeelden van het diff -u commando.
Vergelijk verschillen tussen twee bestanden in geünificeerd formaat
diff -u file1.txt file2.txt
Toont de verschillen tussen file1.txt en file2.txt in geünificeerd formaat.
Vergelijk bestanden in twee mappen recursief
diff -ur dir1 dir2
Vergelijkt recursief alle bestanden in de mappen dir1 en dir2 en toont de resultaten in geünificeerd formaat.
Vergelijk bestanden waarbij spaties worden genegeerd
diff -uw file1.txt file2.txt
Vergelijkt bestanden waarbij veranderingen in spaties (spaties, tabs, etc.) in de bestandsinhoud worden genegeerd, en toont alleen de werkelijke inhoudelijke verschillen.
Vergelijk bestanden waarbij regels met een specifiek patroon worden genegeerd
diff -u -I '^#' config1.conf config2.conf
Vergelijkt de verschillen tussen config1.conf en config2.conf, waarbij regels die beginnen met een commentaar (beginnend met '#') worden genegeerd.
Sla geünificeerde uitvoer op als patchbestand
diff -u old_file.txt new_file.txt > changes.patch
Toont de verschillen tussen twee bestanden in geünificeerd formaat en slaat de resultaten op in het bestand 'changes.patch'. Dit bestand kan worden toegepast met het 'patch' commando.
Tips & Aandachtspunten
Tips voor het effectief interpreteren en gebruiken van de uitvoer van diff -u.
Hoe de geünificeerde uitvoer te interpreteren
De uitvoer van diff -u gebruikt de volgende symbolen om wijzigingen aan te geven:
- --- (drie koppeltekens): Geeft het pad en de tijdstempel van het originele (oude) bestand aan.
- +++ (drie plustekens): Geeft het pad en de tijdstempel van het nieuwe bestand aan.
- @@ -OLD_START,OLD_COUNT +NEW_START,NEW_COUNT @@: 'Chunk header' die het regelnummer en bereik in het bestand aangeeft waar de wijziging plaatsvond.
- - (koppelteken): Een regel die alleen in het originele bestand voorkomt, wat een verwijderde regel aangeeft.
- + (plusteken): Een regel die alleen in het nieuwe bestand voorkomt, wat een toegevoegde regel aangeeft.
- (spatie): Een regel die in beide bestanden voorkomt, wat een contextregel zonder wijziging aangeeft.
Integratie met het patch commando
De uitvoer gegenereerd door diff -u kan worden gebruikt als invoer voor het `patch` commando. Hiermee kunnen wijzigingen van het ene bestand eenvoudig worden toegepast op een ander bestand of worden teruggedraaid. Bijvoorbeeld, na het genereren van een patchbestand met het commando `diff -u old_file new_file > changes.patch`, kunt u de wijzigingen in `changes.patch` toepassen op `old_file` met het commando `patch -p0 < changes.patch` om het identiek te maken aan `new_file`.