ساختار دایرکتوری لینوکس

ساختار دایرکتوری لینوکس

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

در لینوکس، دیگر از درایو C و کلا درایوهای هارددیسک خبری نیست و علامت/ جایگزین آنها شده است و دایرکتوری های موجود در این فولدر، همگی حروفی رمزآلود و سه یا چهار حرفی دارند.

استاندارد ساختار سیستم فایل سلسله مراتبی لینوکس، (FHS) در سیستم های عامل لینوکسی و یونیکسی ساختار سیستم فایل را مشخص می کند. این سیستم فایل ها شامل دایرکتوری هایی است که به طور پیش فرض فعال نیست.

دایرکتوری root (/)

همه چیز در سیستم لینوکس تحت دایرکتوری/ قرار دارد. نام این دایرکتوری root یا ریشه است. دایرکتوری روت شبیه به C: در ویندوز است، اما به یاد داشته باشید که دقیقا این گونه نیست و فقط مثالی است برای درک راحت تر این موضوع.

در ویندوز پارتیشن های دیگر در درایوهای بعدی به نام های مثلا D: و… قرار دارد، اما این درایوها در لینوکس درون همان مسیر روت قرار می گیرد.

bin/ – دایرکتوری الزامی برای کاربر

دایرکتوری bin/ شامل برنامه های (باینری ها) مخصوص کاربر است که هنگام اجرای سیستم در حالت تک کاربر باید فعال و حاضر باشد.

نرم افزارهایی چون فایرفاکس در usr/bin/ نصب می شود، در حالی که برنامه های مهم سیستمی همچون Bash و امثال آن در دایرکتوری bin/ قرار می گیرد.

دایرکتوری usr/ را معمولا در پارتیشن دیگری قرار می دهد، فایل های موجود در bin/ برای سیستم مهم است؛ چرا که این دایرکتوری برای کارکرد صحیح سیستم نقش اساسی بازی می کند.

دایرکتوری sbin/ نیز عملکرد مشابهی دارد و باینری های مدیریتی سیستم در آن قرار می گیرد.

boot/ – دایرکتوری فایل های بوت استاتیک

دایرکتوری boot​/شامل فایل هایی است که برای بوت سیستم الزامی است. برای مثال فایل های GRUB در این دایرکتوری قرار می گیرد.

همچنین هسته لینوکس در این دایرکتوری قرار دارد. فایل های پیکربندی و تنظیمات بوت لودر در این دایرکتوری نیست و در etc/ قرار دارد.

cdrom/ – مانت پوینت تاریخی سی دی ها

دایرکتوری cdrom/ دیگر بخشی از استاندارد FHS نیست، اما هنوز در اوبونتو و دیگر سیستم های عامل استفاده می شود.

این دایرکتوری محلی موقت برای دسترسی به سی دی رام است. هر چند محل استاندارد آن، دایرکتوری دیگری با نام media/ است.

dev/ – فایل های دستگاه ها

لینوکس با دستگاه ها نیز همانند فایل ها برخورد می کند و دایرکتوری dev/ شامل تعدادی از فایل های مخصوص می شود که همگی نماینده دستگاه خود هستند. البته اینها فایل های حقیقی نیست و تنها به شکل فایل نشان داده می شود.

مثلا dev/sda/ نمایانگر نخستین درایو ساتا در سیستم است. اگر بخواهیم این درایو را پارتیشن بندی کنیم، باید به کمک یک ویرایشگر مسیر dev/sda/ را پارتیشن بندی کنیم.

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

برای مثال dev/random/ عددی رندوم تولید می کند. dev/null/ دستگاه مخصوصی است که هیچ خروجی تولید نمی کند و به طور خودکار تمام ورودی ها را نادیده می گیرد. در واقع وقتی خروجی یک دستور را به دستگاه dev/null/ می فرستید، در حقیقت آن را نادیده می گیرید.

etc/ – فایل های تنظیمات

این دایرکتوری شامل فایل های پیکربندی است و می تواند توسط ویرایشگرهای متن و واژه پردازهای سیستم ویرایش شود. باید توجه داشت که دایرکتوری etc/ شامل فایل های تنظیمات تمام سیستم است.

فایل های تنظیماتی که به هر کاربر مربوط می شود و مخصوص خود کاربر است در دایرکتوری home هر کاربر وجود دارد.

home/ ـ دایرکتوری کاربران

این دایرکتوری برای هر کاربر ساخته می شود. برای مثال اگر نام کاربری شما ali باشد، مسیری به نام home/ali/ تولید می شود. این فولدر شامل داده های هر کاربر و تنظیمات مرتبط با شناسه او خواهد بود.

همچنین کاربران ابتدای امر تنها می توانند درون دایرکتوری home خود فایل ایجاد کرده و دسترسی نوشتن داشته باشند. برای ویرایش دیگر بخش های سیستم، کاربران عادی باید از ادمین سیستم اجازه بگیرند.

lib/ – دایرکتوری کتابخانه های مشترک

دایرکتوری lib/ شامل کتابخانه هایی است که باینری های اساسی سیستم که در bin/ و sbin/ اجرا می شود به آن نیاز دارد. این کتابخانه ها همچنین توسط باینری های موجود در usr/bin/ نیز استفاده می شود.

lost+found/ – دایرکتوری فایل های ریکاوری شده

هر سیستم فایل لینوکس یک دایرکتوری lost+found دارد. اگر سیستم فایل به هر دلیلی خراب شود، در بوت بعدی سیستم فایل از اول چک می شود. فایل های خراب شده و یافته شده در این عملیات در این دایرکتوری قرار می گیرد تا بتوان بیشتر فایل ها را ریکاوری کرد.

media/ – دستگاه های جانبی

دایرکتوری media/ شامل زیرشاخه هایی است که در آن دستگاه های وصل شده به سیستم نشان داده می شود. منظور از این دستگاه ها، دستگاه های حافظه است.

از این رو هاردهای اکسترنال، فلش درایوها، ام پی تری پلیرها و… در این شاخه قرار می گیرد. همچنین در سیستم فایل استاندارد FHS، سی دی رام نیز در این فولدر قرار دارد.

mnt/ ـ نقاط اتصال موقت

از قدیم عرف بود که مدیرهای سیستم از دایرکتوری mnt (که مخفف عبارت mount) است، برای مانت کردن درایوهایی با سیستم فایل غیر از لینوکس استفاده کنند.

مثلا اگر پارتیشن ویندوزی را مانت می کردند، آن را به mnt/windows/ وصل می کردند. هر چند می توان هر فایل سیستمی را در هر نقطه از سیستم قرار داد.

opt/ – پکیج های اختیاری

دایرکتوری opt/ (مخفف Optional) شامل زیردایرکتوری هایی می شود که پکیج های اختیاری نرم افزاری در آن قرار می گیرد. این دایرکتوری معمولا توسط نرم افزارهای تجاری که از ساختار استاندارد لینوکسی پیروی نمی کند در این دایرکتوری قرار می گیرد.

proc/ – فایل های کرنل و پروسس ها

دایرکتوری proc/ همانند دایرکتوری dev/ است و شامل فایل های استاندارد نیست. این فایل های مخصوص اطلاعات سیستم و پروسس ها را نشان می دهد.

root/ – دایرکتوری مخصوص شناسه root

دایرکتوری root/ در واقع دایرکتوری home/ است، اما برای شناسه root. این دایرکتوری مستقیما از/ ریشه گرفته است و در پارتیشن اصلی سیستم قرار می گیرد، در حالی که می توان دایرکتوری home/ را به پارتیشن ها و دیسک های دیگر نسبت داد.

run/ – دایرکتوری وضعیت نرم افزارها

دایرکتوری run/ نسبتا جدید است و جای استانداردی به نرم افزارها می دهد که فایل های موقت هنگام اجرا از جمله سوکت ها و شناسه پروسس ها را در آنجا قرار دهد. این فایل ها در tmp/ قرار نمی گیرد؛ چرا که tmp/ می تواند پاک شود.

sbin/ – باینری های مدیریتی سیستم

دایرکتوری sbin/ مشابه دایرکتوری bin/ است. این دایرکتوری شامل باینری های اساسی سیستم است که توسط شناسه root و برای مقاصد مدیریتی می تواند اجرا شود.

selinux/ – سیستم فایل مجازی SELinux

اگر توزیع شما از SElinux برای امنیت سیستم استفاده می کند (فدورا و رد هت دو مثال است که از selinux استفاده می کند).

این دایرکتوری در آنها وجود دارد و شامل فایل هایی است که توسط SElinux استفاده می شود. این دایرکتوری مشابه proc/ است. اوبونتو از SELinux استفاده نمی کند و حضور این فولدر در اوبونتو باگ است.

srv/ – داده های سرویس

این دایرکتوری داده هایی را در بر می گیرد که سرویس ها در اختیار سیستم قرار می دهد. اگر از Apache HTTP Server برای میزبانی یک وب سایت استفاده کنید، فایل های وب سایت خود را در این فولدر قرار خواهید داد.

tmp/ – فایل های موقت

نرم افزارها فایل های موقت را در این دایرکتوری ذخیره می کند. این فایل ها وقتی سیستم ریست می شود، حذف شده و می تواند توسط نرم افزارهایی مثل tmpwatch نیز حذف شود. بنابراین این محل برای ذخیره سازی فایل ها مناسب نیست.

usr/ – باینری های کاربر

در این دایرکتوری نرم افزارها و فایل های مورد استفاده کاربران، قرار می گیرد. برای مثال نرم افزارهای غیراساسی همچون فایرفاکس در این دایرکتوری قرار گرفته و در bin/ ذخیره نمی شود.

کتابخانه های مورد نیاز این نرم افزارها نیز در دایرکتوری usr/lib/ قرار می گیرد. دایرکتوری usr/ همچنین دایرکتوری های دیگری درون خود دارد که به همین منظور به کار می رود؛ همانند usr/share/.

دایرکتوری usr/local/ شامل نرم افزارهای کامپایل شده لوکال است که به طور پیش فرض در این دایرکتوری می رود. این دایرکتوری باعث می شود نرم افزارهای کامپایل شده درون سیستم پخش نشود.

var/ – دایرکتوری فایل های داده ای متغیر

دایرکتوری var/ دایرکتوری قابل نوشتنی است که در مقابل با usr/ قرار می گیرد. دایرکتوری usr/ در شرایط عادی فقط خواندنی است.

فایل های گزارش (log) و چیزهای دیگر که به صورت عادی در usr/ قرار می گیرد، به دایرکتوری var/ می رود. برای مثال فایل های گزارش را می توان در دایرکتوری var/log/ مشاهده کرد.


آخرین مقالات آفتاب

نظرتان را در مورد مطلب فوق بنویسید. نشانی ایمیل شما منتشر نخواهد شد.