کچھ مفید باش عرفی نام اور باش عرف کیسے بنائیں۔

Some Useful Bash Aliases



کیا آپ کمانڈ لائن میں کام کرنے میں اچھا وقت گزارتے ہیں؟ پھر آپ نے محسوس کیا ہوگا کہ آپ جو کمانڈ چلاتے ہیں ان میں سے بیشتر دستیاب کمانڈز کا ایک چھوٹا سب سیٹ ہے۔ ان میں سے بیشتر عادی ہیں اور ہوسکتا ہے کہ آپ انہیں ہر ایک دن چلا رہے ہوں۔

ٹائپنگ کی تکلیف کو کم کرنے کے لیے ، ڈویلپرز کمانڈ یوٹیلیٹیز نے مخففات کے ساتھ بیرونی ٹائپنگ کو ختم کرنے کی کوشش کی ہے ، مثال کے طور پر ، فہرست کی بجائے ls ، تبدیلی کی ڈائرکٹری کے بجائے cd ، catenate کے بجائے cat وغیرہ پھر بھی ، اسی کمانڈ کو ٹائپ کریں اور بار بار اور واقعی بورنگ اور خوشگوار نہیں ہے.







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



باش عرف۔

جب آپ ٹرمینل میں کمانڈ چلاتے ہیں تو ، شیل کا کام ہوتا ہے کہ وہ پروسیس کرے اور اسے OS کو ہدف کا کام کرنے کے لیے پیش کرے۔ باش (بورن-اگین شیل کا مخفف) ، اب تک ، وہاں کے سب سے مشہور یونیکس شیلوں میں سے ایک ہے۔ زیادہ تر لینکس ڈسٹروس باس شیل کے ساتھ بطور ڈیفالٹ آتے ہیں۔



اب ، باش کیا ہے؟ عرف ؟ ہم سب کو اندازہ ہے کہ عرف کیسے کام کرتا ہے ، ٹھیک ہے؟ اسی طرح ، جب آپ کسی خاص کمانڈ کو ظاہر کرنے کے لیے اپنا جملہ استعمال کرنا چاہتے ہیں تو آپ اس کمانڈ کے لیے ایک عرف بنا سکتے ہیں۔ بش اپنی مرضی کے فقرے کو بطور کمانڈ یاد رکھے گا اور اس کا علاج کرے گا۔ جب چلتا ہے ، بش خود بخود اصل کمانڈ میں ترجمہ کر دے گا۔





باش عرف کی 2 اقسام ہیں۔

  • عارضی: اس قسم کا عرف اس وقت تک رہتا ہے جب تک شیل سیشن چل رہا ہو۔ ایک بار جب شیل ختم ہوجائے تو ، یہ عرف کو بھول جائے گا۔
  • مستقل: ایک بار بننے کے بعد ، بش عرف کی تخلیق اور اس کے معنی کو یاد رکھے گا۔

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



عارضی عرف تخلیق۔

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

عارضی بش عرف بنانے کے لیے ، کمانڈ ڈھانچہ اس طرح لگتا ہے۔

$عرف <عرفی نام۔>=<کمانڈ>

آئیے اسے ایک مثال سے واضح کرتے ہیں۔ میں اوبنٹو پر ہوں ، لہذا اگر میں سسٹم کے تمام پیکجوں کو اپ ڈیٹ کرنا چاہتا ہوں تو مجھے مندرجہ ذیل کمانڈ کو چلانا ہوگا۔

$سودومناسب اپ ڈیٹ&& سودومناسب اپ گریڈ-اور

اب ، apt-sysupdate کو بطور متبادل استعمال کرنے کے بارے میں جو کہ مذکورہ کمانڈ جیسا کام کرے گا؟ اس کمانڈ کو چلا کر عرف بنائیں۔

$عرفapt-sysupdate ='sudo apt update && sudo apt upgrade -y'

آئیے چیک کریں کہ کیا یہ کام کرتا ہے!

ووئلا! یہ کام کر رہا ہے!

یہاں ، جب بھی بش کمانڈ کو دیکھتا ہے apt-sysupdate ، اس کا ترجمہ اس طویل کمانڈ میں کیا جائے گا جس پر عملدرآمد ہونے والا ہے۔

یہاں ایک مزے کی بات ہے۔ ہم ایک عرف کا عرف کیسے بنائیں گے؟ آئیے apt-sysupdate کمانڈ کے لیے عرف اپ ڈیٹ بنائیں۔

$عرف اپ ڈیٹ='apt-sysupdate'

اب ، آئیے دیکھتے ہیں کہ کیا یہ کام کرتا ہے۔

جی ہاں ، یہ کرتا ہے!

مستقل عرف تخلیق۔

مستقل عرف بنانے کے لیے ، ہمیں اسے bashrc فائل میں ڈیکلیئر کرنے کی ضرورت ہے۔ bashrc ایک شیل اسکرپٹ ہے جو ہر بار بش کا سیشن شروع ہونے پر عمل میں آتا ہے۔ یہ ~/.bashrc پر واقع ہے۔ یہ سسٹم کے ہر صارف کے لیے منفرد ہے۔

bashrc آپ کے پسندیدہ عرف بنانے کے لیے ایک مقبول انتخاب ہے۔ Bashrc آپ کے سسٹم میں موجود ہو سکتا ہے یا نہیں۔ بش کو vim کے ساتھ کھولیں۔ اگر موجود نہیں ہے تو ، ویم ایک خالی متن کھول دے گا۔ ویم کے بارے میں مزید جانیں۔

$میں آیا۔/.bashrc

اب ایک عرف کا کوڈ ایسا لگتا ہے۔

$عرف <عرفی نام۔>=''

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

$عرف اپ ڈیٹ='sudo apt update && sudo apt upgrade -y'

ایک بار عرف بننے کے بعد ، فائل کو محفوظ کریں۔ پھر ، باز کو فائل کو دوبارہ لوڈ کرنے کو کہیں۔

$ذریعہ۔/.bashrc

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

ووئلا! عرف کامیابی سے بنایا گیا ہے!

یہاں کیا ہو رہا ہے؟ سیدھے الفاظ میں ، bashrc ہر بار لوڈ ہونے پر ایک عارضی عرف پیدا کر رہا ہے۔ جب bash ختم ہوتا ہے تو یہ عرف کو بھول جاتا ہے۔ تاہم ، جیسا کہ bashrc فائل پہلی اسکرپٹ ہے جو bash عمل کرتی ہے ، عارضی عرف دوبارہ واپس آگیا ہے۔ اسے چھدم مستقل عرف کے طور پر بیان کیا جا سکتا ہے۔

عرف کو غالب کرنا۔

ہم کہتے ہیں کہ آپ نے ls -lhA کمانڈ کے لیے ایک عرف ls مقرر کیا ہے اور کسی وجہ سے ، آپ کو کچھ مختلف کرنے کے لیے مرکزی ls ٹول استعمال کرنے کی ضرورت ہے۔ اسی طرح کے معاملات میں ، ایک عرف کو نظرانداز کرنا ضروری ہے۔

عارضی طور پر کسی عرف کو نظرانداز کرنے کے لیے ، درج ذیل ڈھانچے کے ساتھ کمانڈ چلائیں۔

$۔<کمانڈ>

مثال کے طور پر ، میں نے ls -lhA کمانڈ کے لیے ایک عرف ls بنایا ہے۔ جب بھی میں ls چلاتا ہوں ، اس کا ترجمہ کمانڈ میں کیا جائے گا۔ کیا ہوگا اگر میں بغیر کسی اضافی اختیارات کے ایل ایس ٹول چلانا چاہتا ہوں؟ آئیے عرف کو عارضی طور پر نظرانداز کریں۔

$۔ایل ایس

عرفی ناموں کی فہرست۔

فی الحال تشکیل شدہ تمام عرفی نام دیکھنے کے لیے ، یہ کمانڈ چلائیں۔

$عرف

عارضی عرفات کو حذف کرنا۔

عارضی عرف کو ہٹانا انتہائی آسان ہے۔ بس یہ کمانڈ چلائیں۔

$unalias <عرفی نام۔>

مثال کے طور پر ، میرے پاس کل 3 عرفی نام ہیں۔ اپ ڈیٹ عرف سے چھٹکارا پانے کے لیے کمانڈ یہ ہوگی:

$unaliasاپ ڈیٹ

آئیے نتیجہ کی تصدیق کریں۔

$عرف

ووئلا! عرف ختم ہو گیا!

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

مستقل عرفی نام حذف کرنا۔

bashrc فائل میں جن عرفی ناموں کا اعلان کیا گیا ہے وہ ختم نہیں ہوں گے۔ یہاں تک کہ اگر آپ ان کو یکجا کرتے ہیں تو ، وہ bashrc فائل سے نہیں ہٹائے جاتے ہیں۔ اگلی بار بش کا سیشن بھرا ہوا ہے ، عرف بھی واپس آگیا ہے۔ یہی وجہ ہے کہ مستقل عرف سے چھٹکارا پانے کے لیے ، ہمیں انہیں دستی طور پر bashrc فائل سے نکالنا ہوگا۔

bashrc فائل کو vim میں کھولیں۔

$میں آیا۔/.bashrc

بش ناموں کو ہٹا دیں جن کی آپ کو ضرورت نہیں ہے۔ متبادل کے طور پر ، آپ ان پر تبصرہ کر سکتے ہیں تاکہ اگلی بار جب آپ کو ان کی ضرورت ہو ، آپ آسانی سے پریشان ہو جائیں۔

فائل کو محفوظ کریں اور bashrc کو دوبارہ لوڈ کرنے کے لیے بتائیں۔

$ذریعہ۔/.bashrc

بش کے کچھ مفید عرفی نام۔

یہاں کچھ عام عرفی نام ہیں جو بہت سے لوگ استعمال کرتے ہیں۔ عرفیت کے ساتھ بلا جھجھک تجربہ کریں۔ یاد رکھیں ، جب بھی آپ کسی عرف کو بھول جائیں ، آپ صرف عرف کمانڈ چلا کر دیکھ سکتے ہیں کہ کون سا چلنا ہے۔

درج ذیل کمانڈ ڈائریکٹری مواد کو انسانی پڑھنے کے قابل معلومات کے ساتھ ایک طویل فہرست سازی کی شکل میں چھاپے گی۔

$عرف ll='ls -lha'

آئیے اشاروں کے ساتھ کالم میں اندراجات ظاہر کرنے کے لیے ایل ایس بنائیں۔

$عرف ایل ایس='ls -CF'

ہم ایک ٹائپو کو مطلوبہ کمانڈ بھی چلا سکتے ہیں۔

$عرف sl='ls -Cf'

بعض اوقات ، ایل ایس آؤٹ پٹ بہت لمبی ہوگی۔ ایسی صورتحال میں ، آئیے ایل ایس کی پیداوار کو کم سے کم کریں۔

$عرف ایل ایس ایل='ls -lhFA | کم '

اگلا ، یہ سی ڈی کمانڈ ہے۔ آئیے والدین کی ڈائریکٹری میں ایک عرف شامل کریں۔

$عرف.. ='سی ڈی ..'

موجودہ ڈائریکٹری میں اپنی مطلوبہ فائل/فولڈر کو تلاش کرنے کے لیے اگلا عرف استعمال کریں۔

$عرف دور='مل . -نام '

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

$عرف ڈی ایف='df -Tha --total'

ڈو ٹول آؤٹ پٹ کی تعمیر نو کے بارے میں کیا خیال ہے؟

$عرف کی='آپ -ہر | ترتیب -h '

مفت ٹول چلنے والے سسٹم کی استعمال شدہ/غیر استعمال شدہ میموری کی مقدار کی اطلاع دیتا ہے۔ آئیے مفت آؤٹ پٹ کو دوستانہ بنائیں۔

$عرف مفت='مفت ایم ٹی'

اگر آپ پروسیس ٹیبل کے ساتھ مسلسل کام کر رہے ہیں تو ، بہت سے عرفی نام ہیں جن پر ہم عمل کر سکتے ہیں۔ مثال کے طور پر ، آئیے کمانڈ پی ایس کے لیے ڈیفالٹ آؤٹ پٹ مرتب کریں۔

$عرف پی ایس='ps auxf'

آئیے پروسیس ٹیبل میں سرچ فنکشن شامل کریں۔

$عرف پی ایس جی='ps aux | grep -v grep | grep -i -e VSZ -e '

ڈائریکٹری/فولڈر کو تھوڑا آسان بنانے کے بارے میں کیا خیال ہے؟ اکثر ، mkdir کسی بھی ضروری پیرنٹ ڈائریکٹری بنانے کے لیے -p پرچم کے بعد ہوتا ہے۔ آئیے اسے مندرجہ ذیل عرف میں باندھتے ہیں۔

$عرف mkdir='mkdir -p'

ہر ڈائریکٹری تخلیق کے بارے میں مطلع کرنا چاہتے ہیں؟ آئیے -v پرچم mkdir کے ساتھ شامل کریں۔

$عرف mkdir='mkdir -pv'

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

$عرف ویجٹ='wget -c'

عوامی IP پتہ چیک کرنے کی ضرورت ہے؟ آئیے اسے عرف کی فہرست میں شامل کریں!

$عرف myip='curl http://ipecho.net/plain گونج '

یہ ہے کہ میرا بشرک ان تمام عرفوں کے ساتھ کیسا لگتا ہے۔

حتمی خیالات۔

عرف ایک شاندار خصوصیت ہے جو ایک ہی لمبی کمانڈ ٹائپ کرنے کے بوجھ اور بوریت کو کم کرتی ہے۔ یہ کام کا بوجھ کم کرنے کے لیے بش سکرپٹ استعمال کرنے میں بھی انتہائی مفید ہے جبکہ کوڈ غیر ضروری بے ترتیبی سے پاک رہتا ہے۔

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

اگر آپ بہت سے عرفی نام استعمال کر رہے ہیں تو ، میں انہیں مشورہ دیتا ہوں کہ ضروری تبصرے کے ساتھ انہیں bashrc فائل میں ساتھ رکھیں۔

لطف اٹھائیں!