دوشنبه, ۱ مرداد, ۱۴۰۳ / 22 July, 2024
مجله ویستا

لینک ها در لینوکس Links in Linux


لینک ها در لینوکس Links in Linux

در کل لینک ها یک نقطه ی اشاره به نقطه ای از یک سیستم فایل می سازند این می تواند برای شما بسیار مفید باشد , شمابا ساخت یک لینک به یک دایرکتوری دیگر احتیاجی به تایپ کامل مسیر آن ندارید و یا لازم نیست در

● لینک چیست؟

در کل لینک ها یک نقطه ی اشاره به نقطه ای از یک سیستم فایل می سازند. این می تواند برای شما بسیار مفید باشد ، شمابا ساخت یک لینک به یک دایرکتوری دیگر احتیاجی به تایپ کامل مسیر آن ندارید و یا لازم نیست در مدیر فایل گرافیکی خود دائم به بالا و پایین بروید و کافیست یک بار برروی لینک خود کلیک کنید. شما می توانید لینک ها را همان میانبر ها (Shortcuts) در ویندوز مایکروسافت در نظر بگیرید که البته چند تفاوت نیز با یکدیگر دارند. در این جا ابتدا به بررسی و نحوه ی ایجاد یک لینک سخت افزاری و سپس یک لینک نرم افزاری و در انتها به مقایسه ای اجمالی بین این دو خواهم پرداخت .

● لینک های سخت یا Hardlinks

یک لینک سخت یک ورودی دایرکتوری است که به محل فیزیکی یک فایل اشاره دارد.(به محل فیزیکی یک فایل i-node می گویند.). در حقیقت ما تنها یک فایل داریم اما ورودی دو (یا بیشتر) دایرکتوری به محل فیزیکی آن بر روی دیسک سخت اشاره دارند. برای ایجاد یک لینک سخت در خط فرمان از دستور ln استفاده می شود.این دستور به طور پیش فرض یک لینک سخت می سازد . برای نمونه من در این جا یک لینک سخت افزاری به فایل article.txt در دایرکتوری خانگی ام می سازم.

tux@GNUIran.org $ ln /temp/article.txt /home/tux/foo/article.txt


لینک ها در لینوکس Links in Linux

اگر من فایل اصلی یعنی temp/article.txt/ را پاک کنم ورودی دایرکتوری پاک خواهد شد و تعداد لینک های سخت ۱ خواهد بود و اما فایل همچنان باقی خواهد بود ! چرا که هنوز یک لینک سخت به ان وجود دارد.و فایل هرگز پاک نمی شودمگر آن که تعداد هارد لینک های آن به صفر برسد.

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

● لینک های نرم یا soft links

لینک های نرم یا Softlinks که با نام های symbolic links یا symlinks نیز شناخته می شوند بسیار شبیه میانبر ها (shortcut) های ویندوز هستند، در لینک های نرم بر خلاف لینک های سخت هر لینک آدرس سخت افزاری (i-node) مخصوص به خودشان را دارند . این لینک ها تنها یک فایل هستند که می توانند به یک فایل دیگر اشاره کنند .برای ایجاد این لینک ها از از آپشن s- به همراه دستور ln استفاده می کنند:

tux@GNUIran.org $ ln -s /temp/article.txt /home/tux/foo/article.txt


لینک ها در لینوکس Links in Linux

لینک ها در لینوکس Links in Linux

lrwxr—r-- ۱ tux gnuiranorg ۳۱ Apr ۲۵ ۰۵:۲۵ article.txt -> /temp/article

همان طور که مشاهده می کنید بیت اول l می باشد ، به معنی لینک و بعد از پایان نام فایل بعد از یک " <- " آدرس فایل اصلی آمده است.

● لینک های سخت در مقابل لینک های نرم

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

الف) در لینک های سخت مجوز های دسترسی تمام لینک ها مانند فایل اصلی است و شما برای تغییر مجوز های دسترسی از فایل اصلی اقدام کنید.

ب) در لینک های نرم سایز فایل ها به شما دروغ می گویند! به این دلیل که این لینک ها خود یک فایل هستند با حجمی بسیار کوچک در صورتی که لینک های سخت به دلیل اشاره ی مستقیم به فایل اصلی حجم فایل اصلی را نمایش می دهند.

پ) زمان اصلاح یا modification ای که در لینک نرم نمایش داده می شود مربوط به اصلاحاتی است که شما برروی این لینک انجام داده اید اما در لینک های سخت این زمان همان زمان دقیق اصلاحات فایل اصلی است.

ت) در لینک نرم نام فایل اصلی بعد از یک <- می آید و بر خلاف لینک سخت اگر فایل اصلی را پاک کنید ، این لینک ه یک لینک خراب یا به اصطلاح درست ،به لینک یتیم (Orphan) تبدیل می شود.

ث) همان طور که در بالا اشاره شد برای دایرکتوری ها و فایل سیستم هایی که از راه دور با آن ها کار می کنیدو یا به هر طری برروی کامپیوتر شما نیستند نمی توانید از لینک های سخت یا هارد لینک ها استفاده کنید.

نویسنده : نوید