ايران ويج

نسخه‌ی کامل: تفاوت soft-link و hard-link ؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام !

دوستان اگه میشه یکی لطف کنه قضیه این soft link و hard link رو به زبون خودمونی به منه تازه کار توضیح بده . ممنون !Amaze
http://linuxgazette.net/105/pitcher.html
سوال های سخت می پرسی
هارد لینک ها به inode مربوطه اشاره می کنن یعنی دقیقا محل قرار گیری محتوای فایل ولی سافت لینک ها path فایل مقصد رو نشون می دن
چیزی که من فهمیدم هر فایل تو لینوکس هم یه مسیر داره ، هم یه عدد به اسم inode که دقیقا به محل data توی هارد اشاره می کنه .
حالا باز یه سری سوال پیش میاد :
- سافت لینک ها همون شرت کات ها توی ویندوز هستند ؟ یعنی به لحاظ ساختار کاملا مثل هم هستند ؟
- اگر ما یه هارد لینک از یه فایل تهیه کرده باشیم ، اگر اصل فایل رو پاک کنیم ، آیا هارد لینک هنوز میتونه فایل رو نمایش بده ؟ یعنی اینکه وقتی ما یه فایل رو پاک می کنیم فقط مسیرش از توی map هارد پاک میشه و دیتا هنوز باقیست ؟ ( یه جای اون مقاله که گذاشتی همچین حرفی زده ... البته اگر درست فهمیده باشم )
- این inode ها و این جدول یا مپ که inode ها توش هستند رو چجوری میشه فهمید ؟ ( چی گفتم ... یعنی منظورم اینه که این جدول کجاست دقیقا ؟ آیا فقط مربوط به فایل سیستم ext3 هست یا اینکه یه همچین چیزی توی fat و ntfs هم داریم ؟ )
- .... Amaze
برای فهمیدن inode ها یه چیز جالب یادم اومد وقتی تو لینوکس رو یه فایل صوتی موس رو ببری نگه داری اون فایل شروع به پخش کردن می کنه و وقتی موس رو ببری کنار stop می شه
من موس رو بردم یکم صبر کردم فایل شروع به پخش شدن کرد من هم فایل رو دیلیت کردم ولی هنوز داشت می خوند چون برای بخش فقط اون آدرس inode رو نیاز داره که لحظه اول به دست آورد حالا پاک شدنش از جدول فایل ها مهم نیست
ولی ظاهرا هارد لینک ها که از inode استفاده می کنن به یه هارد دیگه نمی تونن لینک بدن
سافت لینک ها بعید می دونم دقیقا به فورمت شرت کات های ویندوزی باشن
اگه اصل فایل پاک بشه تا وقتی فکر کنم روی اون چیزی نریزی هارد لینک می تونه کار کنه
توی fat هم یه چیزی شبیه به inode داریم اونجا هم یه سری بلوک هست که داده ها رو توش ذخیره می کنه و توی جدول فایل های fat آدرس اولینش ذخیره می شه و آدرس بلوک دوم از بلوک اول و ... به دست می یاد
کلیه اطلاعات بالا برداشت های من از این سیستم فایل هاست و ممکنه اشتباه باشه Biggrin
سلام
خوب هستيد
امير جان ببين كامپيوتر چيزي به نام مسير فايل نميشناسه . در واقعه كامپيوتر هميشه با ادرس دهي كار ميكنه . مثلا توي ويندوز براي رسيدن به يك فايل شما مسير اون رو به يكسري توابع داخلي يا كرنل ميديد و اون با يكسري توابع داخلي ( اينتراپت ها ) اون مسير رو به ادرس تبديل ميكنه و توسط همين توابع داخلي اون فايل رو ميخونه . توي ويندوز وقتي يك فايل باز ميشه ( چه براي خواندن چه نوشتن و يا چه شير ) يك هندل به اون فايل بر ميگرده كه اون فايل رو در برابر حذف شدن محافظت ميكنه . توي لينوكس وقتي يك فايل ساخته ميشه دقيقا توي يك جدول مسير اون ( از نظر شاخه درختي ساب دايركتوري و دايركتور ها ) نوشته ميشه كه به ادرس اون روي هارد اشاره ميكنه در واقعه ادرس در مبناي هگزا دسيمال است. inode در واقعه همين آدرس است حالا شما ميتونين اين ادرس رو به دو تا اسم فايل مربوط كنيم و يا چند تا اسم ( نقي و تقي ) اما همشون به همون ادرس فايل اصلي و ديتا شما اشاره ميكنن ( اين ادرسه همون هندل فايلتون است توي ويندوز با اين تفاوت كه احتياج به باز كردن ندان ودر واقعه وقتي فايل ساخته شده بوجود ميايد ) حالا ما ميايم و يك اشاره گر ميسازيم كه اسمش يك اسم جديد باشه مثلا علي با ديتاي برابر با مسير فايل نقي و يك اينود جديد با خاصيت L و يا سافت لينك . اگر نقي رو از جدول قايل ها پا ككنيم ديتاي اون از بين نميره چون يك فايل ديگر تقي به همون ديتا داره اشاره ميكنه ( توي هارد لينك ها بايد ديتا ها وليد باشند و يا موجود ) اما سافت لينك علي كار نميكنه چون نميتونه نقي رو پيدا كنه تا به اينود اون برسه .
اگر هر دو فايلي كه داراي يك اينود هست پاك بشه از نر سيستم ادرس بلوك هاي كه ديتا هاي برنامه رو نگه ميداشت ازاده كه ديتا هاي جديد روش ريخته بشه و پاك شدس هر چند با برنامه هاي ميشه اين ديتا ها رو اگر اوررايت نشده باشن بازيابي كرد .
نقل قول: سافت لینک ها همون شرت کات ها توی ویندوز هستند ؟ یعنی به لحاظ ساختار کاملا مثل هم هستند ؟
نه دقيقا اما شبيه همون
نقل قول: اگر ما یه هارد لینک از یه فایل تهیه کرده باشیم ، اگر اصل فایل رو پاک کنیم ، آیا هارد لینک هنوز میتونه فایل رو نمایش بده ؟ یعنی اینکه وقتی ما یه فایل رو پاک می کنیم فقط مسیرش از توی map هارد پاک میشه و دیتا هنوز باقیست ؟ ( یه جای اون مقاله که گذاشتی همچین حرفی زده ... البته اگر درست فهمیده باشم )
- این inode ها و این جدول یا مپ که inode ها توش هستند رو چجوری میشه فهمید ؟ ( چی گفتم ... یعنی منظورم اینه که این جدول کجاست دقیقا ؟ آیا فقط مربوط به فایل سیستم ext3 هست یا اینکه یه همچین چیزی توی fat و ntfs هم داریم ؟ )
تقريبا جواب رو بالا گفتم . در مورد تقسقم بندي يك همچين چيز هايي مثل Fat داره اما توي كي فايل تگهداري ميشه ( اگر درست يادم مونده باشه از قديم )
نقل قول: من موس رو بردم یکم صبر کردم فایل شروع به پخش شدن کرد من هم فایل رو دیلیت کردم ولی هنوز داشت می خوند چون برای بخش فقط اون آدرس inode رو نیاز داره که لحظه اول به دست آورد حالا پاک شدنش از جدول فایل ها مهم نیست
وقتي فايل بازه وقتي اون فايل پاك بشه و هيچ هارد لينكي نداشته باشه هم چون ايندش يا هندلش بازه تا زماني كه هندلش بازه سيستم عامل اون رو ازاد نميكنه ( مثل ويندوز با اين تفاوت كه تو ويندوز اسم فايل هم اجازه نميده پاك بشه اما اينجا ميده )

اميدوارم كمك كنه
به اميد ديدار
آقا سعید و آقا هادی تشکر زیاد ... خیلی ممنون ... روشنم کردید ...