لینوکس

inode در لینوکس چیست؟ بررسی مفهوم inode در Linux

inode در لینوکس چیست؟

inode یا همان Index Node یک ساختار داده (Data Structure) در فایل سیستم Unix-style است که یک شی فایل سیستم را مانند یک فایل یا یک دایرکتوری را توصیف می کند. هر inode ویژگی ها و مکان های بلوک دیسک داده های object را ذخیره می کند. در این مقاله شما را با این مفهوم در لینوکس بیشتر آشنا خواهیم کرد، همراه داتیس نتورک باشید.

inode در لینوکس چیست؟

inode در لینوکس چیست؟

Index Node یک ساختار داده (Data Structure) در فایل سیستم Unix-style است که یک شی فایل سیستم را مانند یک فایل یا یک دایرکتوری را توصیف می کند. هر inode ویژگی ها و مکان های بلوک دیسک داده های object را ذخیره می کند.

در یونیکس ها همه چیز فایل است حتی دایرکتوری ها و دیوایس های سخت افزاری مانند هارد دیسک ها و ماوس و کی بورد.

از دستور ls برای تعیین نوع یک فایل استفاده می شود که در خروجی آن علامت – نشان دهنده یک فایل معمولی مانند فایل های متنی و d نشان دهنده دایرکتوری و c نشان دهنده دیوایس های کاراکتری مانند کی بورد و b نشان دهنده دیوایس های بلاکی مانند هارد ها و l نشان دهنده لینک ها هستند.

فایل ها دارای نامی هستند و درون دایرکتوری ها قرار دارند و خود دایرکتوری ها هم درون دایرکتوری های دیگری قرار دارند. ما برای دسترسی به یک فایل آنرا درون یک دایرکتوری با نامی ذخیره می کنیم ولی خود سیستم عامل برای دسترسی به یک فایل یا دایرکتوری از یک ساختار به نام index node استفاده می کند.

هر فایل یا دایرکتوری دارای شماره ای است که به آن Index Node یا inode number می گویند و خود ionde ها در جدولی به نام inode table ذخیره می شوند.

اطلاعاتی که از هر فایل در ساختار Index Node مربوط به آن فایل ذخیره می شوند :

  • اشاره گری به آدرس محل فیزیکی ذخیره فایل
  • مالک فایل و گروه فایل
  • قوانین دسترسی به فایل
  • اندازه فایل
  • زمان اخرین دسترسی به فایل
  • زمان آخرین تغییر در فایل
  • زمان اخرین تغییر در inode فایل

در اصل در سیستم فایل خود فایل با inode مربوطش شناخته می شود و اگر ساختار inode خراب شود دیگر نمی توان به فایل دسترسی داشت چون سیستم عامل کاری به نام فایل ندارد و از روی شماره inode به ساختار inode فایل دسترسی پیدا می کند.

چیزی که در Index Node مربوط به هر فایل ذخیره نمی شود نام فایل است.

نام فایل بجای ذخیره در ساختار Index Node فایل در ساختار inode مربوط به دایرکتوری که فایل در آن ذخیره شده است ذخیره می شود.

هر پارتیشن در GNU/Linux برای خودش دارای یک فایل سیستم است.

در یک فایل سیستم هر فایل با استفاده از یک Index Node نمایش داده می شود.

inode در واقع مخفف کلمه های index node است.

Index Node ها ساختارهای داده ای هستند که شامل اطلاعاتی در خصوص فایل هایی هستند که توسط فایل سیستم ایجاد می شود.

یعنی با به وجود آمدن هر فایل توسط یک فایل سیستم در کنار فایل Index Node ای به وجود می آید که اطلاعات metadata یا تکمیلی در خصوص فایل را به ما نمایش می دهد.

هر فایل در واقع با همین Index Node شناخته می شود که در کنار آن قرار گرفته است و یک شماره نیز در کنار هر inode قرار گرفته است که به inode number معروف است.

بنابراین هر فایل دارای یک Index Node است ، هر inode دارای یک شماره است که توسط فایل سیستم برای آن در نظر گرفته می شود و تعیین کننده محل قرارگیری فایل است.

هر پارتیشن برای خودش یک سری از inode های خود را دارد.

هر کدام از Index Node ها برای خودشان یک ساختار داده بر روی دیسک را تشریح می کنند.

یک inode می تواند اطلاعاتی از قبیل محل فیزیکی قرارگیری فایل داده را در خود نگهداری کند.

زمانیکه هارد دیسک شروع به کار می کند یک تعداد ثابت inode برای هر پارتیشن آن ایجاد می شود.

این تعداد Index Node در واقع تعیین کننده حداکثر تعداد فایل ها از هر نوع ( دایرکتوری ها ، فایل های خاص ، لینک ها و … ) که می تواند بر روی پارتیشن در لحظه وجود داشته باشد است.

برای نمایش عدد inode هر فایل یا دایرکتوری می توان از یکی از دستور های زیر استفاده کرد.

ls -ali FILE_NAME

در خروجی دستور بالا اولین عدد هر خط Index Node مربوط به همان عدد است.

امیدواریم مقاله آشنایی با Index Node در لینوکس مفید بوده باشد.

داتیس نتورک را در شبکه های اجتماعی دنبال کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *