“Diff” forkortes som “forskelle” og bruges til at sammenligne indholdet af to filer og liste ændringer i standardoutput.
Et sæt kildekoder udgør et stykke software. Udviklere bygger kildekoden, der udvikler sig over tid. At få en ny fil til hver opdatering er urealistisk eller tidskrævende. Derfor er den sikreste metode kun at distribuere forbedringer. Ændringerne foretages i den gamle fil, og derefter oprettes en ny eller patched fil til den nye softwareversion.
Denne guide viser dig, hvordan du bruger kommandoen “diff” til at generere en patch-fil og derefter anvender den med kommandoen “patch”.
Syntaks:
Syntaksen for “lappe”Kommando er som følger:
$ patch [optioner] [originalfil [patchfile]]$ patch -pnum
Oprettelse af en patchfil ved hjælp af "diff":
Kildekodefil 1:
For det første kræves der to forskellige versioner af en kildekode for at oprette en patch-fil. Den kildekodefil, jeg har oprettet, hedder som “myfile.c”: S
#omfatteint main ()
printf ("Hej LinuxHint \ n");
Kildekodefil 2:
Kopier nu indholdet af myfile.c i ny_fil.c, ved brug af:
$ cp myfile.c ny_fil.cForetag nogle ændringer i den nyoprettede fil:
#omfatteugyldig hoved ()
printf ("Hej Linux-tip");
printf ("Velkommen til linuxhint");
Kontrol af forskel:
Lad os oprette en patch-fil med navnet myfile.lappe:
$ diff -u myfile.c ny_fil.cDu kan udskrive patch-filen ved at udføre kommandoen nedenfor:
$ cat myfile.lappe
Anvendelse af patchfil:
For at anvende plaster skal du bruge:
$ patch < myfile.patch
Sørg for, at patch-filen er i den mappe, hvor kildekodefilen er placeret.
Tag en sikkerhedskopi, inden du anvender programrettelsen:
Brug "-b”Mulighed for at oprette en sikkerhedskopi af patch-filen:
$ patch -b < myfile.patch
Indstilling af version af sikkerhedskopifil
Hvis du har brug for flere sikkerhedskopier af en enkelt sikkerhedskopifil, skal du bruge “-V" mulighed. Det indstiller versionsnummeret for hver sikkerhedskopifil. Udfør kommandoen nedenfor:
$ patch -b -V nummereret < myfile.patch
Valider Patch Files
Hvis du vil kontrollere eller observere resultatet af patchen, skal du bruge “-tørt løb" mulighed. Den foretager ingen ændringer i den oprindelige fil:
$ patch - tørt < myfile.patch
Vend / Fortryd en patch
Indstillingen “-R” bruges til at vende om eller fortryde en patch, der allerede er anvendt.
$ patch < file.patch$ ls -l myfile.c
$ patch -R < myfile.patch
$ ls -l myfile.c
Konklusion:
I Linux-operativsystemet er "patch" en kommando, der giver os mulighed for at anvende patch-filer på kildekoder eller konfigurationsfiler. Patch-filen bruges til softwareopdateringsformål. Forskellen mellem de originale og de nye filer gemmes i patch-filer, og kommandoen “diff” bruges til at få forskellen eller patch. Vi diskuterede brugen af kommandoer “diff” og “patch” med en række muligheder som f.eks. Sikkerhedskopiering, tørkørsel og reversering af den anvendte patch.