Linux Diff-kommando

Linux Diff Kommando



Forskellen er mere tilbøjelig til at være et koncept eller en følelse, der kan skelne én ting fra en anden. Kommandoen 'diff' henviser til variation. Ved at analysere dokumenterne linje for linje, demonstrerer dette værktøj forskellene mellem filerne. Den informerer os om, hvilke sektioner i et dokument, der skal ændres for at skabe lignende dokumenter, i modsætning til dets ledsagende elementer cmp og comm. Det afgørende aspekt at huske på er, at for at dokumenterne skal være ens, bruger diff specifikke specielle symboler og kommandoer. Du får instruktioner om, hvordan du ændrer det første dokument, så det stemmer overens med det andet dokument. I denne vejledning vil vi diskutere brugen af ​​kommandoen 'diff' i Ubuntu 20.04 ved hjælp af Linux-terminalen.

Vi har oprettet to tekstfiler i arbejdsmappen i vores system.









Det er tid til at bruge 'diff'-instruktionen i et forespørgselsområde for at vise forskellen mellem begge filindhold. Vi prøver denne 'diff'-instruktion med begge filnavne i en sekvens, dvs. først én.txt og derefter to.txt-fil. Kommandoen 'diff' viser os forskellen mellem begge filer som:



  • Linjenumre i henhold til den første tekstfil.
  • Specialtegn/symboler for at fortælle os om forskellen som ændring, tilføjelse, sletning.
  • Linjenumre i henhold til den anden tekstfil.

I vores første illustration uddyber vi 'a'-symbolet blandt linjenumrene på 'diff'-kommandooutputtet; 'a' bruges som forkortelsen af ​​'Tilføj'. Brugen af ​​'cat'-instruktionen med begge filnavne i forespørgselsområdet viser separat indholdet i hver tekstfil, dvs. one.txt og two.txt. Vi har i alt 4 linjer i den første fil, mens den anden fil indeholder 5 linjer. Linje 1 er ekstra.





Derefter prøver vi 'diff'-instruktionen på terminalforespørgselsområdet efterfulgt af navnene på filerne - one.txt og two.txt. Udførelsen af ​​denne instruktion viser '0a1' som output sammen med linje 1 fra den anden fil, som er en ekstra linje i den anden fil. Den numeriske værdi '0' bruges til linje 0 eller før linje 1 i den første fil, dvs. one.txt. Symbolet 'a' betyder 'tilføj'. Endelig betyder den numeriske værdi '1' den første linje i den anden fil. Mix-outputtet '0d1' betyder, at linje 1 i den anden fil 'two.txt' skal tilføjes øverst i den første fil 'one.txt', før den første linje to gør begge filer ens.



Nu opdaterer vi begge filer for at se en anden illustration. Den første fil 'one.txt' indeholder 4 linjer og den anden fil 'two.txt' indeholder kun 3 linjer. Den eneste forskel for disse filer er brugen af ​​en ekstra linje i den første fil, dvs. linje 1 = 'mandag', som ikke er i den anden fil. Efter at have prøvet 'diff'-instruktionen for de opdaterede tekstfiler, får vi '1d0' som output. Og den første linje fra den første fil vises. I '1d0' betyder 1, at den første linje fra filen 'one.txt' skal slettes (i henhold til symbolet 'd'), og 0 betyder, at den anden fil ikke fik nogen opdatering. Til sidst vises linje 1 fra den første fil 'one.txt' for den klare forskel.

På samme måde kan 'diff'-kommandoen vise en forskel mellem linjerne i to filer. Derfor opdaterer vi begge tekstfiler endnu en gang. Denne gang indeholder den første fil 5 linjer, mens den anden fil kun indeholder 4. Den eneste forskel er brugen af ​​en ekstra linje i one.txt, som er linje 3. Diff-kommandoen brugt på begge filer i terminalen viser en output '3d2' sammen med linje 3 fra den første fil 'one.txt'. Dette output viser, at linje 3 fra den første fil 'one.txt' skal slettes, så vi kan synkronisere begge filer på linje 2 i den anden fil. Den anderledes linje '3' vises, så vi kan få en klar idé om forskellen.

Lad os få et klart og dybere kig på outputtet. 1,5c1,2-outputtet fra det følgende billede viser, at linje 1 til 5 i en første fil (one.txt) skal ændres med linje 1 til 2 i en anden fil (two.txt). Det betyder, at de første 5 linjer (1 til 5) i one.txt-filen skal ændres og erstattes med de første to linjer (1, 2) i den anden fil 'two.txt' for at gøre det ens. Til sidst vises alle 5 linjer fra den første fil, som skal erstattes med de viste 2 linjer i den anden fil. Dette er hvordan symbolet 'c' fortæller en forskel mellem to filer - ingen linje er ens i begge filer.

Kommandoen 'diff' giver dig mulighed for at få dens output i en kontekstform. Forestil dig, at du har de samme to filer med følgende data i disse filer. Konteksten omkring output ville være at vise hovedforskellen mellem de samlede simple filer, der er vist i det følgende billede. Nu har vi 5 linjer i den første fil 'one.txt' og 4 linjer i den anden fil 'two.txt'.

For at få det kontekstbaserede output af 'diff'-instruktionen, skal vi bruge '-c'-indstillingen i 'diff'-kommandoen. Ved at bruge de tidligere opdaterede filer i denne 'diff'-kommando får vi følgende output - dato, dag sammen med den ekstra information om tekstoprettelsen i filerne. De 5 linjer fra one.txt-filerne vises. Især dens tredje linje er fremhævet ved hjælp af '-' tegnet for blot at tilføje den til en anden fil.

Konklusion

Vi forsøgte kort at forklare alt om 'diff'-instruktionen. Til dette opdaterede vi vores tekstfiler hver gang og fik et opdateret output til at tilføje, fjerne og ændre dataene i en fil. Introduktionen forklarede formålet med at bruge kommandoen 'diff' i Linux, og hvordan man bruger den til Linux.