Soft Link و Hard Link در لینوکس چیست؟

Soft Link و Hard Link در لینوکس چیست؟

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

اما در مورد hard link، کاملا برعکس است. حتی اگر فایل اصلی را حذف کنید، hard link همچنان اطلاعات فایل اصلی را دارد. زیراhard link به عنوان کپی آینه ای از فایل اصلی عمل می کند.

به طور خلاصه، یک soft link

به شما امکان می دهد بین دایرکتوری ها پیوند برقرار کنید،
دارای تعداد inode و مجوزهای فایل متفاوت از فایل اصلی،
مجوزها به روز نمی شوند،
فقط مسیر فایل اصلی را دارد نه محتویات.
یک hard linkنمی توان دایرکتوری ها را پیوند داد،
دارای همان شماره inode و مجوزهای فایل اصلی است،
اگر مجوزهای فایل منبع را تغییر دهیم، مجوزها به روز می شوند،
دارای محتویات واقعی فایل اصلی است، به طوری که شما همچنان می توانید محتویات را مشاهده کنید، حتی اگر فایل اصلی منتقل یا حذف شده باشد.

نحوه ایجاد soft link

 یک دایرکتوری خالی به نام “test” ایجاد کنیم. و داخل آن می شویم
$ cd test
یک فایل جدید با دستور echo و نوشتن مقادیر ایجاد می کنیم:
$ echo "Welcome to shabakehonline" >source.file
برای ایجاد soft link از دستور زیر استفاده می کنیم
$ ln -s source.file softlink.file
اگر این فایل را حذف کنیم برای فایل اصلی اتفتقی نمی افتد
ولی اگر فایل اصلی را حذف کنیم soft link ایجاد شده دیگر به آن اشاره نمی کند و قایل استفاده نیست

چکونه فایل Hard Link ایجاد کنیم؟

 یک دایرکتوری خالی به نام “test” ایجاد کنیم. و داخل آن می شویم
$ cd test
یک فایل جدید با دستور echo و نوشتن مقادیر ایجاد می کنیم:
$ echo "Welcome to shabakehonline" >source.file

اکنون با دستور زیر فایل هارد لینک ایجاد می کنیم:

$ ln source.file hardlink.file
هرگونه تغیر داخل hard link ایجاد کنیم باعث تعییر در فایل اصلی و برعکس ان خواهد شد . اما درصورتی که هرکدام از فایل ها حدف شوند فایل دوم باقی می ماند و تغییری در ان ایجاد نمی شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *