منبع اصلی نوشتار زیر در این لینک قرار دارد

ساختار سلسه مراتبی دایرکتوری ها در لینوکس

در این مطلب ساختار سلسله مراتبی دایرکتوری ها در سیستم عامل لینوکس گفته خواهد شد. هر کاربر و تمامی مدیران لینوکسی می بایست با این ساختار آشنایی داشته باشند. هر دایرکتوری به منظور خاصی ایجاد و استفاده می شود. دایرکتوری ها می توانند درون یک دایرکتوری دیگری قرار گیرند که “زیر دایرکتوری” گفته می شوند. در تمامی سیستم های عامل ساختار دایرکتوری ها شبیه به یک درخت وارونه است به طوری که ریشه یا root درخت در بالاترین سطح قرار دارد.

میان دایرکتوری و زیر دایرکتوری های درون آن یک رابطه والد و فرزندی وجود دارد که تمامی شاخه ها یا فزندان ریشه هستند و به همین خاطر است که در پیمایش سیستم فایل در سیستم عامل های شیه یونیکس، مسیر پیمایش همیشه به نماد / که معرف ریشه یا root است آغاز می شود.

cd /home/amirnami/files

در تمامی سیستم عامل های یونیکسی (مانند لینوکس)، تنها یک درخت از سلسله مراتب میان دایرکتوری ها، زیر دایرکتوری ها و فایل ها وجود دارد که ریشه آن دایرکتوری root است و با نماد / در پیمایش های سیستم فایل نشان داده می شود.

linux_directory_hierarchy

در ادامه اساسی ترین دایرکتوری ها در سیستم عامل لینوکس توضیح داده شده اند.

Root Directory یا دایرکتوری /

  • ریشه درخت سیستم فایل لینوکسی و سر آغاز تمامی مسیر های منتهی به یک دایرکتوری یا فایل در پیمایش سیستم فایل.
  • تنها کاربر root مجوز نوشتن بر روی این دایرکتوری را دارد. (مانند دستور زیر)
  • این دایرکتوری به عنوان دایرکتوری خانگی کاربر root نیست بلکه دایرکتوری root/ دایرکتوری خانگی کاربر root است.

mkdir /directory_under_root_directory

دایرکتوری bin/

  • شامل تمامی فایل های باینری قابل اجرا (فایل های باینری که مجوز x یا executable را دارند).
  • دستور های مورد نیاز برای حالت تک کاربره در این دایرکتوری قرار دارند. دستور های زیر این دایرکتوری تحت مالکیت کاربر و گروه کاربری root هستند اما تمامی کاربران قادر به اجرای آنها هستند. به طور مثال دستور free، touch یا pwd

دایرکتوری sbin/

  • همانند دایرکتوری بالا این دایرکتوری تیز شامل فایل های باینری (دستورهای) قابل اجرا است.
  • دستور های درون این دایرکتوری به منظور مدیریت سیستم به کار رفته و توسط مدیر یا مدیران سیستم استفاده می شوند. مانند دستور های fdisk, mkfs

دایرکتوری root/

  • این دایرکتوری، دایرکتوری خانگی کاربر root است.

دایرکتوری home/

  • دیگر کاربران در زیر دایرکتوری home/ یک دایرکتوری همنام با نام کاربری خود دارند.

داریرکتوری etc/

  • این دایرکتوری محل ذخیره فایل های پیکربندی سیستم است. به طور مثال فایل پیکربندی سرویس dhcp (بخش نخست – بخش دوم)
  • همچنین در نسخه هایی از لینوکس که از فرایند init به منظور کنترل فرایند و سرویس ها استفاده می کنند، اسکریپت های init در زیر دایرکتوری etc/init.d/ قرار دارند.

دایرکتوری proc/

  • در زیر این دایرکتوری به ازای هر فرایند فعال کنونی در سیستم یک زیر دایرکتوری وجود دارد.
  • فایل های وضعیتی سیستم و کرنل لینوکس در زیر این دایرکتوری هستند.

دایرکتوری boot/

  • شامل دایرکتوری ها و فایل هایی مرتبط با بوت شدن سیستم عامل مانند : فایل تنظیمات گراب – vmlinuz image و فایل های دیگر با هسته لینوکس.

دایرکتوری tmp/

  • برخی از برنامه های کاربردی مانند اوراکل یا vmware نیاز به محلی برای ایجاد فایل های موقتی دارند که این محل به اندازه ای دلخواه به طور پیشفرض دایرکتوری tmp/ است.
  • فایل های زیر این دایرکتوری پس از reboot شدن سیستم به طور خودکار حذف می شوند.

دایرکتوری var/

  • دایرکتوری برای فایل های متغیر یا variable files
  • در زیر این دایرکتوری فایل هایی مانند log ها که به سرعت رشد می کنند قرار می گیرند.

دارکتوری dev/

  • محل قرارگیری فایل های مرتبط به هر device. مانند فایل sda که اشاره به اولین دیسک متصل به سیستم می کند.

دایرکتوری lib/

  • این دایرکتوری شامل فایل های کتابخانه ای به زبان سی که توسط دستور های زیر دایرکتوری های bin/ و sbin/ استفاده می شوند.

دایرکتوری mnt/

  • نقاط اتصال به طور معمول در زیر این دایرکتوری متصل یا mount می شوند.

دایرکتوری media/

  • محلی برای mount شدن CD/DVD ROM

دایرکتوری usr/

  • دستور های پایه ای لینوکس مانند passwd در زیر دایرکتور های این دایرکتوری قرار دارند. دو زیر دایرکاوری usr/bin/ و usr/sbin/
  • فایل های راهنما و مستندات زیر دایرکتوری usr/share/doc/

دایرکتوری srv/

  • این دایرکتوری برای داده های سرویس های فراهم شده توسط سیستم (Service data) استفاده می شوند.

فرض کنید لینوکس را بر روی یک هارد می خواهیم نصب کنیم. در زمان نصب می توانیم دایرکتوری های زیر را به طور پیشفرض و در زمان نصب جدا از هم و بر روی پارتیشن های مجزایی نصب کنیم. به طور معمول لینوکس برای نصب شدن و بدون پارتیشن بندی سفارشی شده از سوی شما سه دایرکتوری / و دایرکتوری home/ و swap را بر روی سه پارتیشن مجزا ایجاد می کند. (البته swap یک دایرکتوری نیست و تنها یک سیستم فایل است). همچنین شما می توانید دایرکتوری های زیر را در زمان نصب بر روی پارتیشن های مجزا ایجاد کنید.

  • دایرکتوری /
  • دایرکتوری boot/
  • دایرکتوری home/
  • داریرکتوری tmp/
  • دایرکتوری usr/
  • دایرکتوری var/
  • دایرکتوری opt/
  • دایرکتوری usr/loacl/

همچنین هر دایرکتوری که جدا بر روی یک پارتیشن متصل می شود می تواند نوع پارتیشن آن با نوع دیگر پارتیشن ها و همچنین با نوع پارتیشن / متفاوت باشد ولی یک نکته مهم ایت و آن اینکه پارتیشن های مجزا به ازای دایرکتوری ها دلیل بر برهم زدن ساختار نک درختی با شروع از ریشه root یا دایرکتوری / نیست بلکه بازهم همه ی این پارتیشن ها و دایرکتوری ها در پیملیش سر آغاز آنها دایرکتوری / یا دایرکتوری root است.

برای اطلاع بیشتر



برچسب ها : , ,