I.لینک چیست؟
در کل لینک ها یک نقطه ی اشاره به نقطه ای از یک سیستم فایل می سازند. این می تواند برای شما بسیار مفید باشد ، شمابا ساخت یک لینک به یک دایرکتوری دیگر احتیاجی به تایپ کامل مسیر آن ندارید و یا لازم نیست در مدیر فایل گرافیکی خود دائم به بالا و پایین بروید و کافیست یک بار برروی لینک خود کلیک کنید. شما می توانید لینک ها را همان میانبر ها (Shortcuts) در ویندوز مایکروسافت در نظر بگیرید که البته چند تفاوت نیز با یکدیگر دارند. در این جا ابتدا به بررسی و نحوه ی ایجاد یک لینک سخت افزاری و سپس یک لینک نرم افزاری و در انتها به مقایسه ای اجمالی بین این دو خواهم پرداخت .
II.لینک های سخت یا Hardlinks
یک لینک سخت یک ورودی دایرکتوری است که به محل فیزیکی یک فایل اشاره دارد.(به محل فیزیکی یک فایل i-node می گویند.). در حقیقت ما تنها یک فایل داریم اما ورودی دو (یا بیشتر) دایرکتوری به محل فیزیکی آن بر روی دیسک سخت اشاره دارند. برای ایجاد یک لینک سخت در خط فرمان از دستور ln استفاده می شود.این دستور به طور پیش فرض یک لینک سخت می سازد . برای نمونه من در این جا یک لینک سخت افزاری به فایل article.txt در دایرکتوری خانگی ام می سازم.
|
tux@GNUIran.org $ ln /temp/article.txt /home/tux/foo/article.txt
|
در این نمونه یک ورودی در دایرکتوری /home/tux/foo/ ایجاد شده که به محل فیزیکی فایل article.txt بر روی دیسک سخت اشاره می کند. خوب شما می توانید با این فایل کار کنید ، برای نمونه اگر دستور ls -l را وارد کنیم تعداد هارد لینک آن (که بلافاصله پس از مجوز های دسترسی آن نمایش داده می شود) برابر ۲ نمایش داده خواهد شد. و جالب این جاست که تمام مجوز ها و سایز فایل و تاریخ آخرین اصلاح فایل دقیقا همانند فایل قبلی است ! عدد ۲ یعنی ۲ دایرکتوری به این نقطه ی فیزیکی (i-node) از هارد اشاره دارند.
اگر من فایل اصلی یعنی temp/article.txt/ را پاک کنم ورودی دایرکتوری پاک خواهد شد و تعداد لینک های سخت ۱ خواهد بود و اما فایل همچنان باقی خواهد بود ! چرا که هنوز یک لینک سخت به ان وجود دارد.و فایل هرگز پاک نمی شودمگر آن که تعداد هارد لینک های آن به صفر برسد.
باید توجه داشته باشید که از هارد لینک برای لینک دادن به دایرکتوری ها و به فایلی که در فایل سیستمی برروی کامپیوتر دیگری است
نمی توان استفاده کرد.
III.لینک های نرم یا soft links
لینک های نرم یا Softlinks که با نام های symbolic links یا symlinks نیز شناخته می شوند بسیار شبیه میانبر ها (shortcut) های ویندوز هستند، در لینک های نرم بر خلاف لینک های سخت هر لینک آدرس سخت افزاری (i-node) مخصوص به خودشان را دارند . این لینک ها تنها یک فایل هستند که می توانند به یک فایل دیگر اشاره کنند .برای ایجاد این لینک ها از از
آپشن s- به همراه دستور ln استفاده می کنند:
|
tux@GNUIran.org $ ln -s /temp/article.txt /home/tux/foo/article.txt
|
اگر شما از ls -l برای دیدن این فایل استفاده کنید به نتیجه ای مانند زیر خواهید رسید:
|
tux@GNUIran.org /foo $ ls -l
lrwxr—r-- 1 tux gnuiranorg 31 Apr 25 05:25 article.txt -> /temp/article
|
همان طور که مشاهده می کنید بیت اول l می باشد ، به معنی لینک و بعد از پایان نام فایل بعد از یک " <- " آدرس فایل اصلی آمده است.
IV.لینک های سخت در مقابل لینک های نرم
در این بخش به مقایسه ای اجمالی میان دو نوع لینکی که در بالا گفتم می پردازم:
الف. در لینک های سخت مجوز های دسترسی تمام لینک ها مانند فایل اصلی است و شما برای تغییر مجوز های دسترسی از فایل اصلی اقدام کنید.
ب. در لینک های نرم سایز فایل ها به شما دروغ می گویند! به این دلیل که این لینک ها خود یک فایل هستند با حجمی بسیار کوچک در صورتی که لینک های سخت به دلیل اشاره ی مستقیم به فایل اصلی حجم فایل اصلی را نمایش می دهند.
پ.زمان اصلاح یا modification ای که در لینک نرم نمایش داده می شود مربوط به اصلاحاتی است که شما برروی این لینک انجام داده اید اما در لینک های سخت این زمان همان زمان دقیق اصلاحات فایل اصلی است.
ت.در لینک نرم نام فایل اصلی بعد از یک <- می آید و بر خلاف لینک سخت اگر فایل اصلی را پاک کنید ، این لینک ه یک لینک خراب یا به اصطلاح درست ،به لینک یتیم (Orphan) تبدیل می شود.
ث.همان طور که در بالا اشاره شد برای دایرکتوری ها و فایل سیستم هایی که از راه دور با آن ها کار می کنیدو یا به هر طری برروی کامپیوتر شما نیستند نمی توانید از لینک های سخت یا هارد لینک ها استفاده کنید.
امید وارم با استفاده ی مفید از لینک ها از وقت خود به بهترین نحو استفاده کنید.
|