انڈروئد

لینکس میں فرق کمانڈ

بیٹے کوپانسی کی سزا سُنائی گی تو ماں نے جج سے ایک بار بیÙ

بیٹے کوپانسی کی سزا سُنائی گی تو ماں نے جج سے ایک بار بیÙ

فہرست کا خانہ:

Anonim

diff ایک کمانڈ لائن افادیت ہے جو آپ کو لائن کے ذریعہ دو فائلوں کا موازنہ کرنے کی اجازت دیتی ہے۔ یہ ڈائریکٹریوں کے مندرجات کا موازنہ بھی کرسکتا ہے۔

diff کمانڈ عام طور پر ایک پیچ بنانے کے لئے استعمال ہوتا ہے جس میں ایک یا ایک سے زیادہ فائلوں کے درمیان فرق ہوتا ہے جسے patch کمانڈ کا استعمال کرتے ہوئے لاگو کیا جاسکتا ہے۔

diff کمانڈ کا استعمال کیسے کریں

diff کمانڈ کا نحو ذیل میں ہے۔

diff… FILES

diff کمانڈ آؤٹ پٹ کو عام ، سیاق و سباق اور متفقہ شکل میں سب سے عام شکل کے ساتھ کئی شکلوں میں ظاہر کرسکتا ہے۔ آؤٹ پٹ میں یہ معلومات شامل ہوتی ہے کہ فائلوں میں کن لائنوں کو تبدیل کرنا ضروری ہے تاکہ وہ ایک جیسے ہوں۔ اگر فائلیں میچ کرتی ہیں تو کوئی آؤٹ پٹ تیار نہیں ہوتا ہے۔

کمانڈ آؤٹ پٹ کو کسی فائل میں محفوظ کرنے کے ل the ، ری ڈائریکشن آپریٹر استعمال کریں۔

diff file1 file2 > patch

، ہم یہ بتانے کے لئے درج ذیل دو فائلوں کا استعمال کریں گے کہ diff کمانڈ کس طرح کام کرتا ہے۔

فائل 1

Ubuntu Arch Linux Debian CentOS Fedora فائل 2

Kubuntu Ubuntu Debian Arch Linux Centos Fedora

عمومی شکل

اس کی آسان ترین شکل میں جب جب diff کمانڈ کو بغیر کسی اختیار کے دو ٹیکسٹ فائلوں پر چلایا جاتا ہے تو ، یہ عام شکل میں ایک آؤٹ پٹ تیار کرتا ہے:

diff file1 file2

آؤٹ پٹ کچھ اس طرح نظر آئے گی:

0a1 > Kubuntu 2d2 < Arch Linux 4c4, 5 < CentOS --- > Arch Linux > Centos

عام آؤٹ پٹ فارمیٹ میں ایک یا ایک سے زیادہ حصے ہوتے ہیں جو فرق کو بیان کرتے ہیں۔ ہر حصے کی طرح نظر آتی ہے:

change-command < from-file-line… --- > to-file-line…

2d2 ، 2d2 اور 4c4, 5 تبدیل احکامات ہیں۔ ہر تبدیلی کے کمانڈ میں بائیں سے دائیں تک درج ذیل ہوتے ہیں:

  • پہلی فائل میں لائن کا نمبر یا لائنوں کی حد۔ ایک خاص تبدیلی کا کردار۔ دوسری فائل میں لائنوں کی لائن نمبر یا حد۔

تبدیلی کا کردار درج ذیل میں سے ایک ہوسکتا ہے:

  • a - لائنیں شامل کریں۔ c - لائنیں تبدیل کریں۔ d - لائنیں حذف کریں۔

تبدیلی کا حکم پوری لائنوں کے بعد ہوتا ہے جو ( < ) کو ہٹا دیا جاتا ہے اور فائل ( > ) میں شامل ہوجاتا ہے۔

آئیے آؤٹ پٹ کی وضاحت کریں:

  • 0a1 - فائل 1 کے آغاز میں دوسری فائل کی لائن 1 شامل کریں (لائن 0 بعد)۔
    • > Kubuntu - دوسری لائن کی لائن جو پہلی فائل میں شامل کی گئی ہے جیسا کہ اوپر بیان کیا گیا ہے۔
    2 - پہلی فائل میں لائن 2 کو حذف کریں۔ d علامت کے بعد 2 کا مطلب یہ ہے کہ اگر لائن کو حذف نہیں کیا جاتا ہے تو یہ دوسری فائل میں لائن 2 پر ظاہر ہوگا۔
    • < Arch Linux - حذف شدہ لائن۔
    4c4, 5 - دوسری فائل سے 4-5 لائنوں کے ساتھ پہلی فائل میں لائن 5 تبدیل کریں۔
    • < CentOS - پہلی فائل کی لائن تبدیل کی جائے۔ --- - الگ کرنے والا۔ > Arch Linux اور > Centos - پہلی فائل میں لائن کی جگہ دوسری فائل سے لائنز۔

سیاق و سباق کی شکل

جب سیاق و سباق کا آؤٹ پٹ فارمیٹ استعمال ہوتا ہے تو ، diff کمانڈ لائنوں کے آس پاس سیاق و سباق کی کئی لائنیں دکھاتا ہے جو فائلوں کے مابین مختلف ہوتی ہے۔

-c آپشن سیاق و سباق کی شکل میں پیداوار پیدا کرنے کے لئے diff بتاتا ہے:

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

آؤٹ پٹ کا نام ناموں اور ٹائم اسٹیمپ سے شروع ہوتا ہے اگر فائلوں کا موازنہ کیا جائے ، اور ایک یا ایک سے زیادہ حصے جو فرق کو بیان کرتے ہیں۔ ہر حصے کی طرح نظر آتی ہے:

*************** *** from-file-line-numbers **** from-file-line… --- to-file-line-numbers ---- to-file-line…

  • from-file-line-numbers اور to-file-line-numbers - بالترتیب پہلی اور دوسری فائل میں لائن نمبرز یا کوما سے الگ لائنوں کی حد۔ from-file-line اور to-file-line - لائنز جو مختلف ہیں اور سیاق و سباق:
    • دو جگہوں سے شروع ہونے والی لائنیں سیاق و سباق کی لکیریں ہیں ، وہ لائنیں جو دونوں فائلوں میں ایک جیسی ہیں۔ مائنس علامت ( - ) کے ساتھ شروع ہونے والی لائنیں وہ لائنیں ہیں جو دوسری فائل میں کسی بھی چیز سے مطابقت نہیں رکھتی ہیں۔ دوسری فائل میں موجود لکیریں غائب ہیں۔ لائنز پلس علامت ( + ) سے شروع ہوتی ہیں وہ لائنیں ہیں جو پہلی فائل میں کسی بھی چیز کے مطابق نہیں ہیں۔ پہلی فائل میں موجود لکیریں غائب ہوگئیں ۔خلاصہ نشان ( ! ) کے ساتھ شروع ہونے والی لائنیں وہ لائنیں ہیں جو دو فائلوں کے مابین تبدیل کی گئیں ہیں۔ لائنوں کے ہر گروپ کے ساتھ شروع ! پہلی فائل سے دوسری فائل میں ایک مماثل میچ ہے۔

آئیے آؤٹ پٹ کے سب سے اہم حصوں کی وضاحت کریں:

  • اس مثال میں ہمارے پاس اختلافات کو بیان کرنے کے لئے صرف ایک ہی حص.ہ ہے۔ *** 1, 6 **** اور --- 1, 7 ---- ہمیں پہلی اور دوسری فائلوں کی لائنوں کی حد بتاتی ہے جو اس سیکشن میں شامل ہیں۔ لائنز Ubuntu ، Debian ، Fedora ، اور آخری خالی لائن دونوں فائلوں میں ایک جیسی ہے۔ یہ لائنیں ڈبل اسپیس سے شروع ہو رہی ہیں۔ لائن - Arch Linux پہلی فائل سے دوسری فائل میں کچھ بھی نہیں ہے۔ اگرچہ یہ لائن دوسری فائل میں بھی موجود ہے ، پوزیشنیں مختلف ہیں۔ دوسری فائل میں سے لائن + Kubuntu کوبونٹو پہلی فائل میں کچھ بھی نہیں ملتا ہے ! CentOS ! CentOS پہلی فائل اور لائنوں سے ! Arch Linux ! Arch Linux اور ! CentOS فائلوں کے درمیان دوسری فائل سے ! CentOS تبدیل کردیئے گئے ہیں۔

طے شدہ طور پر سیاق و سباق کی لکیروں کی تعداد تین سے پہلے ہوتی ہے۔ کسی اور نمبر کی وضاحت کرنے کے لئے -C ( --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

متحد شکل

متحد آؤٹ پٹ فارمیٹ سیاق و سباق کی شکل کا ایک بہتر ورژن ہے اور چھوٹا آؤٹ پٹ تیار کرتا ہے۔

آؤٹ پٹ کو متفقہ شکل میں پرنٹ کرنے کے لئے -u کو بتانے کے لئے -u آپشن کا استعمال کریں:

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

آؤٹ پٹ فائلوں کے نام اور ٹائم اسٹیمپ اور ایک یا ایک سے زیادہ حصوں سے شروع ہوتا ہے جو فرق کو بیان کرتے ہیں۔ ہر سیکشن مندرجہ ذیل شکل اختیار کرتا ہے۔

*************** @@ from-file-line-numbers to-file-line-numbers @@ line-from-files…

  • @@ from-file-line-numbers to-file-line-numbers @@ - اس حصے میں شامل پہلی اور دوسری فائلوں کی لائنوں کی لائن نمبر یا حد۔ line-from-files - لائنیں جو مختلف ہیں اور سیاق و سباق:
    • دو جگہوں سے شروع ہونے والی لائنیں سیاق و سباق کی لکیریں ہیں ، وہ لائنیں جو دونوں فائلوں میں ایک جیسی ہیں۔ مائنس علامت ( - ) کے ساتھ شروع ہونے والی لائنیں وہ لائنیں ہیں جو پہلی فائل سے ہٹ جاتی ہیں۔ لائنز جمع علامت ( + ) سے شروع ہوتی ہیں وہ فائلیں جو پہلی فائل سے شامل کی گئیں۔

معاملے کو نظرانداز کریں

جیسا کہ آپ مندرجہ بالا مثالوں میں دیکھ سکتے ہیں ، diff کمانڈ ڈیفالٹ کے لحاظ سے کیس حساس ہے۔

معاملے کو نظرانداز کرنے کے لئے diff کو بتانے کے لئے -i کا اختیار استعمال کریں:

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

نتیجہ اخذ کرنا

اختلافات کے ل text ٹیکسٹ فائلوں کا موازنہ کرنا لینکس سسٹم کے منتظمین کے لئے ایک عام کام ہے۔

diff کمانڈ فائلوں کا لائن کے ساتھ موازنہ کرتا ہے۔ مزید معلومات کے man diff your ، اپنے ٹرمینل میں man diff ٹائپ کریں۔

فرق ٹرمینل