ساختار دایرکتوری های لینوکس و مسیر فایل های مهم سیستمی
استاندارد سلسله مراتب فایلسیستم یا به اختصار FHS نامیده میشود. نسخه ابتدایی این استاندارد در سال ۱۹۹۴۴ تنظیم شده بود و نسخه فعلی در سوم ژوئن ۲۰۱۵۵ منتشر شده است.
در استاندارد FHS، تمام فایلها و دایرکتوریهای روی یک سیستم با در یک دایرکتوری ریشه که با / نشان داده میشود نگهداری شوند. حتی اضافه کردن یک دیسک سخت افزاری جدید یا متصل کردن یک هارد اکسترنال یا ماونت کردن یک دیسک روی شبکه هم تنها باعث اختصاص یک دایرکتوری به آن میشود. این کار ممکن است به صورت خودکار یا دستی انجام شود ولی در نهایت برای دسترسی به هر سخت مکان ذخیره فایل، کاربر باید وارد یکی از دایرکتوریهایی شود که جایی در زیر دایرکتوری ریشه ساخته شده است.
پس دیدیم که در لینوکس (که فرزند خلف یونیکس و استانداردهایش است) همه چیز تحت دایرکتوری / که به آن دایرکتوری ریشه یا Root Directory می گوییم قرار دارد. بگذارید نگاهی به دایرکتوریهای درون آن بیندازیم
boot/ – دایرکتوری فایلهای بوت استاتیک
دایرکتوری boot?/شامل فایلهایی است که برای بوت سیستم الزامی است. برای مثال فایلهای GRUB در این دایرکتوری قرار میگیرد. همچنین هسته لینوکس در این دایرکتوری قرار دارد. فایلهای پیکربندی و تنظیمات بوتلودر در این دایرکتوری نیست و در etc/ قرار دارد.
cdrom/ – مانت پوینت تاریخی سیدیها
دایرکتوری cdrom/ دیگر بخشی از استاندارد FHS نیست، اما هنوز در اوبونتو و دیگر سیستمهای عامل استفاده میشود. این دایرکتوری محلی موقت برای دسترسی به سیدیرام است. هر چند محل استاندارد آن، دایرکتوری دیگری با نام media/ است.
dev/ – فایلهای دستگاهها
لینوکس با دستگاهها نیز همانند فایلها برخورد میکند و دایرکتوری dev/ شامل تعدادی از فایلهای مخصوص میشود که همگی نماینده دستگاه خود هستند. البته اینها فایلهای حقیقی نیست و تنها به شکل فایل نشان داده میشود.
مثلا dev/sda/ نمایانگر نخستین درایو ساتا در سیستم است. اگر بخواهیم این درایو را پارتیشنبندی کنیم، باید بهکمک یک ویرایشگر مسیر dev/sda/ را پارتیشنبندی کنیم.
این دایرکتوری همچنین شامل شبهدستگاهها نیز میشود. شبهدستگاهها مجازی هستند و در حقیقت به سختافزاری نگاشت نشدهاند. برای مثال dev/random/ عددی رندوم تولید میکند. dev/null/ دستگاه مخصوصی است که هیچ خروجی تولید نمیکند و بهطور خودکار تمام ورودیها را نادیده میگیرد. در واقع وقتی خروجی یک دستور را به دستگاه dev/null/ میفرستید، در حقیقت آن را نادیده میگیرید.
http://buy-host.in/%d8%af%db%8c%d8%aa%d8%a7%d8%b3%d9%86%d8%aa%d8%b1%da%af%d9%88%da%af%d9%84.html