لینکس میٹچیٹس کیا ہیں اور آپ ان کو کیسے استعمال کرتے ہیں

وکیپیڈیا کے مطابق، ایک میٹاچیکٹر کسی بھی کردار میں ہے جس میں خاص معنی، جیسے کیریٹ (^)، ڈالر کے نشان ($) یا ایک ستارے (*).

لینکس کی شرائط میں، ان metacharacters کی ایک منصفانہ تعداد موجود ہیں اور ان کے معنی مختلف ہیں جس کے مطابق آپ کمانڈ یا پروگرام چل رہے ہیں.

ایک میٹچیکٹ کے طور پر مکمل سٹاپ (.)

عقل مکمل رکاوٹ موجودہ حیثیت کو عطیہ کرنے کے لئے استعمال کیا جاتا ہے جب آرڈر چلتا ہے جیسے سی ڈی ، ڈھونڈنا یا شے جیسے ایپلی کیشنز جیسے خوف ، grep اور sed کے اندر کسی بھی کردار کو ظاہر کرنے کے لئے استعمال کیا جاتا ہے.

مثال کے طور پر، مندرجہ ذیل کمانڈ موجودہ فولڈر میں اور ذیل میں تمام mp3 فائلوں کو مل جائے گا.

مل . -نام * .mp3

اگر آپ اس کام کو موجودہ کام کرنے والی ڈائرکٹری (پی ڈبلیو ڈی) کو چلاتے ہیں تو آپ شاید نتائج واپس آئیں گے، فرض کریں کہ آپ اپنے MP3 فائلوں کو اپنے گھر کے فولڈر میں موسیقی فولڈر میں رکھیں.

اب اس کمانڈ کو دیکھو

ps -ef | grep f..efox

پی ایس کمانڈ آپ کے کمپیوٹر پر چل رہا ہے تمام چلاتی عمل. یوپی پی کمانڈ ان پٹ اور تلاش کے لۓ ایک پیٹرن کے لۓ لیتا ہے.

لہذا پی ایس ایف کمانڈ چلانے کے عمل کی ایک فہرست بنتی ہے اور اسے grep دیتا ہے جس میں اس فہرست میں کسی بھی سطر کی تلاش ہوتی ہے جس میں ایف..فکس ہے جہاں. کسی بھی کردار کا مطلب ہو سکتا ہے.

اگر آپ فائر فاکس آپ کو چلاتے ہیں تو ایک میچ مل جائے گا. اسی طرح، اگر آپ کے پاس فون فینکس یا فری فاکس چلانے والے ایک پروگرام ہے تو وہ بھی واپس جائیں گے.

ایک میٹاسکرٹ کے طور پر ستارے (*)

تارکین وطن ایک زیادہ معروف معائنہ میٹاچاکار ہے اور پیٹرن کی تلاش میں 0 یا اس سے زیادہ مطلب کا مطلب ہوتا ہے.

مثال کے طور پر:

مل . -نام * .mp3

* .mp3 .mp3 کسی بھی فائل نام کے لئے ایک میچ واپس آتی ہے جس میں mp3. اسی طرح، میں مندرجہ ذیل شو کے طور پر grep کمانڈ کے ساتھ ستارے کا استعمال کر سکتا تھا:

ps -ef | grep F * efox

یہ بات قابل ذکر ہے کہ یہ تھوڑا سا مختلف ہے کیونکہ اسٹرک کا مطلب صفر یا اس سے زیادہ ہے اور فائر فاکس، فاکس فاکس اور فون فاکس کو تلاش کرنے کے علاوہ یہ فلوٹ فاریکس، فیرٹرفاک اور یہاں تک کہ صرف فیفا بھی تلاش کرسکتا ہے.

کیریٹ جیسے میٹٹیکٹر (^)

کیریٹ (^) ایک لائن یا ایک تار کے آغاز سے انکار کرنے کے لئے استعمال کیا جاتا ہے. تو یہ کیسے استعمال کیا جاتا ہے؟

مندرجہ بالا فول فولڈر میں تمام فائلیں درج کرنے کیلئے ایل ایس کمانڈ استعمال کیا جاتا ہے.

ایل ایس

اگر آپ کسی فولڈر میں تمام فائلوں کو جاننا چاہتے ہیں جس میں کسی مخصوص تار کے ساتھ شروع ہوتا ہے جیسے جیسے "گنی" پھر کارٹ کو اس تار کی وضاحت کرنے کے لئے استعمال کیا جاسکتا ہے.

مثال کے طور پر:

LS | grep ^ گنی

نوٹ کریں کہ یہ صرف ان فائلوں کی فہرست ہے جو گنو کے ساتھ شروع کرتے ہیں. اگر آپ فائلوں کو چاہتے ہیں جو فائل میں کہیں بھی ایک گنی ہے تو پھر آپ واپس آئسٹرک میں واپس آئیں گے.

مندرجہ بالا مثال کے طور پر، LS فائلوں کا ایک فہرست واپس لوٹتا ہے اور اس فہرست کو گزر جاتا ہے جو پیٹرن کے ملاپ کے لئے استعمال کیا جاتا ہے. grep جانتا ہے کہ کارٹ علامت کا مطلب یہ ہے کہ جو کچھ اس کے بعد آنے والے حروف کے ساتھ شروع ہوتا ہے اور اس صورت میں، یہ ایک گنہگار ہے.

ایک مرچیکٹر ($) کے طور پر ڈالر کی علامت

لینکس کے اندر ایک میٹاسکریٹٹ کے طور پر ڈالر کے علامت میں کئی معنی ہوسکتے ہیں.

جب پیٹرن سے ملنے کے لئے استعمال کیا جاتا ہے تو اس کا مطلب یہ ہے کہ کیریٹ کے برعکس اور کسی خاص انداز کے ساتھ ختم ہوتا ہے کہ کسی بھی پیٹرن کی نشاندہی کرتا ہے.

مثال کے طور پر:

LS | grep png $

یہ تمام فائلیں جو پی این جی کے ساتھ ختم کرتی ہیں.

ڈالر کی علامت بھی بش شیل کے اندر ماحولیاتی متغیر تک رسائی حاصل کرنے کے لئے استعمال کیا جاتا ہے.

مثال کے طور پر:

برآمد کتے = مٹی
$ کتے کا گونج

لائن ایکسپورٹ کتے = molly ایک ماحول متغیر کتے بناتا ہے اور اسے موٹی کے لئے اپنی قیمت مقرر کرتا ہے. ماحول متغیر تک رسائی حاصل کرنے کیلئے $ علامت استعمال کیا جاتا ہے. $ علامت کے ساتھ گونگا $ کتے کا بیان گونگا دکھاتا ہے لیکن اس کے بغیر، گونگا کتے کا بیان صرف کتے کو دکھاتا ہے.

غلط استعمال رپورٹ نہیں کیا جا سکا

بعض اوقات تم نہیں چاہتے کہ میٹاچیکٹر کو خاص معنی حاصل ہو. کیا آپ کے پاس فائل ہے جسے f.refox کہا جاتا ہے اور فائل فائل فائر فاکس ہے.

اب مندرجہ ذیل کمانڈ کو دیکھو:

LS | grep f.refox

آپ کیا سوچتے ہیں واپس آ گئے ہیں؟ F.refox اور فائر فاکس دونوں واپس آ رہے ہیں کیونکہ وہ دونوں پیٹرن سے ملتا ہے.

صرف F.refox واپس کرنے کے لئے آپ کو مکمل طور پر ایک مکمل سٹاپ کے طور پر مندرجہ ذیل کے طور پر مکمل روکنے سے بچنے کے لئے کی ضرورت ہو گی:

LS | grep f \\ refox

مشترکہ میٹچریٹس اور ان کے معنی

لینکس Metacharacters کی فہرست
کردار مطلب
. کوئی کردار
* زیرو یا زیادہ حروف
^ کسی بھی لائن یا تار سے ملیں جو ایک پیٹرن کے ساتھ شروع کریں (یعنی ^ گنتی)
$ کسی قطار کے ساتھ ختم ہونے والی کسی بھی لائن یا تار سے ملائیں (یعنی جیومین $)
\ اس کے خاص معنی کو دور کرنے کے لئے اگلے کردار کو خارج کردیں
[] فہرست یا رینج میں سے ایک سے ملائیں (یعنی ["abc"، "def"] یا [1..9]
+ ایک یا زیادہ سے زیادہ ملائیں (یعنی یوپیپی ایک +)
؟ صفر یا ایک سے پہلے ملائیں