انواع لینک ها در لینوکس چیست؟

در سیستم فایل لینوکس شما، یک پیوند ارتباطی بین نام فایل و داده های واقعی روی دیسک است. دو نوع اصلی از پیوندها وجود دارد که می توان ایجاد کرد: پیوندهای "سخت" و پیوندهای "نرم" یا نمادین. ... پیوند نمادین یک فایل خاص است که به فایل یا دایرکتوری دیگری اشاره می کند که هدف نامیده می شود.

یک پیوند نمادین یا نرم یک پیوند واقعی به فایل اصلی است، در حالی که یک پیوند سخت یک کپی آینه ای از فایل اصلی است. اگر فایل اصلی را حذف کنید، لینک نرم افزار ارزشی ندارد، زیرا به فایلی که وجود ندارد اشاره می کند. اما در مورد لینک سخت، کاملا برعکس است.

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

پیوندها در یونیکس اساساً نشانگرهایی هستند که به فایل ها و دایرکتوری ها مرتبط هستند. تفاوت عمده بین لینک سخت و لینک نرم در این است که لینک سخت مرجع مستقیم فایل است در حالی که لینک نرم مرجع با نام است به این معنی که با نام فایل به یک فایل اشاره می کند.

برای حذف یک پیوند نمادین، از دستور rm یا unlink و سپس نام پیوند نمادین به عنوان آرگومان استفاده کنید. هنگام حذف یک پیوند نمادین که به دایرکتوری اشاره می کند، یک اسلش انتهایی به نام پیوند علامت اضافه نکنید.

برای مشاهده پیوندهای نمادین در دایرکتوری:

  1. یک ترمینال را باز کنید و به آن دایرکتوری بروید.
  2. دستور ls -la را تایپ کنید. این فهرست طولانی تمام فایل های دایرکتوری را نشان می دهد، حتی اگر مخفی باشند.
  3. فایل هایی که با l شروع می شوند فایل های پیوند نمادین شما هستند.

با [-L file] می توانید بررسی کنید که آیا یک فایل یک پیوند نمادین است. به طور مشابه، می توانید با [ -f file ] تست کنید که آیا یک فایل یک فایل معمولی است یا خیر، اما در این صورت، بررسی پس از حل کردن symlink ها انجام می شود. هاردلینک ها یک نوع فایل نیستند، آنها فقط نام های مختلفی برای یک فایل (از هر نوع) هستند.

در محاسبات، پیوند سخت یک ورودی دایرکتوری است که یک نام را با یک فایل در یک سیستم فایل مرتبط می کند. همه سیستم های فایل مبتنی بر دایرکتوری باید حداقل یک پیوند سخت داشته باشند که نام اصلی هر فایل را ارائه می دهد. اصطلاح "پیوند سخت" معمولاً فقط در سیستم های فایلی استفاده می شود که بیش از یک پیوند سخت را برای یک فایل مجاز می کنند.

لینک سخت کپی دقیق فایل واقعی است که به آن اشاره می کند. هم پیوند سخت و هم فایل پیوند شده inode یکسانی دارند. اگر فایل منبع حذف شود، پیوند سخت همچنان کار می کند و تا زمانی که تعداد لینک های سخت فایل 0 (صفر) نباشد، می توانید به فایل دسترسی داشته باشید.

آره. هر دوی آنها فضا می گیرند زیرا هر دو هنوز ورودی های دایرکتوری دارند.

به طور پیش فرض، دستور ln لینک های سخت ایجاد می کند. برای ایجاد یک پیوند نمادین، از گزینه -s ( –symbolic ) استفاده کنید. اگر FILE و LINK هر دو داده شوند، ln یک پیوند از فایل مشخص شده به عنوان آرگومان اول (FILE) به فایل مشخص شده به عنوان آرگومان دوم (LINK) ایجاد می کند.

برای ایجاد یک پیوند نمادین، گزینه -s را به دستور ln و سپس فایل هدف و نام پیوند را ارسال کنید. در مثال زیر، یک فایل به پوشه bin متصل شده است. در مثال زیر، یک درایو خارجی نصب شده به یک فهرست اصلی متصل شده است.

اگر دو فایل با خصوصیات یکسان پیدا کردید اما مطمئن نیستید که به سختی پیوند دارند، از دستور ls -i برای مشاهده شماره inode استفاده کنید. فایل‌هایی که به یکدیگر پیوند سختی دارند، شماره inode یکسانی دارند. شماره inode مشترک 2730074 است، به این معنی که این فایل ها داده های یکسانی هستند.

دایرکتوری برنامه در یک مدیر فایل، به نظر می رسد حاوی فایل های داخل /mnt/partition/ باشد. برنامه علاوه بر "پیوندهای نمادین"، که به عنوان "پیوندهای نرم" نیز شناخته می شوند، می توانید به جای آن یک "پیوند سخت" ایجاد کنید. یک پیوند نمادین یا نرم به مسیری در سیستم فایل اشاره می کند.

برای ایجاد پیوندهای سخت در یک سیستم لینوکس یا یونیکس مانند:

  1. پیوند سخت بین sfile1file و link1file ایجاد کنید، اجرا کنید: ln sfile1file link1file.
  2. برای ایجاد پیوندهای نمادین به جای پیوندهای سخت، از لینک منبع ln -s استفاده کنید.
  3. برای تأیید پیوندهای نرم یا سخت در لینوکس، ls -l source link را اجرا کنید.

16 اکتبر 2018 г.

این پست را دوست دارید؟ لطفا با دوستان خود به اشتراک بگذارید:
سیستم عامل امروز