ساختار سلسله مراتبی فایل سیستم لینوکس (Filesystem Hierarchy Standard)
در سیستم عامل لینوکس خبری از درایوهای ویندوزی نیست و به جای آن از ساختار سلسله مراتبی که به آن فایل سیستم می گویند، استفاده می شود. در بالاترین سطح، دایرکتوری با نام ریشه یا root با نماد "/" قرار دارد.
ممکن است دایرکتوری های زیرمجموعه / ، بر اساس نوع توزیع لینوکس، نظر مدیر سیستم و یا نوع کارکرد سیستم متفاوت باشند. اما عملکرد آنها در تمامی توزیعهای لینوکس معمولاً یکسان است.
اکنون به بررسی نقش این دایرکتوری ها می پردازیم.
& دایرکتوری / (Root Directory)
این دایرکتوری مبنای فایل سیستم لینوکس می باشد. از نظر منطقی کلیه دایرکتوری ها و فایلهای لینوکس صرف نظر از محل فیزیکی شان در دایرکتوری / قرار دارند. بطور مثال اگر دایرکتوری های home,tmp بصورت فیزیکی بر روی هارد دیسک های متفاوتی باشند، در دیدگاه منطقی، همه ی آنها زیرمجموعه ی دایرکتوری / هستند. فقط کاربران SuperUser توانایی ایجاد و یا تغییر در زیرمجموعه ی / را دارا می باشند.
& دایرکتوری bin (User Binaries)
دستورات عمومی سیستم که تمامی کاربران قادر به اجرای آن هستند، در این دایرکتوری قرار دارند. مانند دستور cat , ls , sort , ...
& دایرکتوری sbin (System Binaries)
دستورات مدیریتی سیستم که فقط کاربران SuperUser قادر به اجرای آن هستند، در این دایرکتوری قرار دارند. مانند دستور fdisk , userdell , ...
& دایرکتوری etc (Configuration Files)
فایل های تنظیمات سیستم در این دایرکتوری قرار دارند. بطور مثال فایل گذرواژه کاربران، تنظیمات شبکه و...
& دایرکتوری home (User Home Directories)
این دایرکتوری مربوط به کاربران سیستم میباشد. با تعریف هر کاربر جدید یک دایرکتوری در اینجا ایجاد می شود، که به آن دایرکتوری خانه کاربر می گویند. فایلهای موجود در این دایرکتوری فقط توسط صاحب آن یا مدیر سیستم قابل تغییر می باشد.
& دایرکتوری root (home directory of the root user)
برخلاف سایر کاربران، دایرکتوری خانه برای کاربر root بصورت متمایز در زیر / تعریف می شود.
& دایرکتوری lib (System Libraries)
این دایرکتوری حاوی فایلهای کتابخانه ایی برای کلیه برنامههای موجود در دو دایرکتوری bin,sbin می باشد. (مانند فایلهای DLL در ویندوز)
برای نمایش فایلهای کتابخانه ای مورد استفاده در اجرای فرمان date میتوان از دستور زیر استفاده نمود.
ldd /bin/date
linux-vdso.so.1 (0x00007fff13fb6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f981551e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9815b0a000)
& دایرکتوری boot (Boot Loader Files)
فایلهای ایستا برای راه اندازی سیستم در این دایرکتوری قرار دارند.
& دایرکتوری dev (Device Files)
دایرکتوری dev بصورت مجازی بوده و این دایرکتوری حاوی فایل های ویژه جهت نمایش دستگاه های متصل به ماشین می باشد. بطور مثال در صورت اتصال دیسک جانبی، فایلهای مربوطه در این دایرکتوری ایجاد خواهند شد.
& دایرکتوری proc (Process Information)
دایرکتوری proc بصورت مجازی بوده و حاوی فایلهایی می باشد که بر اساس فایلهای پیکربندی دایرکتوری etc، سیستم را تنظیم و راه اندازی نموده است. در واقع وضعیت حال حاضر سیستم را میتوان از طریق محتویات این دایرکتوری بررسی نمود. بطور مثال با دستور زیر میتوان پارتیشن های سیستم را لیست کرد.
cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 2 1048576 sda2
8 3 786432000 sda3
8 4 0 sda4
8 5 41943040 sda5
8 6 8388608 sda6
8 7 136314880 sda7
8 16 7833600 sdb
8 17 7832576 sdb1
& دایرکتوری sys (filesystem for exporting kernel objects)
اساساً دایرکتوری های proc,sys مشابه یکدیگر هستند، البته دایرکتوری sys جزپیات دقیقتری از پردازش های در حال اجرای سیستم را نمایش می دهد. در برخی موارد میتوان تنظیمات این دستگاه ها را دستکاری نمود. برای مثال روشنایی صفحه نمایش را از طریق فایل زیر تغییر داد.
/sys/devices/pci0000:00/0000000:02.0/drm/card1/card1-eDP-1/intel_backlight/brightness
نکته : دایرکتوری های proc,dev,sys بصورت مجازی میباشند، یعنی هیچ فضایی از هارد دیسک مصرف نمیکنند و فقط در حافظه Ram ایجاد می شوند.
& دایرکتوری tmp (Temporary Files)
این دایرکتوری توسط برنامههایی که نیاز به ذخیره موقت فایلها دارند، استفاده می شود مانند صف پست الکترونیکی. باید توجه داشت که محتویات این دایرکتوری ناپایدار بوده و با Reboot سیستم حذف می شوند.
& دایرکتوری var (Variable Files)
این دایرکتوری حاوی فایلهایی است که تغییرات زیادی دارند. مانند فایلهای Log
معمولا بصورت یک پارتیشن جداگانه در نظر گرفته می شود تا در صورت پر شدن مشکلی در روند کار سیستم ایجاد نشود.
& دایرکتوریusr (User Programs)
محتوای این دایرکتوری دادههای فقط خواندنی می باشد. همچنین فایل های برنامه ها، بازی ها و فایل های کتابخانه ای (bin,sbin,lib) در این دایرکتوری قرار دارند.
& دایرکتوری mnt (Mount Directory)
این دایرکتوری مسیری برای اتصال ابزار ذخیره سازی با فایل سیستم خارجی می باشد. مانند دوربین دیجیتال یا CD-Rom
& دایرکتوریmedia (Removable Devices)
این دایرکتوری مسیری برای اتصال ابزارهای جانبی می باشد. مانندFlash Memory
& دایرکتوریopt (Optional Add App)
این دایرکتوری برای نصب نرم افزارهای اختیاری و پکیج های بزرگ که بخشی از نصب پیشفرض نیستند، بصورت رزرو می باشد.
& دایرکتوریsrv (Data For Services)
دادههای مربوط به خدمات ارایه شده توسط سیستم در این دایرکتوری قرار می گیرد. مانند FTP , HTTP
& دایرکتوریlost+found
به ازای هر پارتیشن یک دایرکتوری lost+found وجود دارد و فایلهایی که دچار نقص میشوند در اینجا ذخیره می شوند.
& دایرکتوری windows
در صورتی که همزمان دو سیستم عامل ویندوز و لینوکس بر روی ماشین نصب شده باشد، این دایرکتوری در دسترس است. دایرکتوری windows شامل داده های موجود بر روی سیستم عامل ویندوز در پارتیشنهای ویندوزی می باشد. در صورتی که پارتیشن ویندوزی دارای سیستم فایل FAT32 باشد، می توان فایل های این پوشه را خواند و یا ویرایش نمود.