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

پیوندهای نرم لینوکس و پیوندهای سخت با نمونه های عملی
در لینوکس ، دو نوع پیوند وجود دارد: پیوندهای نرم (پیوندهای نمادین) و پیوندهای سخت. هر دو برای ایجاد میانبرها یا منابع به پرونده ها و دایرکتوری ها استفاده می شوند ، اما رفتار متفاوتی دارند.
1. پیوند Soft (پیوند نمادین)
پیوند نرم ، که به آن پیوند نمادین نیز گفته می شود ، مانند میانبر در ویندوز است. این به محل پرونده یا دایرکتوری اشاره دارد. اگر پرونده اصلی حذف شود ، پیوند نرم شکسته و غیرقابل استفاده می شود.
ویژگی های کلیدی:
- می تواند به پرونده ها و دایرکتوری ها پیوند دهد.
- اگر هدف حذف شود یا تغییر نام یابد ، پیوند نمادین شکسته می شود.
- فضای اضافی را روی دیسک اشغال نمی کند به جز خود پیوند.
ایجاد یک لینک نرم:
ln -s /path/to/target /path/to/link
مثال لینک نرم:
1. ایجاد یک پرونده:
echo "This is a test file" > original_file.txt
2. یک پیوند نمادین به این پرونده ایجاد کنید:
ln -s original_file.txt soft_link.txt
3. پیوند نمادین را بررسی کنید:
ls -l
خروجی:
lrwxrwxrwx 1 user user 15 Aug 22 14:12 soft_link.txt -> original_file.txt
-rw-rw-r-- 1 user user 20 Aug 22 14:11 original_file.txt
4. محتوای را از طریق لینک نرم دسترسی دهید:
cat soft_link.txt
شکستن لینک نرم:
1. فایل اصلی را حذف کنید:
rm original_file.txt
2. دسترسی به لینک نرم:
cat soft_link.txt
خروجی:
cat: soft_link.txt: No such file or directory
پیوند شکسته است زیرا پرونده هدف از بین رفته است.
2. لینک هارد
پیوند سخت یک مرجع به همان inode (داده) در دیسک به عنوان پرونده اصلی است. حذف پرونده اصلی بر پیوند سخت تأثیر نمی گذارد زیرا هر دو پیوند به داده های یکسان اشاره دارند.
ویژگی های کلیدی:
- فقط می تواند به پرونده ها پیوند بزند ، نه دایرکتوری ها.
- هم فایل اصلی و هم پیوند سخت با شماره Inode یکسان هستند.
- حتی اگر پرونده اصلی حذف شود ، لینک سخت به دسترسی به محتوای پرونده ادامه می یابد.
- هیچ فضای اضافی را اشغال نمی کند ، هم فایل و هم پیوند سخت داده های یکسان را به اشتراک می گذارد.
ایجاد یک پیوند سخت:
ln /path/to/target /path/to/link
مثال پیوند سخت:
1. ایجاد یک پرونده:
echo "This is a test file" > original_file.txt
2. پیوند سخت به این پرونده ایجاد کنید:
ln original_file.txt hard_link.txt
3. پیوند سخت را بررسی کنید:
ls -li
خروجی:
123456 -rw-rw-r-- 2 user user 20 Aug 22 14:11 hard_link.txt
123456 -rw-rw-r-- 2 user user 20 Aug 22 14:11 original_file.txt
به هر دو hard_link.txt و original_file.txt توجه داشته باشید که دارای شماره اینود یکسان (123456) هستند ، به این معنی که آنها به همان داده ها اشاره می کنند.
4. محتوا را از طریق لینک سخت دسترسی دهید:
cat hard_link.txt
حذف پرونده اصلی:
1. پرونده اصلی را دوباره تهیه کنید:
rm original_file.txt
2. پرونده را از طریق لینک سخت دسترسی دهید:
cat hard_link.txt
خروجی:
This is a test file
پیوند سخت هنوز کار می کند حتی اگر پرونده اصلی حذف شود ، زیرا داده ها تا زمانی که همه پیوندهای سخت حذف نشوند ، روی دیسک باقی می مانند.
4.Conclusion
هنگام نیاز به میانبرها یا منابع در سیستم های مختلف پرونده ، یا در صورت نیاز به پیوند به دایرکتوری ها ، از پیوندهای نرم استفاده کنید.
وقتی می خواهید چندین نام برای همان پرونده ایجاد کنید ، حتی اگر یکی از پیوندها حذف شود ، از پیوندهای سخت استفاده کنید.