استاندارد سلسله‌مراتب سیستم‌فایل

استاندارد سلسله‌مراتب سیستم فایل (FHS)، ساختار و محتوای دیرکتوری در سیستم‌عامل‌های شبه‌یونیکسی را معین می‌کند. این استاندارد توسط بنیاد لینوکس پشتیبانی می‌شود. آخرین نسخه این استاندارد نسخه ۳٫۰ است که در تاریخ سه ژوئن ۲۰۱۵ عرضه شد. در حال حاضر این استاندارد فقط در سیستم‌عامل لینوکس استفاده می‌شود.
ساختار دیرکتوری
در استاندارد سلسله‌مراتب سیستم فایل(FHS)، تمامی فایل‌ها و دیرکتوری‌ها در زیر دیرکتوری ریشه (root directory) / حضور دارند (حتی اگر آن دیرکتوری و فایل‌ها روی دستگاه‌های فیزیکی و مجازی دیگری (نسبت به دیرکتوری ریشه) ذخیره شده باشند). بعضی از این دیرکتوری‌ها فقط روی یک سیستم مشخص وجود دارند، درصورتی که زیرسیستم‌های مشخصی، مانند سامانه پنجره اکس نصب شده باشد.
بیشتر این دیرکتوری‌ها در تمامی سیستم‌های عامل یونیکسی وجود دارند و به‌طور کلی کاربرد و کارکرد آن‌ها در سیستم‌های مختلف شبیه به هم است. با این حال توضیحاتی که در مورد کارکرد دیرکتوری‌ها در ذیل خواهد آمد مشخصا برای FHS استفاده می‌شود و برای سکوهای رایانش دیگر به غیر از لینوکس معتبر نیستند.
توضیحات
دیرکتوری
دیرکتوری ریشه کل سلسله‌مراتب سیستم فایل
فایل‌های باینری مربوط به دستورها و برنامه‌های لینوکس (که از خط فرمان صدا زده می‌شوند) که باید برای حالت تک‌کاربره برای تمام کاربران دردسترس باشند مانند cat یا ls یا cp
/bin
فایل‌های مربوط به Boot loader (بارگذار راه‌انداز) مانند هسته یا همان kernel و initrd
/boot
فایل‌های دستگاهی ضروری مانند /dev/null/
/dev
فایل‌های تنظیمات سراسری سیستم (مربوط به تمام سیستم)
در مورد نام این دیرکتوری مناقشاتی وجود داشته‌است. در نسخه‌های اولیه سند پیاده‌سازی یونیکس، در آزمایشگاه بل، بیان می‌شود که نام این دیرکتوری از کلمه etcetera گرفته شده‌است. چرا که در ابتدا این دیرکتوری فایل‌هایی را در خود نگه می‌داشت که به دیرکتوری‌های دیگر تعلق نداشت (گرچه امروزه FHS این دیرکتوری را ملزم به نگهداری فایل‌های متنی تنظیمات می‌کند و این دیرکتوری نباید شامل فایل‌های باینری باشد). از زمان انتشار سند اولیه مذکور وجه تسمیه (دلیل نامگذاری) این دیرکتوری به طرق مختلف بارها توضیح داده شده‌است. بعضی نام این دیرکتوری را مخفف Editable Text Configuration به معنای تنظیمات متنی قابل ویرایش می‌دانند و بعضی Extended Tool Chest به معنای صندوقچه توسعه‌یافته ابزار
/etc
فایل‌های تنظیمات مربوط به بسته‌های (پکیج‌ها) افزونه‌ها
/etc/opt
فایل‌های تنظیمات، مانند کاتالوگ‌ها، مربوط به نرم‌افزاری که SGML پردازش می‌کند.
/etc/sgml
فایل‌های تنظیمات برای سامانه پنجره اکس، نسخه ۱۱
/etc/X11
فایل‌های تنظیمات، مانند کاتالوگ‌ها، برای نرم‌افزاری که فایل XML را پردازش می‌کند.
/etc/xml
دیرکتوری‌های خانه کاربران، که حاوی فایل‌های ذخیره شده و تنظیمات شخصی و غیره می‌باشد.
/home
فایل‌های کتابخانه‌ای (لایبرری) که وجودشان برای فایل‌های باینری در /bin و /sbin ضروری است.
/lib
در این دیرکتوری رسانه‌های جداشدنی مانند درایو فش یا سی‌دی رام به صورت دیرکتوری نمایش داده می‌شوند.
/media
سیستم فایل‌هایی که به صورت موقت mount می‌شوند.
/mnt
بسته‌های (پکیج‌های) نرم‌افزاری اختیاری
/opt
سیستم فایل مجازی که اطلاعات مربوط به فرایندها و هسته (کرنل) را به صورت فایل فراهم می‌کند.
/proc
دیرکتوری خانه برای کاربر روت
/root
فایل‌های باینری سیستمی مانند fsck و init و route
/sbin
داده‌های مربوط به سایت که سیستم در اختیار کاربران قرار می‌دهد، مانند داده‌ها و اسکریپت‌هایی که توسط وب‌سرور ارائه می‌شود یا داده‌هایی که به وسیله سرور FTP ارائه می‌شود و مخازنی(repository) که مربوط به سامانه‌های کنترل نسخه می‌باشند
/srv
فایل‌های موقتی؛ که طول عمرشان از یک بازراه‌اندازی سیستم تا بازراه‌اندازی بعدی سیستم است به عبارت دیگر میان دو بازراه‌اندازی یعنی با بازراه‌اندازی سیستم این فایل‌ها پاک می‌شوند و ممکن است این فایل‌ها محدودیت حجمی در ذخیره داشته باشند.
/tmp
سلسله‌مراتب ثانوی برای داده‌های کاربر، که شامل اکثر اپلیکیشن‌های کاربران می‌شود.
/usr
باینری‌های دستورات غیرضروری (که در حالت تک‌کاربره نیازی به آن‌ها نیست) برای تمامی کاربران
/usr/bin
فایل‌های سرآیند استاندارد
/usr/include
فایل‌های کتابخانه‌ای برای فایل‌های باینری که در دیرکتوری‌های /usr/bin و /usr/sbin وجود دارند.
/usr/lib
سلسله‌مراتب سومی برای داده‌های محلی مختص این هاست.
/usr/local
فایل‌های باینری غیرضروری سیستمی مانند دیمن‌هایی برای سرویس‌های شبکه
/usr/sbin
کد منبع، مانند کد منبع هسته (کرنل) به همراه فایل‌های سرآیند آن
/usr/src
فایل‌های متغیر (تغییرپذیر) -فایل‌هایی که انتظار می‌رود تا محتویات آن‌ها به‌طور پیوسته در طول عملیات سیستم‌عامل در حال تغییر باشد- مانند فایل‌های لاگ و فایل‌های موقتی ایمیل
/var
داده مربوط به کش برنامه‌ها. این داده‌ها به صورت محلی، در نتیجه عملیات ورودی/ خروجی یا عملیات‌های محاسباتی زمان‌بر تولید می‌شوند. برنامه باید بتواند در صورت لزوم این نوع داده‌ها را دوباره تولید یا ذخیره کند. فایل‌های کش را می‌توان پاک کرد، بدون آنکه داده‌ای از دست برود (چرا که دوباره برنامه می‌تواند آن‌ها را تولید کند)
/var/cache
لاک فایل‌ها. فایل‌هایی که اطلاعات مربوط به منابع در حال استفاده را پیگیری و نگهداری می‌کنند.
/var/lock
فایل‌های لاگ. لاگ‌های مختلف
/var/log
صندوق رایانامه (صندق پستی) کاربر
/var/mail
فایل‌های موقتی که طول عمرشان از یک بازراه‌اندازی تا بازراه‌اندازی دیگر سیستم (میان دو بازراه‌اندازی) است.
/var/tmp
تاریخچه
نسخه
تاریخ انتشار
ملاحظات
۱۹۹۴-۰۲-۱۴
FSSTND
۱۹۹۴-۱۰-۰۹
FSSTND
۱۹۹۵-۰۳-۲۸
FSSTND
۱۹۹۷-۱۰-۲۶
FHS جانشین FSSTND 1.2 می‌باشد در این نسخه نام استاندارد به سلسله مراتب سیستم فایل تغییر کرد
۲۰۰۰-۰۴-۱۲
FHS
۲۰۰۱-۰۵-۲۳
FHS
۲۰۰۴-۰۱-۲۹
FHS
۲۰۱۵-۰۵-۱۸
FHS
لینوکس