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 ایجاد کنیم باعث تعییر در فایل اصلی و برعکس ان خواهد شد . اما درصورتی که هرکدام از فایل ها حدف شوند فایل دوم باقی می ماند و تغییری در ان ایجاد نمی شود.

Categorized in: