Linux diff command summary with examples
Talaan ng mga Nilalaman:
- Paano Gamitin ang
diffCommand - Normal na Format
- Format ng Konteksto
- Pinag-isang Format
- Huwag pansinin ang kaso
- Konklusyon
diff
ay isang utility-line utility na nagbibigay-daan sa iyo upang ihambing ang dalawang mga file na linya sa pamamagitan ng linya. Maaari rin itong ihambing ang mga nilalaman ng mga direktoryo.
Ang
diff
utos ay karaniwang ginagamit upang lumikha ng isang patch na naglalaman ng mga pagkakaiba sa pagitan ng isa o higit pang mga file na maaaring ilapat gamit ang utos ng
patch
.
Paano Gamitin ang
diff
Command
Ang syntax para sa
diff
utos ay ang mga sumusunod:
diff… FILES
Ang
diff
utos ay maaaring ipakita ang output sa ilang mga format na may normal, konteksto, at pinag-isang format na ang pinaka-karaniwang. Kasama sa output ang impormasyon tungkol sa kung aling mga linya sa mga file ang dapat mabago upang maging magkapareho sila. Kung tumutugma ang mga file, walang output ang ginawa.
Upang mai-save ang command output sa isang file, gamitin ang redirection operator:
diff file1 file2 > patch
, gagamitin namin ang sumusunod na dalawang file upang maipaliwanag kung paano gumagana ang
diff
utos:
Ubuntu Arch Linux Debian CentOS Fedora
file2
Kubuntu Ubuntu Debian Arch Linux Centos Fedora
Normal na Format
Sa pinakasimpleng form kapag ang
diff
utos ay pinapatakbo sa dalawang mga file ng teksto nang walang anumang pagpipilian, gumagawa ito ng isang output sa normal na format:
diff file1 file2
Ang output ay magiging hitsura ng isang bagay tulad nito:
0a1 > Kubuntu 2d2 < Arch Linux 4c4, 5 < CentOS --- > Arch Linux > Centos
Ang normal na format ng output ay binubuo ng isa o higit pang mga seksyon na naglalarawan ng mga pagkakaiba. Ang bawat seksyon ay ganito:
change-command < from-file-line… --- > to-file-line…
0a1
,
2d2
at
4c4, 5
ay mga pagbabago sa pagbabago. Ang bawat pagbabago ng utos ay naglalaman ng mga sumusunod, mula kaliwa hanggang kanan:
- Ang linya ng linya o hanay ng mga linya sa unang file.A espesyal na pagbabago ng character.Ang linya ng numero o hanay ng mga linya sa pangalawang file.
Ang pagbabago ng character ay maaaring isa sa mga sumusunod:
-
a- Idagdag ang mga linya.c- Baguhin ang mga linya.d- Tanggalin ang mga linya.
Ang utos ng pagbabago ay sinusundan ng kumpletong linya na tinanggal (
<
) at idinagdag sa file (
>
).
Ipaliwanag natin ang output:
-
0a1- Magdagdag ng linya1ng pangalawang file sa simula ng file1 (pagkatapos ng linya0).-
> Kubuntu- Ang linya mula sa pangalawang linya na idinagdag sa unang file tulad ng inilarawan sa itaas.
2d2- Tanggalin ang linya2sa unang file. Ang2pagkatapos ng simbolodnangangahulugan na kung ang linya ay hindi tinanggal ay lilitaw ito sa linya2sa pangalawang file.-
< Arch Linux- ang tinanggal na linya.
4c4, 5- Palitan (baguhin) linya5sa unang file na may mga linya4-5mula sa pangalawang file.-
< CentOS- Ang linya sa unang file na papalitan.---- Hiwalay.> Arch Linuxat> Centos- Mga linya mula sa pangalawang file na pinapalitan ang linya sa unang file.
-
Format ng Konteksto
Kapag ginamit ang format ng output output, ang
diff
utos ay nagpapakita ng ilang mga linya ng konteksto sa paligid ng mga linya na naiiba sa pagitan ng mga file.
Ang pagpipilian na
-c
nagsasabi sa iba't ibang upang makabuo ng output sa format na konteksto:
diff -c file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 6 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 7 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Ang output ay nagsisimula sa mga pangalan at timestamp kung ang mga file na inihambing, at isa o higit pang mga seksyon na naglalarawan ng mga pagkakaiba. Ang bawat seksyon ay ganito:
*************** *** from-file-line-numbers **** from-file-line… --- to-file-line-numbers ---- to-file-line…
-
from-file-line-numbersatto-file-line-numbers- Ang mga linya ng linya o pinaghihiwalay ng komma na hanay ng mga linya sa una at pangalawang file, ayon sa pagkakabanggit.from-file-lineatto-file-line- Ang mga linya na naiiba at ang mga linya ng konteksto:- Ang mga linya na nagsisimula sa dalawang puwang ay mga linya ng konteksto, ang mga linya na pareho sa parehong mga file. Ang mga linya na nagsisimula sa simbolo ng minus (
-) ay ang mga linya na nauugnay sa wala sa pangalawang file. Ang mga linya na nawawala sa pangalawang file.Lines na nagsisimula sa plus simbolo (+) ay ang mga linya na nauugnay sa wala sa unang file. Ang mga linya na nawawala sa unang file.Lines na nagsisimula sa marka ng tandang (!) Ay ang mga linya na nabago sa pagitan ng dalawang file. Ang bawat pangkat ng mga linya na nagsisimula sa!mula sa unang file ay may kaukulang tugma sa pangalawang file.
- Ang mga linya na nagsisimula sa dalawang puwang ay mga linya ng konteksto, ang mga linya na pareho sa parehong mga file. Ang mga linya na nagsisimula sa simbolo ng minus (
Ipaliwanag natin ang pinakamahalagang bahagi ng output:
- Sa halimbawang ito mayroon lamang kaming isang seksyon na naglalarawan ng mga pagkakaiba.
*** 1, 6 ****at--- 1, 7 ----nagsasabi sa amin ang saklaw ng mga linya mula sa una at pangalawang mga file na kasama sa seksyon na ito.LinesUbuntu,Debian,Fedora, at ang huling walang laman na linya ay pareho sa parehong mga file. Ang mga linya na ito ay nagsisimula sa dobleng puwang.Line- Arch Linuxmula sa unang file ay tumutugma sa wala sa pangalawang file. Kahit na ang linya na ito ay umiiral din sa pangalawang file, ang mga posisyon ay naiiba.Line+ Kubuntumula sa pangalawang file ay tumutugma sa wala sa unang file.Line! CentOS! CentOSmula sa unang file at linya! Arch Linux! Arch Linuxat! CentOS! CentOSmula sa pangalawang file ay binago sa pagitan ng mga file.
Sa pamamagitan ng default ang bilang ng mga linya ng konteksto ay default sa tatlo. Upang tukuyin ang isa pang numero na gamitin ang pagpipilian na
-C
(- Mga
--contexts
):
diff -C 1 file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 5 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 6 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Pinag-isang Format
Ang pinag-isang format ng output ay isang pinahusay na bersyon ng format ng konteksto at gumagawa ng isang mas maliit na output.
Gamitin ang
-u
pagpipilian upang sabihin sa
diff
upang i-print ang output sa pinag-isang format:
diff -u file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian -CentOS +Arch Linux +Centos Fedora
Ang output ay nagsisimula sa mga pangalan at mga timestamp ng mga file at isa o higit pang mga seksyon na naglalarawan ng mga pagkakaiba. Ang bawat seksyon ay tumatagal ng sumusunod na form:
*************** @@ from-file-line-numbers to-file-line-numbers @@ line-from-files…
-
@@ from-file-line-numbers to-file-line-numbers @@- Ang numero ng linya o saklaw ng mga linya mula sa una at pangalawang mga file na kasama sa bahaging ito.line-from-files- Ang mga linya na naiiba at ang mga linya ng konteksto:- Ang mga linya na nagsisimula sa dalawang puwang ay mga linya ng konteksto, ang mga linya na magkapareho sa parehong mga file. Ang mga linya na nagsisimula sa simbolo ng minus (
-) ay ang mga linya na tinanggal mula sa unang file.Lines na nagsisimula sa plus simbolo (+) ay ang mga linya na idinagdag mula sa unang file.
- Ang mga linya na nagsisimula sa dalawang puwang ay mga linya ng konteksto, ang mga linya na magkapareho sa parehong mga file. Ang mga linya na nagsisimula sa simbolo ng minus (
Huwag pansinin ang kaso
Tulad ng napansin mo sa mga halimbawa sa itaas, ang
diff
utos ay sensitibo sa kaso sa pamamagitan ng default.
Gamitin ang
-i
pagpipilian upang sabihin na
diff
sa hindi papansin kaso:
diff -ui file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian +Arch Linux CentOS Fedora
Konklusyon
Ang paghahambing ng mga file ng teksto para sa mga pagkakaiba ay isa sa mga pinaka-karaniwang gawain para sa mga administrator ng system ng Linux.
Inihahambing ng
diff
utos ang mga file na linya ayon sa linya. Para sa karagdagang impormasyon, ang uri ng
man diff
sa iyong terminal.
Sakupin ang Command Line Sa Lumabas Command
Isama ang prompt ng command, ang GUI, at isang malakas na batch na wika na may potent Take Command toolkit.
Review: Kumuha ng Command 14 command line utility ay mas madaling gamitin kaysa sa PowerShell
Para sa malubhang trabaho sa console, ilang Ang mga utility (kung mayroon man) ay maaaring tumugma sa lakas ng Pagkuha ng Command. Kung regular mong ginagamit ang command line, ito ay isang mahusay na pamumuhunan.
Mga pangunahing utos ng linux
Ang pag-alam kung paano gamitin ang command line ay maaaring maging kapaki-pakinabang. Sa artikulong ito, pupunta kami sa ilan sa mga pinaka-karaniwang utos ng Linux na ginagamit sa pang-araw-araw na batayan ng mga administrator ng system ng Linux.







