لینک

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۲۱ مرداد ۱۳۹۸، ساعت ۱۱:۳۶ توسط Eshagh (بحث | مشارکت‌ها) (اضافه کردن لینک سخت)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به: ناوبری، جستجو

لینک نرم

لینک چیست؟ در علوم رایانه، لینک نرم (به انگلیسی: soft link) یا لینک نمادین (به انگلیسی: symbolic link) (که به اختصار symlink) هم نوشته می‌شود، یک فایل مخصوص و ویژه است که دربرگیرنده ارجاعی به فایل یا دایرکتوری دیگر در غالب یک مسیر مطلق یا مسیر نسبی است. به عبارتی دیگر، لینک‌های نرم فایل‌های هستند که به عنوان اشاره‌گر به فایل‌های دیگر عمل می‌کنند.[1]

برای درست کردن چند تا راه هست که راحت ترینش (البته بدونه ابزار و اسکریپت) دستور ln (برای گنو/لینوکس) هست که به این شکل در ترمینال میشه ازش استفاده کرد.

 ln -s /file-1 file-2 

در کد بالا ln مخفف link هست. s- مخفف symbolic هست. file-1 فایل یا پوشه منبع (ادرس فایل یا پوشه ای که لینک رو برای اون میسازیم) هست. file-2 هم مکانی هست که لینکمون اونجا ساخته میشه . اون اسلش هم قبل از file-1 هم نمیدونم کارش چیه اما لازمه بدونه اون انگار لینک ها درست کار نمیکنن.

مثلا من میخوام یه لینک نرم از پوشه موزیک تو دسکتاپ داشته باشم ؛ پس کد زیر رو داخل ترمینال وارد میکنم.

 ln -s ~/Music Desktop 

اینطوری یه لینک برام تو دسکتاپ میاد که هرموقع روش کلیک کنم وارد پوشه موزیک میشه .

در ضمن میتونید با دستورات زید اطلاعات بیشتری درباره دستور ln به دست بیارید.

$ man ln
$ ln --help

لینک سخت

لینک سخت دقیقا مثل اسمش خیلی سخته و به این راحتی ها نمیشکنه ولی مثلا تو لینک نرم اگه فایل اصلی ازبین بره یا مکانش تغیر کنه لینک نرمش هم از بین میره ولی لینک سخت نه .

لینک نرم کارش اینه که به آدرس فایل اشاره کنه ولی لینک سخت به آدرس اون فایل داخل هارد اشاره میکنه . میشه گفت که لینک سخت و فایل اصلی مثل ذوتا شی از یه کلاس هستن ؟!؟! یعنی هردوتا به یه قسمت از هارد اشاره دارن.

لینک سخت با از بین رفتن فایل اصلی از بین نمیره و هنوز میتونه استفاده بشه . یه چیزی مثل کپی هست ولی کپی یه فایل ، اون فایل رو در یه قسمت دیگه هارد کپی میکنه ولی و با تغیر فایل اون تغییر نمیکنه ولی تو لینک سخت اگه تغیری درش ایجاد بشه مثلا اگه لینک ما فایل متنی باشه اگه متن داخلش تغیر کنه هم تو فایل اصلی و هم دیگر لینک هم تغییر ایجاد میشه.

در ضمن نمیشه برای یه پوشه یا درایو لینک سخت لینک سخت ایجاد کرد. برای ایجاد لینک سخت میشه از این کد استفاده کرد:

$ ln file-1 file-2

در کد بالا ما ln رو بدونه گزینه ای استفاده کردیم که یعنی از پیشفرض استفاده بشه و پیش فرضش هم لینک سخت هست.بهد file-1 هم که میشه فایل اصلی مون و file-2 هم لینک سخت ما هست .

تو لینک سخت اگه فایل اصلی حذف بشه لینکش حذف نمیشه !!

ما میتونیم لینک سخت رو بعد از ایجاد مکانشو عوض کنیم یا فایل اصلی رو همیتونیم تغیر مکان بدیم مشکلی نداره.