Linux Diff Command

Linux Diff Command



Ang pagkakaiba ay mas malamang na isang konsepto o pakiramdam na maaaring makilala ang isang bagay mula sa isa pa. Ang 'diff' na utos ay tumutukoy sa pagkakaiba-iba. Sa pamamagitan ng pagsusuri sa mga dokumento nang linya sa linya, ipinapakita ng tool na ito ang mga pagkakaiba sa pagitan ng mga file. Ipinapaalam nito sa amin kung aling mga seksyon sa isang dokumento ang kailangang baguhin upang magawa ang mga dokumentong magkatulad, hindi katulad ng mga kasamang elemento nito na cmp at comm. Ang mahalagang aspeto na dapat tandaan ay na para magkatulad ang mga dokumento, ang diff ay gumagamit ng mga partikular na espesyal na simbolo at utos. Binigyan ka ng mga direksyon kung paano baguhin ang unang dokumento upang maging pare-pareho ito sa ibang dokumento. Sa loob ng gabay na ito, tatalakayin natin ang paggamit ng “diff” command sa Ubuntu 20.04 gamit ang Linux terminal.

Lumilikha kami ng dalawang text file sa gumaganang folder ng aming system.









Oras na para gamitin ang 'diff' na pagtuturo sa isang query area upang ipakita ang pagkakaiba sa pagitan ng parehong nilalaman ng file. Sinusubukan namin ang 'diff' na pagtuturo na ito sa parehong mga pangalan ng file sa isang pagkakasunud-sunod, ibig sabihin, one.txt muna at pagkatapos ay two.txt file. Ang 'diff' command execution ay nagpapakita sa amin ng pagkakaiba sa pagitan ng parehong mga file bilang:



  • Mga numero ng linya ayon sa unang text file.
  • Mga espesyal na character/simbulo upang ipaalam sa amin ang tungkol sa pagkakaiba tulad ng pagbabago, pagdaragdag, pagtanggal.
  • Mga numero ng linya ayon sa pangalawang text file.

Sa aming unang ilustrasyon, idinetalye namin ang simbolo na 'a' sa mga linya ng numero ng 'diff' na output ng command; Ang 'a' ay ginagamit bilang pagdadaglat ng 'Add'. Ang paggamit ng pagtuturo na 'cat' na may parehong mga pangalan ng file sa lugar ng query ay hiwalay na nagpapakita ng nilalaman sa loob ng bawat text file, ibig sabihin, one.txt at two.txt. Mayroon kaming kabuuang 4 na linya sa loob ng unang file habang ang pangalawang file ay naglalaman ng 5 linya. Ang linya 1 ay dagdag.





Pagkatapos, sinubukan namin ang 'diff' na pagtuturo sa terminal query area na sinusundan ng mga pangalan ng mga file - one.txt at two.txt. Ang pagpapatupad ng tagubiling ito ay nagpapakita ng '0a1' bilang output kasama ang linya 1 mula sa pangalawang file na isang karagdagang linya sa pangalawang file. Ang numerical value na '0' ay ginagamit para sa linya 0 o bago ang linya 1 ng unang file, ibig sabihin, one.txt. Ang simbolo na 'a' ay nangangahulugang 'idagdag'. Panghuli, ang numerical value na '1' ay nangangahulugang ang unang linya ng pangalawang file. Ang mix output na '0d1' ay nangangahulugan na ang linya 1 ng pangalawang file na 'two.txt' ay dapat idagdag sa tuktok ng unang file na 'one.txt' bago ang unang linya ng dalawang gawin ang parehong mga file.



Ngayon, ina-update namin ang parehong mga file upang makakita ng isa pang paglalarawan. Ang unang file na 'one.txt' ay naglalaman ng 4 na linya at ang pangalawang file na 'two.txt' ay naglalaman lamang ng 3 linya. Ang pagkakaiba lang para sa mga file na ito ay ang paggamit ng dagdag na linya sa unang file, ibig sabihin, linya 1 = 'Lunes' na wala sa pangalawang file. Pagkatapos subukan ang 'diff' na pagtuturo para sa na-update na mga text file, makuha namin ang '1d0' bilang output. At ang unang linya mula sa unang file ay ipinapakita. Sa '1d0', 1 ay nangangahulugan na ang unang linya mula sa file na 'one.txt' ay dapat na tanggalin (ayon sa simbolo na 'd'), at ang 0 ay nangangahulugan na ang pangalawang file ay walang update. Sa huli, ang linya 1 mula sa unang file na 'one.txt' ay ipinapakita para sa malinaw na pagkakaiba.

Katulad nito, ang command na 'diff' ay maaaring magpakita ng pagkakaiba sa pagitan ng mga linya ng dalawang file. Samakatuwid, muli naming ina-update ang parehong mga text file. Sa pagkakataong ito, ang unang file ay naglalaman ng 5 linya habang ang pangalawang file ay naglalaman lamang ng 4. Ang pagkakaiba lamang ay ang paggamit ng dagdag na linya sa one.txt na siyang linya 3. Ang diff command na ginamit sa parehong mga file sa terminal ay nagpapakita ng isang output '3d2' kasama ang linya 3 mula sa unang file na 'one.txt'. Ipinapakita ng output na ito na ang linya 3 mula sa unang file na 'one.txt' ay dapat na tanggalin upang ma-sync namin ang parehong mga file sa linya 2 ng pangalawang file. Ang iba't ibang linya na '3' ay ipinapakita upang makakuha tayo ng malinaw na ideya tungkol sa pagkakaiba.

Magkaroon tayo ng isang malinaw at mas malalim na pagtingin sa output. Ang 1,5c1,2 na output mula sa sumusunod na larawan ay nagpapakita na ang mga linya 1 hanggang 5 ng isang unang file (one.txt) ay dapat mapalitan ng mga linya 1 hanggang 2 ng isang pangalawang file (two.txt). Nangangahulugan ito na ang unang 5 linya (1 hanggang 5) ng one.txt file ay dapat mapalitan at palitan ng unang dalawang linya (1, 2) ng pangalawang file na 'two.txt' upang gawin itong pareho. Sa huli, lahat ng 5 linya mula sa unang file ay ipinapakita na dapat mapalitan ng ipinapakitang 2 linya ng pangalawang file. Ito ay kung paano ang simbolo na 'c' ay nagsasabi ng pagkakaiba sa pagitan ng dalawang file - walang linya na pareho sa parehong mga file.

Ang command na 'diff' ay nagbibigay-daan sa iyo na makuha ang output nito sa isang form ng konteksto. Isipin na mayroon kang parehong dalawang file na may sumusunod na data sa mga file na ito. Ang konteksto sa paligid ng output ay upang ipakita ang pangunahing pagkakaiba sa pagitan ng kabuuang simpleng mga file na ipinapakita sa sumusunod na larawan. Ngayon, mayroon na tayong 5 linya sa unang file na 'one.txt' at 4 na linya sa pangalawang file na 'two.txt'.

Para makuha ang context-based na output ng 'diff' na pagtuturo, kailangan naming gamitin ang '-c' na opsyon sa loob ng 'diff' command. Gamit ang naunang na-update na mga file sa 'diff' na utos na ito, nakukuha namin ang sumusunod na output - petsa, araw, kasama ang karagdagang impormasyon tungkol sa paglikha ng teksto sa loob ng mga file. Ang 5 linya mula sa one.txt file ay ipinapakita. Lalo na, ang ikatlong linya nito ay naka-highlight gamit ang '-' na character upang idagdag lamang ito sa isa pang file.

Konklusyon

Sinubukan naming maikli na ipaliwanag ang lahat tungkol sa 'diff' na pagtuturo. Para dito, ina-update namin ang aming mga text file sa bawat oras at nakakuha kami ng na-update na output para sa pagdaragdag, pag-alis, at pagbabago ng data sa isang file. Ipinaliwanag ng panimula ang layunin ng paggamit ng command na 'diff' sa Linux at kung paano ito gamitin para sa Linux.