ساختار دایرکتوری های لینوکس کمی متفاوت از ساختار ویندوزی است که برای همه آشناست. در این مطلب قصد داریم از سری مباحث آموزش لینوکس به توضیح هر یک از دایرکتوری های لینوکس پرداخته تا بیش از پیش با آن آشنا شوید.
نکته : یکی از مهمترین مواردی که در هنگام کار با لینوکس باید بدانید ساختار دایرکتوری ها و دلیل وجود آنهاست.
ساختار دایرکتوری ها در ویندوز برای همه آشناست و میتوان گفت ساختار ساده آن باعث شده تا امروزه همه افراد با ویندوز به سادگی کار کنند.
در ویندوز هر درایو با حرف انگلیسی نمایش داده شده و درایوی که ویندوز بر روی آن نصب است دارای چند پوشه مشخص است که درک و فهمیدن کارایی آنها کار بسیار آسانی است.
به طور مثال همه میدانند دایرکتوری Windows ، فایلهای اصلی ویندوز را در بر میگیرد؛ و یا دایرکتوری Program files حاوی فایلهای نصب شده نرم افزارهای جانبی است.
اما در نگاه اول ساختار لینوکس کمی پیچیده و گیج کننده به نظر میرسد اما با کمی تعمل و صبر در پایان این مطلب متوجه خواهید شد که ساختار دایرکتوری های لینوکس سادهتر از آن چیزی است که فکر میکنید.
با ما همراه باشید.
معمولا توزیعهای لینوکسی از یک ساختار استاندارد با نام FHS استفاده میکنند و در برخی موارد همین ساختار با کم شدن برخی دایرکتوریها ، LFS لینوکس را تشکیل میدهند.
LFS یا Linux File Structures همان ساختار فایل یا دایرکتوری های لینوکس است
ساختار دایرکتوری های لینوکس
دایرکتوری روت
این دایرکتوری که به انگلیسی Root Directory خوانده میشود با علامت اختصاری / نمایش داده شده و تمامی دایرکتوریها و فایلهای لینوکس در این دایرکتوری قرار دارد. در یک تعریف ساده میتوان گفت / در لینوکس به معنای کلیه فضایی است که لینوکس در اختیار دارد.
دایرکتوری bin/
دایرکتوری bin/ شامل فایلهای باینری اصلی لینوکس از قبیل ابزارها و برنامههای پرکاربرد است که در لینوکس قرار دارند. به طور مثال ابزار مهم Bash Shell در این دایرکتوری قرار دارد.
دایرکتوری usr/
در این دایرکتوری فایلهای مرتبط با کاربر و برنامههای آن وجود دارد.
دایرکتوری sbin/
این دایرکتوری همانند دایرکتوری bin/ است با این تفاوت که در دایرکتوری sbin/ برنامهها و ابزارهای مهم و ضروری مدیریت سیستم قرار دارد.
دایرکتوری boot/
تمامی فایلهای مرتبط با هسته اصلی لینوکس و بوت لینوکس اعم از Grub Boot Loader در این شاخه وجود داشته و در هنگام بوت شدن لینوکس از این دایرکتوری فایلهای مورد نیاز فراخوانی میشوند.
دایرکتوری dev/
کلیه Device ها یا دستگاههای متصل به لینوکس در این شاخه وجود دارند ، این شاخه در اصل شامل فایل نبوده و هر نامی که در این دایرکتوری مشاهده میکنید در اصل یک دستگاه یا Device است.
به طور مثال اولین هارددیسک متصل به لینوکس شما با نام dev/sda/ نشان داده شده و اگر در نظر داشته باشید در پارتیشنبندی آن تغییراتی ایجاد کنید بایستی به دایرکتوری dev/sda/ بروید.
دایرکتوری cdrom/
دایرکتوری cdrom قبلاً در لینوکسها استفاده میشد و در حال حاضر در اکثریت لینوکسها این دایرکتوری وجود خارجی ندارد و دیگر در استاندارد FHS قرار نخواهد داشت.
اما همچنان برخی از لینوکسها این دایرکتوری را در بین دایرکتوری های خود قرار داده و در هنگام قرار گرفتن CD یا DVD فایلهای آن را نمایش میدهند.
امروزه شاخهای به نام media/ وجود دارد که در هنگام قرار دادن CD ، DVD و یا هر مدیای دیگری فایلهای آن را ، از طریق این دایرکتوری قابل دسترس است.
دایرکتوری etc/
این دایرکتوری که یکی پر مصرفترین دایرکتوریهای لینوکس است ، تمام تنظیمات و پیکربندیهای لینوکس در آن قرار دارد.
در این دایرکتوری میتوان فایلهای پیکربندی تمام بخشهای مهم لینوکس مانند: تنظیمات شبکه ، تنظیمات DNS ، تنظیمات hostname لینوکس ، تنظیمات و نوع بوت شدن لینوکس و … را مشاهده نمایید.
دایرکتوری home/
در این دایرکتوری تمامی فایلهای مربوط به کاربران لینوکس قرار دارد. به طور کلی اگر کاربری با نام AzarAdmin داشته باشید ، مطمئناً یک دایرکتوری با همین نام در شاخه home/ ساخته شده و تمامی فایلهای مربوط به کاربر AzarAdmin در آن قرار خواهد گرفت.
دایرکتوری lib/
این دایرکتوری شامل کتابخانههایی است که ابزارها و برنامههای موجود در دو دایرکتوری bin/ و sbin/ به آنها نیازمند هستند و هرگاه به آنها نیاز پیدا کنند از دایرکتوری lib/ فایل کتابخانهای مورد نظر را فراخوانی خواهند کرد.
دایرکتوری media/
این دایرکتوری که جایگزین دایرکتوری cdrom/ در استاندارد FHS شده است تمامی مدیا متصل شده مانند CD ، DVD ، USB Flash و … را در خود نمایش داده و با mount کردن آن میتوانید از فایلها استفاده کنید.
دایرکتوری lost+found/
این دایرکتوری یک شاخه اصلی از فایل سیستمهای لینوکس نیست و ممکن است این دایرکتوری را داخل سایر دایرکتوریها مشاهده کنید.
در کل همانطور که از نام آن مشخص است تمامی فایلهایی که به هر دلیل در هنگام کار کردن لینوکس فایلی دچار مشکل شود در بوت بعدی ، لینوکس به صورت خودکار این فایل را در این دایرکتوری قرار داده تا کاربر بتواند بسادگی آن را ریکاروی نماید.
دایرکتوری opt/
این دایرکتوری شامل زیر شاخههای از سایر برنامههایی است که بر روی لینوکس نصب شدهاند و در مجموع اگر برنامهای را نصب کنید که استاندارد FHS را رعایت نکند ، در زیر شاخه Application در دایرکتوری opt/ فایلهایش را کپی مینماید.
دایرکتوری mnt/
این داریکتوری برای mount کردن موقت فایل سیستم متفاوت به لینوکس استفاده میشود ، به طور مثال پس از Mount کردن یک پارتیشن ویندوزی ، شما اطلاعات را در این دایرکتوری خواهید دید.
دایرکتوری proc/
این دایرکتوری شامل فایلهایی مانند دایرکتوری dev/ است که در اصل یک فایل استاندارد نیستند ؛ در این دایرکتوری تمامی پروسسهای فعال لینوکس و فایلهای بخصوصی در زمینه سیستم عامل لینوکس میباشد.
دایرکتوری root/
این دایرکتوری همانند یک زیر شاخه در دایرکتوری home است که برای کاربران ساخته میشود ، اما با این تفاوت که این دایرکتوری مختص یوزر root بوده و کسی غیر از خود یوزر root به آن دسترسی ندارد.
دایرکتوری run/
این دایرکتوری یکی از جدیدترین دایرکتوریهای اضافه شده به استاندارد FHS است که در آن فایلهای موقت Socket ها و Process ID ها ذخیره میشود.
دایرکتوری selinux/
این دایرکتوری همانند دایرکتوری proc/ شامل برخی فایلهای اجرایی پروسسها میباشد با این تفاوت که از امنیت بالایی برخوردار بوده و لینوکسهایی که از Selinux استفاده میکنند این دایرکتوری را به دایرکتوریهای دیگر خود اضافه میکنند.
در این بین میتوان به لینوکس RedHat و CentOS برای استفاده از این دایرکتوری اشاره نمود.
دایرکتوری srv/
این دایرکتوری مختص فایلهایی است که شامل یک سرویس در لینوکس میباشد. به طور مثال پس از راه اندازی وب سرور Apache فایلهای مرتبط با آن و سایت مورد نظر در این دایرکتوری قرار خواهد گرفت.
دایرکتوری tmp/
لینوکس برای باز کردن موقت فایلها و استفاده از آنها از این دایرکتوری استفاده خواهد کرد که پس از هر ریست تمامی آنها پاک خواهد شد.
این دایرکتوری تقریباً همانند پوشه temp ویندوز عمل میکند.
دایرکتوری usr/
این دایرکتوری شامل برخی از فایلها و برنامههای غیر ضروری است که در داخل آن زیر شاخه هایی مانند sbin و یا lib وجود دارد که میتوان گفت مقیاس کوچک شده دایرکتوریهای اصلی است که فایلهای باینری غیر ضروری در آن قرار میگیرد.
دایرکتوری var/
این دایرکتوری به صورت پیش فرض به صورت فقط خواندنی یا همان Readonly بوده و در مجموع همتای نوشتاری دایرکتوری usr/ میباشد.
در این دایرکتوری فایلهای گزارشی ( log file ) و … ذخیره میگردد.
در اینجا معرفی ساختار دایرکتوری های لینوکس به پایان رسیده است و میتوان گفت شما توانایی شناسایی و کاربرد تمام دایرکتوری های لینوکس را خواهید داشت.
در تصویر زیر شما چارتی از نحوه قرار گیری ساختار دایرکتوری های لینوکس خواهید دید.
Wednesday, February 10, 2021