مقدمه
فایل سیستم در هر سیستمعاملی نقش حیاتی در مدیریت دادهها و ذخیرهسازی اطلاعات ایفا میکند. لینوکس یک سیستم عامل فایل بیس هست یعنی همه چیز در لینوکس به صورت فایل میباشد، حتی پوشه ها یا دایرکتوری ها هم به صورت فایل در نظر گرفته می شوند، برای همین ساختار فایل سیستم در لینوکس بهگونهای طراحی شده است که نهتنها کاربرپسند باشد، بلکه امنیت و کارایی بالایی را نیز فراهم کند. در این مقاله به بررسی ساختار فایل سیستم لینوکس، اجزای کلیدی و ویژگیهای آن خواهیم پرداخت.
دایرکتوری در واقع حکم پوشه را در لینوکس دارد
اصول بنیادی ساختار فایل سیستم لینوکس
۱. درختی بودن ساختار
فایل سیستم لینوکس بر اساس یک ساختار درختی سازماندهی شده است. در این ساختار، تمام فایلها و دایرکتوریها از یک نقطهی شروع به نام ریشه (Root) تشکیل میشوند که با / نمادنمایش داده میشود.
۲. دایرکتوریها و فایلها
فایلها در لینوکس تحت دایرکتوریها قرار دارند و هر دایرکتوری میتواند شامل فایلها و دایرکتوریهای دیگر باشد. این ساختار به کاربران اجازه میدهد که بهراحتی دادههای خود را سازماندهی کنند.
دایرکتوریهای اصلی در ساختار فایل سیستم
لینوکس دارای های استانداردی است که هر کدام طبق وظایف خاصی دسته بندی شده اند. مهمترین این دایرکتوریها عبارتند از:
۱. دایرکتوری (/)
دایرکتوری root با علامت (/) مخشص می شود که بالاتری مرتبه را در ساختار دایرکتوری های لینوکس دارد و تمام دایرکتوریهای دیگر از آن منشعب میشوند.
۲. دایرکتوری /home
لینوکس یک سیستم عامل مالتی یوزر و مالتی تسک است یعنی چندین یوزر می توانند به صورت همزمان چندین کار مختلف را انجام دهند، که هر یوزری در home دایرکتوری خاص خود را دارد.
این دایرکتوری شامل شامل پوشهها و فایلهای شخصی کاربر هر کاربر است. هر کاربر یک زیر دایرکتوری درون /home دارد که میتواند فایلها و تنظیمات شخصی خود را در آن ذخیره کند.
۳. دایرکتوری /root
دایرکتوری کاربر اصلی یا root بر خلاف سایر کاربران در دایرکتور home قرار ندارد بلکه یک دایرکتری مجزا به نام root دارد.
توجه : دایرکتوری root (/) نباید با دایرکتوری کاربر root اشتباه گرفته شود.
۴. دایرکتوری /boot
شامل فایلهای لازم برای بوت شدن سیستم، از جمله هسته لینوکس و فایلهای پیکربندی Bootloader است.
۵. دایرکتوری /dev
تمام فایلهای deviceها یا سختافزاریی است که به سیستم متصل شده اند. این دایرکتوری به کاربران اجازه میدهد تا به سختافزارها دسترسی پیدا کنند، مانند: فایل های کارت شبکه، کارت صدا، وایرلس و .. .
۶. دایرکتوری /etc
حاوی فایلهای تنظیمات و پیکربندی سیستم و نرمافزارها و خدمات مختلف قرار دارد..
۷. دایرکتوری /bin
حاوی فایل های باینری یا اجرایی ضروری برای سیستم است که در زمان راهاندازی و در حالتهای عادی توسط همه کاربران در سیستم استفاده میشود، مانند: ls، pwd، cat، mkdir، cd، mv، cp، du، df، tar، rpm، wc، history …و
۸. دایرکتوری /sbin
حاوی فایلهای اجرایی، ابزارهای کمکی و دستورات سیستمی است که برای کاربر اصلی یا کاربری با امتیازات root زرو شده است. این دستورات عبارتند از: halt، reboot، mkfs، fsck ، fdisk ، halt، iptables ، ifconfig ، ip ، swapon و … .
۹. دایرکتوری /usr
برنامه ها ، کتابخانه ها ، مستندات و … مربوط به نرم افزارهای نصب شده توسط کاربران در این دایرکتوری قرار می گیرد.
۱۰. دایرکتوری /var
داده های مربوط به متغیرها مثل: فایل های لاگها، فایلهای کش و دادههای دیگر که در طول اجرای سیستم تغییر میکنند.
۱۱. دایرکتوری /lib
شامل Libraryهای ضروری برای برنامههای اجرایی و برخی از ابزاهای خط فرمانی.
۱۲. دایرکتوری /media
دایرکتوریهایی برای نصب یا mount کردن رسانه های جانبی جدا شونده از قبیل: فلاپی دیسک ، DVD و فایل های Zip دیسک می باشد.
۱۳. دایرکتوری /mnt
دایرکتوریهایی برای نصب یا mount کردن ابزارهای ذخیره سازی که معمولا تنها توسط مدیرسیستم یا روت استفاده می گردد.
۱۴. دایرکتوری /opt
محل نصب نرمافزارهای اضافی و بستههای نرمافزاری است که بهطور غیررسمی نصب میشوند و فایل های آنها به طور پیش فرض در system’s officialگنجانده نشدهاند،
۱۵. دایرکتوری/tmp
دایرکتوری tempoary برای ذخیرهسازی فایلهای موقتی که توسط برنامهها ایجاد میشوند. این فایلها معمولاً پس از راهاندازی مجدد سیستم حذف میشوند.
نکته: ممکن است بعضی توزیع های لینوکس دایرکتوری های دیگری هم داشته باشند؛ مثلا توزیع Centos یک دایرکتوری به نام opt دارد
سیستمهای فایل پشتیبانیشده
لینوکس از چندین نوع سیستم فایل پشتیبانی میکند که هر کدام ویژگیها و کاربردهای خاص خود را دارند:
۱. ext4
مدرنترین و رایجترین سیستم فایل در لینوکس است که عملکرد و امنیت بالایی دارد.
۲. XFS
سیستم فایلی با عملکرد بالا که برای سرورها و کاربردهای تجاری طراحی شده است.
۳. Btrfs
سیستم فایلی با قابلیتهای پیشرفته مثل snapshot و مدیریت حجمهای منطقی.
۴. FAT و NTFS
این سیستم فایلها معمولاً برای سازگاری با دستگاههای ویندوزی و USBها استفاده میشوند.
نتیجهگیری
ساختار فایل سیستم لینوکس و دایرکتوری ها بهگونهای طراحی شده است که به کاربران این امکان را میدهد تا بهراحتی اطلاعات خود را مدیریت کنند. با درک عمیق از این ساختار و دایرکتوریهای مختلف، کاربران میتوانند از قابلیتهای لینوکس به بهترین نحو استفاده کنند و امنیت و کارایی سیستم خود را بهبود بخشند. آشنایی با این مفاهیم برای هر کاربر لینوکس ضروری است و به تسهیل در مدیریت سیستم کمک میکند.