لینکس میں علامتی لنک کیسے بنایا جائے؟

مواد

میں UNIX یا Linux آپریٹنگ سسٹم کے تحت نرم لنک (علامتی لنک) کیسے بنا سکتا ہوں؟

فائلوں کے درمیان روابط بنانے کے لیے آپ کو ln کمانڈ استعمال کرنے کی ضرورت ہے۔

ایک علامتی لنک (جسے نرم لنک یا symlink بھی کہا جاتا ہے) ایک خاص قسم کی فائل پر مشتمل ہوتا ہے جو کسی دوسری فائل یا ڈائریکٹری کے حوالے کے طور پر کام کرتا ہے۔

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

ڈائریکٹری میں علامتی روابط دیکھنے کے لیے:

  • ایک ٹرمینل کھولیں اور اس ڈائریکٹری میں جائیں۔
  • کمانڈ ٹائپ کریں: ls -la۔ یہ ڈائرکٹری میں تمام فائلوں کی طویل فہرست بنائے گا چاہے وہ پوشیدہ ہوں۔
  • l سے شروع ہونے والی فائلیں آپ کی علامتی لنک فائلیں ہیں۔

لینکس یا یونکس جیسے سسٹم پر سخت لنکس بنانے کے لیے:

  1. sfile1file اور link1file کے درمیان سخت ربط بنائیں، چلائیں: ln sfile1file link1file۔
  2. ہارڈ لنکس کے بجائے علامتی لنکس بنانے کے لیے، استعمال کریں: ln -s سورس لنک۔
  3. لینکس پر نرم یا سخت لنکس کی تصدیق کرنے کے لیے، چلائیں: ls -l سورس لنک۔

علامتی لنک کو ہٹانے کے لیے rm اور unlink کمانڈز۔ rm: علامتی لنکس سمیت ہر دی گئی فائل کو ہٹانے کے لئے ٹرمینل کمانڈ ہے۔ چونکہ ایک علامتی لنک لینکس پر ایک فائل کے طور پر سمجھا جاتا ہے، آپ اسے rm کمانڈ کے ساتھ حذف کر سکتے ہیں۔

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

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

میں UNIX یا Linux آپریٹنگ سسٹم کے تحت نرم لنک (علامتی لنک) کیسے بنا سکتا ہوں؟ فائلوں کے درمیان روابط بنانے کے لیے آپ کو ln کمانڈ استعمال کرنے کی ضرورت ہے۔ ایک علامتی لنک (جسے نرم لنک یا سملنک بھی کہا جاتا ہے) ایک خاص قسم کی فائل پر مشتمل ہوتا ہے جو کسی دوسری فائل یا ڈائریکٹری کے حوالے کے طور پر کام کرتا ہے۔

علامتی لنکس کا استعمال لائبریریوں کو جوڑنے اور اس بات کو یقینی بنانے کے لیے کیا جاتا ہے کہ فائلیں اصل کو منتقل یا نقل کیے بغیر مستقل جگہوں پر ہوں۔ روابط اکثر ایک ہی فائل کی متعدد کاپیاں مختلف جگہوں پر "اسٹور" کرنے کے لیے استعمال ہوتے ہیں لیکن پھر بھی ایک فائل کا حوالہ دیتے ہیں۔

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

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

علامتی روابط بنانے کے لیے کون سا کمانڈ استعمال ہوتا ہے؟

کمانڈ میں

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

آپ ان لنک یا rm کمانڈ کا استعمال کرتے ہوئے موجودہ علامتی لنک کو حذف/ ہٹا سکتے ہیں۔ آپ کو علامتی لنک کو ہٹانے کے لیے ان لنک یوٹیلیٹی کو استعمال کرنے کو ترجیح دینی چاہیے۔ اگر آپ ماخذ فائل کو حذف کرتے ہیں یا کسی دوسرے مقام پر منتقل کرتے ہیں، تو علامتی فائل لٹکتی رہ جائے گی۔ آپ کو اسے حذف کرنا چاہئے کیونکہ یہ مزید کام نہیں کرے گا۔

1 جواب۔ rm -rf /home3 تمام فائلوں اور ڈائریکٹری کو home3 اور home3 میں ہی حذف کر دے گا، جس میں symlink فائلیں شامل ہیں، لیکن وہ ان سملنک کو "فالو" (ڈی-ریفرنس) نہیں کرے گا۔ اسے دوسرے الفاظ میں ڈالیں، وہ symlink فائلیں حذف ہو جائیں گی۔ جن فائلوں کو وہ "پوائنٹ"/"لنک" کرتے ہیں ان کو ٹچ نہیں کیا جائے گا۔

وجہ یہ ہے کہ منسلک فائل کا انوڈ علامتی لنک کے انوڈ سے مختلف ہے۔ لیکن اگر آپ symlink کی سورس فائل کو ڈیلیٹ کرتے ہیں تو اس فائل کا Symlink اب کام نہیں کرتا یا یہ "Dangling link" بن جاتا ہے جو کہ غیر موجود فائل کی طرف اشارہ کرتا ہے۔ نرم روابط فائلوں اور ڈائریکٹریز دونوں کو جوڑ سکتے ہیں۔

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

کسی بھی ہارڈ لنکس یا اصل کے ذریعے ڈیٹا کے مواد میں کی گئی تبدیلیاں باقی دیگر آئٹمز میں خود بخود پھیل جائیں گی۔ ہارڈ لنکس صرف مائیکروسافٹ ونڈوز آپریٹنگ سسٹمز پر کام کرتے ہیں جو NTFS پارٹیشنز (ونڈوز NT 4.0 یا بعد کے) کو سپورٹ کرتے ہیں جبکہ FAT اور ReFS فائل سسٹم ہارڈ لنکس کے ساتھ کام نہیں کرتے ہیں۔

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

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

1. متبادل طور پر ایک نرم لنک یا symlink کے طور پر کہا جاتا ہے، ایک علامتی لنک ایک فائل ہے جو اپنے راستے کا استعمال کرتے ہوئے کسی دوسری فائل یا ڈائریکٹری سے لنک کرتی ہے. لینکس اور یونکس میں علامتی لنکس ln کمانڈ کے ساتھ بنائے جاتے ہیں، اور ونڈوز کمانڈ لائن میں، mklink کمانڈ کا استعمال کرتے ہوئے علامتی لنکس بنائے جاتے ہیں۔

یونکس میں شیل اسکرپٹ کیا ہے؟

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

انوڈ لینکس کیا ہے؟

ایک انوڈ انوڈ ٹیبل میں ایک اندراج ہے، جس میں ایک باقاعدہ فائل اور ڈائریکٹری کے بارے میں معلومات (میٹا ڈیٹا) ہوتی ہے۔ ایک انوڈ روایتی یونکس طرز کے فائل سسٹم جیسے ext3 یا ext4 پر ڈیٹا ڈھانچہ ہے۔

جب آپ ایک لنک (rm ) کو حذف کرتے ہیں تو کاؤنٹر ایک ایک کرکے کم ہوتا ہے اگر لنک کاؤنٹر 0 تک پہنچ جاتا ہے تو فائل سسٹم انوڈ کو ہٹاتا ہے اور استعمال کے لیے دستیاب جگہ کو نشان زد کرتا ہے۔ مختصراً، جب تک آپ آخری لنک کو حذف نہیں کرتے، فائل باقی رہے گی۔

انوڈ میں کون سی معلومات محفوظ ہے؟

انوڈ (انڈیکس نوڈ) یونکس طرز کے فائل سسٹم میں ایک ڈیٹا ڈھانچہ ہے جو فائل سسٹم آبجیکٹ جیسے فائل یا ڈائریکٹری کو بیان کرتا ہے۔ ہر انوڈ آبجیکٹ کے ڈیٹا کے اوصاف اور ڈسک بلاک لوکیشن کو اسٹور کرتا ہے۔

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

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

"ویکی میڈیا کامنز" کے مضمون میں تصویر https://commons.wikimedia.org/wiki/File:Unix_history-simple.svg

اس پوسٹ کو پسند کریں؟ براہ کرم اپنے دوستوں کو شیئر کریں:
OS آج