PDA

View Full Version : symbolic links vs hard links



houtanal
دوشنبه 06 مهر 1383, 02:39 صبح
:?:
چیزی که خودم دیدم اینه که در مورد اول یک فایل خالی که فقط یک اشره گر است می سازد اما در مورد دوم یک نمونه از فایل را کپی می کند.(کپی می کند یا اشاره گر می سازد؟)
در ضمن در مرجع لینوکس نوشته بود در برخی موارد مثل لینک دادن از دایرکتوری خانگی سایر کاربران نوع دوم به مشکل بر می خورد و باید از سمبلیک استفاده کرد.
لطفا تفاوت این دو و نحوه استفاده و جایی که باید استفاده شوند را برایم ذکر کنید.

shaniaki
سه شنبه 07 مهر 1383, 22:05 عصر
با عرض ادب:
وقتی شما روی یک هارد یک فایل را ذخیره می کنید اساس کار به این نحو است که محتویات فایل روی دیسک ریخته می شود و یک hard link در آن دایرکتوری که شما مثلا فایل را ساخته اید به این محتویات ایجاد می شود و یک شماره inode برای آن تعیین می شود. حال اگر این فایل را به مکان دیگری روی هاردتان کپی کنید دیگر محتویات فایل مجددا کپی نمی شود بلکه یک hard link دیگر در آن دایرکتوری به محتویات مزبور ایجاد می شود و مقدار یک شماره گر خاص یکی اضافه می شود و شماره inode آن هم مانند hard link قبلی است. هر بار که فایلی را delete می کنید و در حقیقت یک hard link را حذف می کنید این شماره گر کاهش می یابد و وقتی به صفر رسید سیستم محتویات مزبور را پاک می کند.
اما soft link یا symbolic link را با کمی اغماض می توان صرفا چیزی مانند shortcut در ویندوز در نظر گرفت و برای دسترسی راحت تر به فایل ها از آن استفاده می شود. به عنوان مثال اگر می خواهید برنامه ای را در هر جایی که هستید با تایپ نام آن اجرا کنید می توانید یک symbolic link که به آن اشاره می کند در یکی از دایرکتوری هایی که در مسیر های پیش فرض قرار دارند ایجاد کنید. ضمنا soft link هارا می توان به هر نقطه ای (چه روی هارد دیگر و چه روی شبکه) آدرس داد ولی hard linkها را نه.

یه عشق برنامه نویسی خفن

houtanal
سه شنبه 07 مهر 1383, 23:25 عصر
ممنون :kiss:

irix
جمعه 17 مهر 1383, 21:30 عصر
http://www.gnuiran.org/html/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=22&page=1