محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

بررسی انواع فایل سیستم (File System) در لینوکس

سیستم عامل لینوکس برای ذخیره فایل ها از چندین فایل سیستم (File System) استفاده می کنید. در این مطلب به بررسی انواع فایل سیستم (File System) در لینوکس خواهیم پرداخت. در GNU/Linux همه چیز در قالب فایل دیده می شود. یک فایل ممکن است مجموعه ای از داده ها یا رشته ای از کاراکترها باشد که به عنوان بایت هم شناخته می شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

هر فایل در سیستم عامل GNU/Linux می تواند شامل متن یا کد داده Code Data باشد. فایل های متنی توسط کاربران قابل خواندن هستند و فایل های باینری یا همان code data فقط توسط سیستم عامل قابل اجرا هستند که ما در اصطلاح به آنها فایل های اجرایی می گوییم. البته فایل های اجرایی انواع و اقسام دارند ، برای مثل یک فایل عکس هم یک فایل اجرایی در سیستم عامل لینوکس در نظر گرفته می شود.

انواع فایل در GNU/Linux

  1. فایل های معمولی یا Ordinary Files : در این فایل ها یا متن بصورت Text وجود دارد و یا کد داده یا Code Data برای اجرا
  2. فایل های فهرست یا راهنما Directories Files : فهرست ها فایل هایی هستند که لیست فایل های دیگر را نمایش می دهند ، هر فایل فهرست یا Directory می تواند به یک فایل یا یک زیر فهرست یا Subdirectory نیز اشاره کند
  3. فایل های خاص یا Special Files : از این فایل ها برای نمایش دستگاه ها یا سخت افزارها توسط سیستم استفاده می شود
  4. فایل های لینک یا Link Files : یک فایل لینک ، یک فایل خاص است که این امکان را فراهم می کند که یک فایل یا directory را بتوانیم در چند قسمت از File System استفاده کنیم

فایل سیستم یا File System چیست؟

در علم کامپیوتر واژه File System که بصورت Filesystem هم شناخته می شود به عنوان روشی برای کنترل کردن ذخیره سازی داده ها و بازیافت آن استفاده می شود. بدون File System زمانیکه شما یک فایل را درون فضای ذخیره سازی خود قرار می دهید ، مشخص نیست که این فایل چقدر ظرفیت دارد ، از کجا شروع شده است و کجا تمام می شود و تقریبا همه چیز در قالب یک فایل دیده می شود.

با استفاده از تقسیم کردن داده ها به قطعات مجزای کوچک و قرار دادن یک اسم برای هر کدام از این قسمت ها ، هر گروه از این داده ها به عنوان یک فایل در نظر گرفته می شود ، در واقع فایل مجموعه ای از داده ها است که بصورت گروه بندی شده توسط فایل سیستم کنار هم قرار گرفته اند.

به قوانین ساختاری و منطقی که برای مدیریت این گروه های داده ای و اطلاعات آنها وضع شده است و این ساختار را مدیریت می کند در اصطلاح File System گفته می شود.فایل سیستم ها در انواع و اقسام متنوعی وجود دارند. هر کدام از آنها ساختار و منطق متفاوتی برای مدیریت گروه های داده دارند .

بیشترین تفاوت بین انواع فایل سیستم در ساختار و منطق ذخیره سازی ، سرعت عملکرد ، انعطاف پذیری ، امنیت ، اندازه و ... می باشد. برخی از فایل سیستم ها فقط برای استفاده نرم افزارهای خاصی طراحی شده اند ، برای مثال ISO 9660 فایل سیستمی است که بصورت ویژه برای دیسک های نوری طراحی شده است.

File System را شما می توانید در انواع و اقسام دستگاه های ذخیره سازی اطلاعات استفاده کنید. هر دستگاه ذخیره سازی اطلاعات برای خودش دارای یک نوع رسانه ذخیره سازی متفاوت است. بیشترین رسانه ذخیره سازی اطلاعاتی که امروزه استفاده می شود دستگاه های ذخیره سازی هستند که از دیسک های سخت یا Hard Disk با غشاء مغناطیسی استفاده می کنند.

سایر رسانه هایی که برای ذخیره سازی داده استفاده می شوند نوارها ، دیسک های نوری و حافظه های فلش یا SSD هستند که امروزه بیشتر استفاده می شوند. در برخی اوقات حتی حافظه RAM سیستم نیز یک فایل سیستم موقتی برای استفاده موقت ایجاد می کند که البته کمتر مورد استفاده قرار می گیرد.

برخی از فایل سیستم ها هستند که بصورت Local استفاده می شوند و در دستگاه های ذخیره سازی اطلاعاتی استفاده می شوند که بر روی سیستم شما نصب شده اند. اما برخی دیگر از انواع فایل سیستم وجود دارد که تحت شبکه کار می کنند و از طریق یک پروتکل تحت شبکه قابل استفاده هستند .

برای مثال فایل سیستم هایی مثل NFS و SMB از این نوع فایل سیستم ها یا پروتکل های فایل تحت شبکه به حساب می آیند. برخی از فایل سیستم ها نیز بصورت مجازی هستند یعنی virtual file system هستند ، این نوع فایل سیستم ها بر اساس یک درخواست معمولا ایجاد می شوند و بلافاصله به یک فایل سیستم دیگر ارجاع داده می شوند ، در واقع در چنین فایل سیستم هایی یک فایل سیستم شناخته شده اصلی وجود دارد که همیشه به آن ارجاع داده می شود. در دوره آموزش لینوکس اسنشیالز و در قسمت فایل سیستم ها به بررسی انواع فایل سیستم لینوکسی هم می پردازیم.

فایل سیستم وظیفه مدیریت دسترسی به محتویات فایل ها و داده های جانبی یا Metadata ای که در خصوص آن فایل وجود دارند را نیز بر عهده دارد. فایل سیستم موظف است فضای ذخیره سازی را مرتب سازی و چیدمان کند ، قابل اعتماد بودن ، کارآمدی و میزان سازی از دیگر وظایف مهم فایل سیستم است که همگی در طراحی یک فایل سیستم در نظر گرفته می شوند.

معرفی انواع File System در GNU/Linux

فایل سیستم های بسیار زیادی وجود دارند که نمی توانیم در انجمن تخصصی فناوری اطلاعات ایران به بررسی همگی آنها بپردازیم ، با توجه به اولویت این مقاله که در قسمت انجمن لینوکس و متن باز ارسال می شود ، ما مهمترین و معروفترین فایل سیستم های مورد استفاده در سیستم عامل لینوکس GNU را معرفی می کنیم، لازم به ذکر است که بیشتر فایل سیستم های مورد استفاده در سیستم عامل ویندوز در سیستم عامل لینوکس نیز قابل استفاده هستند اما عکس این مورد وجود ندارد ، به هر حال مهمترین فایل سیستم های شناخته شده به شرح زیر می باشند :

  1. minix : قدیمی ترین و البته مطمئن ترین فایل سیستم لینوکسی است اما امکانات محدودی ارائه می دهد

  2. ext : نسخه قدیمی تر فایل سیستم دیگری به نام ext2 است که از نسخه های جدیدتر این فایل سیستن پشتیبانی نمی کرد ، به ندرت از این فایل سیستم در سیستم عامل های جدید استفاده می شود و معمولا با ext2 جایگزین می شود.

  3. ext2 : یکی از پر امکانات ترین فایل سیستم های بومی لینوکس است اما قابلیت journaling را ندارد

  4. ext3 : این فایل سیستم علاوه بر اینکه تمامی قابلیت های ext2 را دارد ، قابلیت journaling را نیز دارد. قابلیت journaling این امکان را به فایل سیستم می دهد که بعد از بروز مشکل یا صدمات ناشی از خاموش شدن نادرست یا اشکالاتی از این قبیل ، فایل سیستم بتواند خود را تعمیر کند و دچار مشکل نشود. در journaling تمامی اتفاقاتی که رخ می دهد ثبت و ضبط می شوند و به محض بروز مشکل قابل تعمیر می باشند.

  5. reiserfs : یک فایل سیستم قابل اعتماد با قابلیت Journaling است.

  6.  jfs: یک فایل سیستم با قابلیت Journaling می باشد که بصورت ویژه توسط شرکت IBM برای محیط های کارایی بالا یا High Performance Environment طراحی شده است

  7. xfs : این فایل سیستم توسط شرکت Silicon Graphics برای فایل سیستم های 64 بیتی طراحی شده است. Xfs بصورت ویژه برای محیط های کارایی بالا یا High Performance طراحی شده است و برای کار کردن با فایل هایی با ظرفیت بالا و فایل سیستم های ظرفیت بالا مناسب است. علاوه بر این این فایل سیستم از چندین فایل سیستم خارجی نیز پشتیبانی می کند و باعث می شود تبادل فایل بین سیستم عامل های مختلف ساده تر انجام شود. برخی از این فایل سیستم های خارجی صرفا بر روی همان سیستم عامل قابل استفاده هستند برای مثال برخی از فایل سیستم ها که فقط بر روی محیط های Unix قابل استفاده هستند در xfs پشتیبانی می شوند.

  8. Msdos : این فایل سیستم در واقع سری فایل سیستم های FAT شرکت مایکروسافت برای محصولات خود می باشد

  9. vfat : یک نسخه از فایل سیستم FAT است که به عنوان FAT32 هم شناخته می شود. این فایل سیستم ظرفیت فایل بیشتری به نسبت FAT پشتیبانی می کند. بیشتر سیستم عامل های شرکت مایکروسافت از Vfat پشتیبانی می کنند ، در واقع vfat همان FAT32 ویندوز است.

  10. iso 9660 : این نوع فایل سیستم مخصوص CD-ROM و دیسک های نوری طراحی شده است و از اسامی فایل طولانی پشتیبانی می کند.

  11. NFS : این نوع فایل سیستم همانطور که از نامش هم پیداست یک فایل سیستم تحت شبکه یا Network File System است و این امکان را می دهد که کامپیوترهای زیادی از طریق شبکه بتوانند به سادگی به این فایل های شبکه ای دسترسی پیدا کنند.

  12. hpfs : این نوع فایل سیستم همانطور که از نامش هم پیداست High Performance File System است و در سیستم عام OS/2 استفاده می شود.

  13. ntfs: مخفف New Technology File System است و یک فایل سیستم با درجه امنیتی بالاتر به نسبت فایل سیستم قدیمی مایکروسافت یا همان Fat است. NTFS قابلیت Journaling را نیز پشتیبانی می کند. امیدوارم مورد توجه شما قرار گرفته باشد در صورتیکه نظر خاصی در خصوص این مطلب دارید خوشحال می شویم در ادامه مطرح کنید.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات