Linuxi diffi käsk

Linuxi Diffi Kask



Erinevus on tõenäolisemalt mõiste või tunne, mis suudab üht asja teisest eristada. Käsk 'diff' viitab variatsioonile. Dokumente ridade kaupa analüüsides näitab see tööriist failide erinevusi. See annab meile teada, milliseid ühe dokumendi jaotisi tuleb muuta, et luua sarnased dokumendid, erinevalt selle kaaselementidest cmp ja comm. Oluline aspekt, mida meeles pidada, on see, et dokumentide sarnaseks kasutamiseks kasutab diff spetsiifilisi erisümboleid ja käske. Teile antakse juhised, kuidas muuta esimest dokumenti nii, et see oleks kooskõlas teise dokumendiga. Selles juhendis käsitleme käsu „diff” kasutamist Ubuntu 20.04-s Linuxi terminali abil.

Oleme loonud kaks tekstifaili oma süsteemi töökaustas.









On aeg kasutada päringualal käsku „diff”, et kuvada mõlema faili sisu erinevus. Proovime seda 'diff' käsku mõlema failinimega järjestikku, st kõigepealt üks.txt ja seejärel fail kaks.txt. Käsu 'diff' täitmine näitab meile mõlema faili erinevust järgmiselt:



  • Reanumbrid esimese tekstifaili järgi.
  • Erisümbolid/sümbolid, mis annavad meile erinevusest teada, nagu muutmine, lisamine, kustutamine.
  • Reanumbrid vastavalt teisele tekstifailile.

Meie esimeses illustratsioonis käsitleme üksikasjalikult sümbolit 'a' käsu 'diff' väljundi reanumbrite hulgas; 'a' kasutatakse lühendina 'Lisa'. Käsu “cat” kasutamine mõlema failinimega päringualal kuvab iga tekstifaili sisu, st üks.txt ja kaks.txt. Meil on esimeses failis kokku 4 rida, samas kui teises failis on 5 rida. 1. rida on lisatasu.





Seejärel proovime terminali päringupiirkonnas käsku “diff”, millele järgneb failide nimed – one.txt ja two.txt. Selle käsu täitmine näitab väljundina '0a1' koos teise faili reaga 1, mis on teise faili lisarida. Arvväärtust “0” kasutatakse esimese faili, st üks.txt rea 0 või enne rida 1. Sümbol 'a' tähendab 'lisa'. Lõpuks tähistab arvväärtus '1' teise faili esimest rida. Seguväljund '0d1' tähendab, et teise faili 'two.txt' rida 1 tuleks lisada esimese faili 'one.txt' ülaossa, enne kui esimene rida kaks muudab mõlemad failid samaks.



Nüüd värskendame mõlemat faili, et näha teist illustratsiooni. Esimene fail 'one.txt' sisaldab 4 rida ja teine ​​fail 'two.txt' sisaldab ainult 3 rida. Ainus erinevus nende failide puhul on lisarea kasutamine esimeses failis, st rida 1 = “esmaspäev”, mida teises failis pole. Pärast värskendatud tekstifailide 'diff' juhise proovimist saame väljundiks '1d0'. Ja kuvatakse esimene rida esimesest failist. '1d0' puhul tähendab 1, et faili 'one.txt' esimene rida tuleks kustutada (vastavalt sümbolile 'd') ja 0 tähendab, et teist faili ei värskendatud. Lõpuks kuvatakse selge erinevuse jaoks esimese faili 'one.txt' rida 1.

Samamoodi võib käsk „diff” kuvada erinevused kahe faili ridade vahel. Seetõttu värskendame mõlemat tekstifaili veel kord. Seekord sisaldab esimene fail 5 rida, teine ​​fail aga ainult 4. Ainus erinevus on lisarea kasutamine failis one.txt, mis on 3. rida. Mõlemas terminali failis kasutatav käsk diff kuvab väljund '3d2' koos reaga 3 esimesest failist 'one.txt'. See väljund näitab, et esimese faili 'one.txt' rida 3 tuleks kustutada, et saaksime sünkroonida mõlemad failid teise faili real 2. Kuvatakse erinev rida “3”, et saaksime erinevusest selge ülevaate.

Vaatame väljundit selgemalt ja sügavamalt. Järgmise pildi väljund 1,5c1,2 näitab, et esimese faili (one.txt) read 1 kuni 5 tuleks muuta teise faili (two.txt) ridadega 1 kuni 2. See tähendab, et faili one.txt esimesed 5 rida (1 kuni 5) tuleks muuta ja asendada teise faili 'two.txt' kahe esimese reaga (1, 2), et see muutuks samaks. Lõpuks kuvatakse kõik 5 rida esimesest failist, mis tuleks asendada teise faili kuvatud 2 reaga. Nii näitab sümbol “c” kahe faili erinevust – ükski rida pole mõlemas failis ühesugune.

Käsk 'diff' võimaldab teil saada selle väljundi kontekstivormis. Kujutage ette, et teil on samad kaks faili järgmiste andmetega. Väljundi kontekst peaks näitama peamist erinevust kogu lihtsate failide vahel, mis on näidatud järgmisel pildil. Nüüd on meil esimeses failis “one.txt” 5 rida ja teises failis “two.txt” 4 rida.

Käsu 'diff' kontekstipõhise väljundi saamiseks peame käsus 'diff' kasutama suvandit '-c'. Kasutades selles käsus „diff” varem värskendatud faile, saame järgmise väljundi – kuupäev, päev koos lisateabega failides teksti loomise kohta. Kuvatakse 5 rida one.txt-failidest. Eelkõige tõstetakse selle kolmas rida esile märgiga '-', et see lihtsalt teise faili lisada.

Järeldus

Püüdsime kõike 'diff' juhise kohta lühidalt selgitada. Selleks värskendasime iga kord oma tekstifaile ja saime uuendatud väljundi faili andmete lisamiseks, eemaldamiseks ja muutmiseks. Sissejuhatuses selgitati käsu „diff” kasutamise eesmärki Linuxis ja selle kasutamist Linuxis.