inode چیست؟

INODE (یا گاهی “آی‌نود”) یک مفهوم در سیستم فایل‌های مبتنی بر یونیکس و لینوکس است. این ساختار داده اطلاعات مهمی را درباره‌ی یک فایل یا دایرکتوری ذخیره می‌کند. هر فایل یا دایرکتوری در سیستم فایل یک INODE دارد.

 

فایل سیستم لینوکس

همان‌طور که از نامش پیداست، یک فایل سیستم شامل ساختاری است که در آن فایل‌ها ذخیره می‌شوند. ممکن است فضای دیسک شما پر نباشد، اما تعداد INODEهایتان به اتمام برسد. هاست لینوکس هم به همین صورت است و اگر فضا پر نباشد ولی inode به اتمام برسد ممکن است با خطای آپلود یا دیگر خطاها مواجه شوید و نتوانید فایلهای خود را آپلود یا ویرایش کنید.


INODE چیست؟

INODE مخفف عبارت “Index Node” است. این یک ساختار داده در فایل سیستم‌های شبیه یونیکس است که تمام اطلاعات یک فایل در فایل سیستم را ذخیره می‌کند. تمام جزئیات به‌جز نام فایل در INODE ذخیره می‌شود.

اطلاعاتی که در INODE ذخیره می‌شوند عبارت‌اند از:

  • مالک فایل
  • گروهی که مالک فایل به آن تعلق دارد
  • تاریخ ایجاد
  • اندازه فایل
  • تعداد لینک‌ها
  • نوع فایل
  • مجوزهای دسترسی
  • تاریخ آخرین دسترسی
  • تاریخ آخرین تغییرات
  • و سایر اطلاعات

در سیستم‌عامل‌های یونیکس، چون هر فرآیند به‌عنوان یک فایل در نظر گرفته می‌شود، هر INODE نمایانگر یک فایل است. هر فایل یک INODE دارد. دایرکتوری‌ها، فایل‌ها، دستگاه‌ها، فرآیندها و غیره، همه به‌عنوان فایل در نظر گرفته می‌شوند.


نکات مهم درباره INODE

هر INODE یک شماره یکتا در داخل فایل سیستم دارد. اگر فضای INODE فایل سیستم شما پر شود، دیگر نمی‌توانید فایل جدیدی ایجاد کنید، که این موضوع ممکن است باعث اختلال در عملکرد سیستم‌عامل شود. اگر با این مشکل مواجه شدید و INODEهای شما کاملاً به اتمام رسیده‌اند، می‌توانید با حذف فایل‌های غیرضروری فضا آزاد کنید.


مشاهده شماره INODE فایل

برای مشاهده شماره INODE فایل‌ها، می‌توانید از ابزارهای موجود در لینوکس استفاده کنید. همچنین می‌توانید میزان استفاده از INODE فایل سیستم را بررسی کنید و اطلاعات بیشتری در این باره کسب کنید.

inode
inode سیستم فایل لینوکس

 

 

اطلاعات ذخیره‌شده در INODE

INODE شامل اطلاعاتی از قبیل:

  1. شماره INODE (شماره یکتا برای هر فایل در سیستم فایل).
  2. نوع فایل (عادی، دایرکتوری، سیملینک و غیره).
  3. مالک فایل (UID یا شناسه کاربر).
  4. گروه فایل (GID یا شناسه گروه).
  5. مجوزهای دسترسی (خواندن، نوشتن، اجرا).
  6. تعداد لینک‌ها (تعداد لینک‌های سخت که به فایل اشاره می‌کنند).
  7. اندازه فایل (بر حسب بایت).
  8. زمان‌های مرتبط:
    • زمان آخرین دسترسی (Access Time).
    • زمان آخرین تغییر محتوا (Modify Time).
    • زمان آخرین تغییر INODE (Change Time).
  9. اشاره‌گر به بلاک‌های داده: آدرس فیزیکی یا منطقی بلاک‌های دیسک که داده‌های فایل در آن ذخیره شده است.

چه چیزی در INODE ذخیره نمی‌شود؟

  • نام فایل: نام فایل در ساختار جداگانه‌ای (دایرکتوری) ذخیره می‌شود که INODE مرتبط با آن را نشان می‌دهد.

نحوه کارکرد

زمانی که شما به یک فایل دسترسی پیدا می‌کنید:

  1. سیستم ابتدا از دایرکتوری مربوطه، نام فایل را به شماره INODE تبدیل می‌کند.
  2. سپس از INODE برای پیدا کردن داده‌های فایل روی دیسک استفاده می‌شود.

اهمیت INODE

  1. مدیریت فضای دیسک: تعداد INODEها در سیستم فایل محدود است، و اگر INODEها تمام شوند، حتی اگر فضای دیسک خالی باشد، نمی‌توانید فایل جدیدی ایجاد کنید.
  2. عملکرد سیستم فایل: دسترسی سریع به اطلاعات فایل‌ها و دایرکتوری‌ها را امکان‌پذیر می‌کند.

برای مشاهده INODEها در لینوکس، می‌توانید از دستورات زیر استفاده کنید:

  • ls -i: نمایش شماره INODE فایل‌ها.
  • df -i: نمایش تعداد INODEهای استفاده‌شده و باقی‌مانده در سیستم فایل.

 

برای مشاهده تعداد inode هر پوشه میتوانید این آموزش را ببینید: https://blog.talahost.com/?p=393

همچنین اگر قصد حذف فایلی را دارید که حاوی کاراکترهای خاص است و بصورت عادی قابل حذف نیست با داشتن شماره inode میتوانید آنرا حذف کنید. آموزش: https://blog.talahost.com/?p=750

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

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