در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

تفاوت بین Soft Link و Hard Link در سیستم عامل لینوکس

در هر سیستم عاملی مفهوم به نام shortcut یا میانبر وجود دارد و کارش هم مشخص است ، برای اینکه سرعت دسترسی به فایل ها را بالا ببرد و نیازی نباشد کاربر همه دایرکتوری ها را زیر و رو کند ، در سیستم عامل ویندوز ما این مفهوم را به نام shortcut می شناسیم و در سیستم عامل لینوکس تقریبا همین مفهوم به عنوان Link شناخته می شود. امروز می خواهیم در خصوص تفاوت بین Hard Link و Soft Link در سیستم عامل لینوکس صحبت کنیم. قبل از اینکه بخواهیم کامل این مفاهیم را تشریح کنیم ابتدا باید بررسی کنیم که inode چیست ؟ قبلا در ITPRO در خصوص مفهوم inode کامل صحبت کرده ایم اما بصورت خلاصه بدانید که inode اطلاعات مربوط به یک فایل را نگهداری می کند ، در واقع بر خلاف سیستم عامل ویندوز که ساختار دسترسی به اطلاعات آن به شکل دایرکتوری است در سیستم عامل لینوکس فایل ها با مفهوم inode شناسایی می شوند و محل فایل با یک شماره inode مشخص می شود. حالا که مفهوم inode را متوجه شدید ابتدا Hard Link را به شما معرفی می کنیم.

تفاوت soft link و hard link و symbolik Link در لینوکس

زمانیکه شما یک Shortcut یا Link در لینوکس بصورت Hard Link ایجاد می کنید ، این Shortcut شما به Inode فایل مورد نظر اشاره می کند و این یعنی اگر فایل شما جابجا شود و یا تغییر نام بدهد اصلا مهم نیست و Link شما همیشه درست کار می کند زیرا اصلا ارتباطی به اسم فایل شما ندارد و به inode متصل شده است . از ویژگی های Hard Link می توان به این اشاره کرد که شما هر تغییری که بر روی Hard Link یا فایل اصلی انجام بدهید بر روی هر دو اعمال می شود ، اگر شما اسم فایل اصلی را تغییر بدهید Hard Link شما با توجه به اینکه به ماهیت Inode اشاره می کند تغییر نخواهد کرد. اما از معایب استفاده از Hard Link این است که نمی توان از آن در بین چند فایل سیستم یا پارتیشن استفاده کرد ، با توجه به اینکه در هر فایل سیستم ساختار inode ها متفاوت است و شماره گذاری ها نیز تفاوت دارد Hard Link ها فقط در یک فایل سیستم قابل پیاده سازی هستند.

اما Soft Link ها که آنها را به عنوان Symbolic Link هم می شناسیم چیزی مشابه یا تقریبا همان مفهوم shortcut را در ویندوز برای ما تداعی می کنند ، شما آدرس یک فایل را دارید و به سیستم Soft Link با مسیر کوچکتر و دسترسی راحت تر معرفی می کنید ، ساختار Soft Link ها بسیار انعطاف پذیر است و شما از هر جایی می توانید به جای دیگر Soft Link بزنید و هیچگونه مشکلی در خصوص محل و فایل سیستم در Soft Link ها وجود ندارد ، اما معایبی هم در این نوع Link وجود دارد ، زمانیکه شما اسم فایل اصلی را تغییر بدهید Soft Link شما خراب یا در اصطلاح Broke می شود و دیگر نمی توانید از آن استفاده کنید زیرا ماهیت اصلی آن اتصال به اسم فایل است نه inode فایل ، برای اینکه بتوانید راحت تر از برخی از فایل ها استفاده کنید شما می توانید برای آنها با استفاده از Soft Link ها اسم مستعار هم بسازید ، برای مثال در سیستم عامل های خانواده RedHat ممکن است شما فایل grub.cfg را نداشته باشید و به جایش فایل دیگری جایگزین شده باشد ، شما می توانید فایل جدید را به اسم grub.cfg در دایرکتوری مورد نظر خودتان link کنید و برای خودتان یک میانبر از فایل جدید ایجاد کنید. معمولا در سرویس های پر کاربرد ما از Link ها در پروفایل های کاربری خودمان برای دسترسی سریعتر به فایل ها استفاده می کنیم. به تصویر بالا دقت کنید تفاوت این دو نوع Link نمایش داده شده است.

چگونه Hard Link و Soft Link ایجاد کنیم ؟


ایجاد کردن Soft Link و Hard Link شاید ساده ترین کاری باشد که شما در سیستم عامل لینوکس می توانید انجام بدهید ، برای اینکار کافیست مسیر فایل اول را به همراه دستور ln وارد کرده و در قسمت دوم نیز اسم فایل جدید در مسیر جدید را وارد کنید به مثال زیر توجه کنید که ما یک فایل به نام grub.cfg که در مسیر ابتدایی وجود دارد را در پرفایل شخصی خودمان به نام grub خالی link می کنیم :

[root@debian-itpro ~]# ln -s /etc/grub.conf grub

مثال بالا با توجه به آوردن حرف s به معنی symbolic است و یک soft link است اگر بخواهیم مثال بالا را بصورت hard link ایجاد کنیم فقط s را حذف می کنیم و دقت کنید که grub شما باید در همان فایل سیستمی باشد که پرفایل کاربری root نیز قرار گرفته است به مثال زیر برای ایجاد hard link توجه کنید :

[root@debian-itpro ~]# ln  /etc/grub.conf grub

ITPRO باشید

نویسنده : محمد نصیری

منبع : ITPRO

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#ایجاد_shortcut_در_لینوکس #inode_number_چیست #انواع_link_در_لینوکس #inode_چیست #ایجاد_کردن_hard_link_در_لینوکس #تفاوت_soft_link_و_hard_link_در_لینوکس #تفاوت_hard_link_و_soft_link_در_لینوکس #مقایسه_hard_link_و_soft_link_در_لینوکس #انواع_symbolik_link_در_لینوکس #hard_link_و_soft_link_در_لینوکس
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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