التسلسل الهرمي القياسي لنظام الملفات (Filesystem Hierarchy Standard) تختصر (FHS). يحدد الادلة الرئيسية ومحتوياتها في انظمة التشغيل لينكس. وتقوم مؤسسة لينكس بالمحافظة على (FHS) ومؤسسة لينكس هي منظمة غير ربحية تضم بائعي البرمجيات والعتاد الرئيسيين مثل إتش بي، ريدهات، آي بي إم, وديل.
الإصدار الحالي هو 2.3، الذي اعلن عنه في 29 يناير 2004.
تاريخ
تاريخ الإصدارات
المعنى | |
---|---|
اللون | معيار قديم; غير مدعوم |
الأصفر | معيار قديم; ما زال مدعوم |
الأخضر | الإصدار الحالي |
الأزرق | اصدار مستقبلي |
الإصدار | تاريخ الصدور | ملاحظات |
---|---|---|
v1.0 | 1994-02-14 | FSSTND[1] |
v1.1 | 1994-10-09 | FSSTND[2] |
v1.2 | 1995-03-28 | FSSTND[3] |
v2.0 | 1997-10-26 | FHS 2.0 هو خليفة FSSTND 1.2. تم تغيير اسم "قياسي" إلى التسلسل الهرمي القياسي لنظام الملفات.[4][5][6] |
v2.1 | 2000-04-12 | FHS[7][8][9] |
v2.2 | 2001-05-23 | FHS[10] |
v2.3 | 2004-01-29 | FHS[11] |
v3.0 | TBA | FHS[12] |
هيكل الادلة
جميع الملفات والادلة في التسلسل الهرمي لنظام الملفات القياسي موجودة تحت الدليل الجذر "/". حتى لو كانت هذه الملفات والادلة موجودة على وسيلة تخزين خارجية مثل قرص مدمج.
التسلسل الهرمي لدليل الجذر /
الدليل | الوصف |
---|---|
/ | المجلد الأساسي جذر النظام, الذي تتفرع منه جميع الملفات والادلة في نظام ملفات التسلسلي. |
/bin/ | يحتوي على الأوامر الأساسية التي ليس لها واجهة رسومية مثل الأمر (ls) والأمر (cat). |
/boot/ | يحتوي هذا المجلد على جميع الملفات التي يحتاجها النظام لكي يستطيع أن يبدأ العمل فهو يحتوى على ملفات محمل الإقلاع, ونسخة من النواة, وهي التي يتم تحميلها في ذاكرة الوصول العشوائية وهذه هي الخطوه الأولى والبسيطة لبدية النظام، ثم يتبعها النظام بتحميل كل ملفاته وذلك طبقاً لما هو موجود في الملف fstab وinittab ونسخه النواة المصغره تكون في هذا المجلد باسم vmlinuz ويتبعها رقم الكيرنل ووظيفتها فقط هي الإرشاد على النواة الأساسية للنظام لكي يبدأ عمل النواة. |
/dev/ | هذا المجلد هو اختصار لكلمة (device) وهو يحتوي على جميع ملفات الأجهزة المتصلة بالنظام ك(/dev/null) وغير ذلك من تعاريف العتاد, ومن هذه الأجهزة القرص المرن (floppy disk) والقرص الصلب (hard disk) ويعبر عنهم باختصارات مثل fd اوhd... |
/etc/ | يحتوي هذا المجلد على ملفات التهيئه الخاصة بالنظام, ويشمل كل ملفات التهيئة والاعداد مثل ملفات اعداد الشبكة, الخادم, البرامج, والإقلاع. وهذا المجلد يحوى ملفات ومجلدات. |
الدليل الرئيسي | يحتوي هذا المجلد على الأدلة الافتراضية لمستخدمي النظام مثلا إذا كان اسم مستخدم "خالد" بالنظام فسوف تجد الدليل "خالد" داخل هذا المجلد. |
/lib/ | يحتوى هذا المجلد على المكتبات التي تعتمد عليها الأوامر والبرامج في عملها ولهذا السبب فإن هذه المكتبات تسمى Shared Libraries وفكرتها أنها تحتوى على الأجزاء التي تتكر في الكود البرمجي للبرامج مما يجعل المبرمجين يتفادون تكرار كتابة هذا الجزء مع كل برنامج وأيضا يحتاجها النظام في حالات مثل Single User Mode وحالات الطوارئ أما الأعمال التي يحتاجها النظام في الأعمال الأقل أهمية فيتوجه إلى /usr/lib/. |
/media/ | نقطة ضم الوسائط القابلة للا زالة مثل القرص المدمج (ظهر في التسلسل الهرمي القياسي لنظام الملفات الإصدار 2.3). |
/mnt/ | يحتوي على الأجزاء التي تضم لنظام بشكل مؤقت. مثل القرص المرن, القرص المدمج, واقسام القرص الصلب. |
/opt/ | حزم وبرمجيات من طرف ثالث, أي انها لم تمر على منتجي التوزيعة.[13] |
/proc/ | يحتوى هذا المجلد على نظام ملفات افتراضي غير حقيقي لانه لا يوجد بالفعل على القرص الصلب, بل أنه يحتوى على عمليات ومعلومات النواة التي تعمل الآن على النظام وتعد هذه المعلومات هامة جدا في حالات الأعطال الطارئة والمتعلقة بالعتاد, وأهم المعلومات التي قد يحتاج إليها هي I/O Port، Devices، interrupts. |
/root/ | مجلد البيت . |
/sbin/ | يحتوى على الأوامر والملفات التي تعد من أدوات إدارة النظام. |
/srv/ | Site-specific بيانات which is served by the system. |
/tmp/ | هذا الدليل خاص بملفات النظام المؤقتة التي سوف تذهب عند إعادة تشغيل الجهاز. |
/usr/ | من أكبر المجلدات يحتوي على مجلدات يوجد فيها البرامج التي يحتاجها النظام في أعماله الاعتيادية, أي لا بحتاجها النظام في عملية بدء التشغيل ولا في حالات الطوارئ. ولهذا المجلد نظام هرمي يشبة الـ Root Directory [14] |
/var/ | هذا الدليل يحتوي على على الملفات التي يتغير حجمها ووبيانتها باستمرار. اسم الدليل هو اختصار لكلمة (variable) وتعني متغير, ويحتوي على ملفات تسجيل الدخول لجميع المستخدمين (log files), التي تتغير كلما قام النظام بعملية تسجيل دخول جديده هذا بالإضافة إلى ملفات الطابعات, وغيرها مثل خادم الاباتشي, والـ إف تي بي |
|
يتكرر هذا الملف على حسب عدد أقسام القرص الصلب, ووظيفتة هو عندما يقوم الأمر fsck بالعمل على نظام الملفات فإن من وظائف هذا الأمر أن يقوم بإرجاع الملفات كما كانت على النظام فإن صادف ولم يتعرف على مكان الملف فإنه يضعها في هذا الملف تاركا عملية تحديد مكان الملف لمدير النظام |
التسلسل الهرمي لدليل /etc/
/etc/ | يحتوي هذا المجلد على ملفات التهيئه الخاصة بالنظام, ويشمل كل ملفات التهيئة والاعداد مثل ملفات اعداد الشبكة, الخادم, البرامج, والإقلاع. وهذا المجلد يحوى ملفات ومجلدات |
|
ملف يحتوي على قاعدة بيانات المستخدمين, كل شيء يتم تخزينة عن المستخدمين في هذا الملف ما عدى كلمة المرور التي تكون في ملف آخر بصوره مشفره داخل الملف /etc/shadow/ |
|
يحتوي على جدول الباراميتر الخاص بالقرص المرن ويحتوي أيضاً على الاختلافات في الصيغ الخاصة بالقرص المرن ويستخدم بواسطة الأمر setfdprm. |
|
عباره عن ملف يحتوي على أنظمة الملفات التي سيقوم بضمها عند بدء التشغيل عن طريق الأمرmount -a, وتحديد منطقة السواب التي ستضم عن طريق الأمر swapon -a. |
|
شبيه بالملف passwd, لكنه لايصف المستخدمون انفسهم, بل المجموعات التي تحتوي على المستخدمين. |
|
ملف إعداد /init/. |
|
ملفات اعداد]] المجلد /opt/. |
|
ملف إعدادات الأمر file, يحتوي على وصف للصيغ المختلفة الملفات. |
|
ملف كلامات المرور الخاصة بالمستخدمين وتكون مشفره ويستخدمها ملف /passwd/, وهي مغلقة لكل المستخدمين باستثناء . |
|
يحتوي على اعدادات تخص الأمر login. |
|
يحدد مستوى الأمن في الطرفية, أي ان يقوم بتحديد أي من المستخدمين له حق دخول الطرفية, مما يجعل الأمر صعب على محاولات الاختراق من خلال الشبكة, لأنها لا تسمح للمستخدم الجذر بالدخول من الشبكة ومنع المستخدمين الغير مدرجين في قائمة المصرح لهم باستخدام الأمر sudo. |
|
يحتوي هذا الملف على قائمة بكل أنواع الطرفيات التي مكنك الدخول منها، ويسمح لك الأمر chsh بتغير نوع الطرفية الخاصة بك والاختيار من بين الموجودين في هذا الملف، وأيضا برنامج ftpd سيقوم بعمل مراجعة عما إذا كان نوع الطرفية التي يستخدمها المستخدم موجود في القائمة أم لا، ولن يسمح للمستخدمين الدخول الطرفية مادام نوعها ليس مدرج في القائمة |
|
ملفات اعداد]] المجلد /opt/. |
|
يحتوي على ملفات اعداد]] نظام النافذة اكس, الإصدار 11. |
|
يحتوي على ملفات اعداد للغة لغة الترميز القياسي العام. |
|
يحتوي على ملفات اعداد للغة لغة الترميز القابلة للامتداد. |
التسلسل الهرمي لدليل /proc/
/proc/ | يحتوى هذا المجلد على نظام ملفات افتراضي غير حقيقي لانه لا يوجد بالفعل على القرص الصلب, بل أنه يحتوى على عمليات ومعلومات النواة التي تعمل الآن على النظام وتعد هذه المعلومات هامة جدا في حالات الأعطال الطارئة والمتعلقة بالعتاد, وأهم المعلومات التي قد يحتاج إليها هي I/O Port، Devices، interrupts. |
/proc/cpuinfo/ | يحتوي هذا الملف على معلومات مفصلة عن المعالج (نوعه، موديله،.... إلخ) |
/proc/meminfo/ | معلومات عن الذاكرة (الرام+السواب) |
/proc/uptime/ | الفترة التي بقي الجهاز فيها بدون اعادة تشغيل. |
/proc/loadavg/ | مقدار الحمل على الجهاز. |
/proc/mounts/ | أنظمة الملفات المضمومه. |
/proc/filesystems/ | ملف الإعدادات لانظمة الملفات داخل النواة التي يمكنه التعامل معها. |
/proc/devices/ | ملف يحتوي على قائمة بكل الأجهزه التي تعمل في الوقت الحالي على النواة. |
/proc/interrupts/ | لمشاهده الـinterrupts ومعرفة القيم التي تحملها. |
/proc/ioports/ | لمعرفة وحدات الإدخال والإخراج المستخدمة في الوقت الحالي. |
/proc/kcore/ | هذه صوره فيزيائية للذاكره في النظام وهي بالضبط نفس مساحة الذاكرة الفيزيائية لديك, لكن في الحقيقة لا يأخذ الكثير من الذاكرة، وهو مولد لتسهيل التعامل مع البرامج. |
/proc/kmsg/ | يعرض رسائل النواة, المأخوذ من ملف syslog |
/proc/ksyms/ | جدول Symbol للنواة. |
/proc/modules/ | عرض الموديلات المحملة للنواة في الوقت الحالي. |
/proc/net/ | معلومات عن حالة البروتوكولات في الشبكة. |
/proc/self/ | عرض الاختصارات التي تعالج في ملف proc وكل برنامج يعالج تحت هذا الملف (proc) له رقم خاص به |
/proc/stat/ | إحصائيات مختلفه حول حالة النظام. |
/proc/version/ | عرض رقم إصدار النواة. |
التسلسل الهرمي لدليل /usr/
/usr/ | من أكبر المجلدات يحتوي على مجلدات يوجد فيها البرامج التي يحتاجها النظام في أعماله الاعتيادية, أي لا بحتاجها النظام في عملية بدء التشغيل ولا في حالات الطوارئ. ولهذا المجلد نظام هرمي يشبة الـ Root Directory [14] |
|
تحتوي تقريبا على كل أوامر المستخدمين. |
|
يحتوي على أوامر إدارة النظام التي عادة فقط لديه صلاحية لتنفيذها. لكن يمكن ان تستخدمها بعض البرامج والخدمات... |
|
مكتبات البرامج ولكنها قد تحتوي أحياناً مجلدات فرعية تحتوي وثائق أمثلة لبعض لغات البرمجة والمكتبات. |
|
يحتوي على كل ملفات البرامج (الصور والخطوط والوثائق). |
|
يحتوي على ملفات الـ Header الخاصة بلغة السي. |
|
يحتوي على الملفات المصدرية, على سبيل المثال ملفات النواة المصدرية مع ملفات header الخاصة بها. |
|
يحتوي هذا الملف على كل ملفات الاعداد الخاصة بنظام النافذة اكس, النسخة 11 الإصدار 6. |
|
البرامج التي تقع خارج سيطرة نظام إدارة الحزم، مثل برامج تم بنائها من المصدر. |
|
معلومات مفصلة عن البرامج. |
|
يحتوي ملفات Log لبرامج مختلفه ويوجد فيه ملف مميز جدا وهو ملف wtmp المسؤول عن الـ Log لكل عمليات الدخول والخروج من النظام ويسمى login وهناك ملف أخر وهو syslog والموجود باسم messages وهو يحتوي على كل الرسائل الصادره من النواة. |
|
عباره عن ملفات مغلقه، بعض البرامج تفضل عمل ملفات مغلقها للتعامل معها من خلال جهاز أو برنامج، بصوره أوضح تتعامل مع الـ User System |
التسلسل الهرمي لدليل /var/
/var/ | هذا الدليل يحتوي على على الملفات التي يتغير حجمها ووبيانتها باستمرار. اسم الدليل هو اختصار لكلمة (variable) وتعني متغير, ويحتوي على ملفات تسجيل الدخول لجميع المستخدمين (log files), التي تتغير كلما قام النظام بعملية تسجيل دخول جديده هذا بالإضافة إلى ملفات الطابعات, وغيرها مثل خادم الاباتشي, والـ إف تي بي. |
|
Application cache data. Such data is locally generated as a result of time-consuming I/O or calculation. The application must be able to regenerate or restore the data. The cached files can be deleted without data lأو أسs |
|
توضع به متغيرات النظام. |
|
عباره عن ملفات مغلقه، بعض البرامج تفضل عمل ملفات مغلقها للتعامل معها من خلال جهاز أو برنامج. |
|
التقارير التي تكتبها البرامج. |
|
عبارة عن صندوق بريد بين مستخدمي النظام. |
|
يحتوي على معلومات عن النظام, فمثلا ملف utmp يحتوي على المستخدمين الذين قاموا بتسجيل الدخول على النظام. |
|
ملف للأخبار ووظائف الطباعة وبعض الوظائف الأخرى فملف الأخبار يكون داخل ملف (news) وأيضا يحتوي على ملف البريد (mail). ويتوقف على مدى دعم التوزيعة له. |
|
موقع متروك لصناديق بريد المستخدمين. |
|
يحتوي على الملفات المؤقتة سواء أن كانت كبيرة في الحجم أو التي ستضل لفترة طويله ومن السهل على مدير النظام تحديد عمر الملفات المؤقتة بها. |
مراجع
- Index of /pub/Linux/docs/fsstnd/old/fsstnd-1.0/ - تصفح: نسخة محفوظة 24 ديسمبر 2016 على موقع واي باك مشين.
- Index of /pub/Linux/docs/fsstnd/old/fsstnd-1.1/ - تصفح: نسخة محفوظة 24 ديسمبر 2016 على موقع واي باك مشين.
- Index of /pub/Linux/docs/fsstnd/old/ - تصفح: نسخة محفوظة 23 ديسمبر 2016 على موقع واي باك مشين.
- FHS 2.0 Announcement - تصفح: نسخة محفوظة 08 أكتوبر 2000 على موقع واي باك مشين.
- http://www.skytel.co.cr/linux/research/1997/1116/index.htm
- Index of /pub/Linux/docs/fsstnd/ - تصفح: نسخة محفوظة 29 يوليو 2017 على موقع واي باك مشين.
- FHS 2.1 Announcement - تصفح: نسخة محفوظة 08 يوليو 2006 على موقع واي باك مشين.
- FHS 2.1 is released - تصفح: نسخة محفوظة 10 نوفمبر 2016 على موقع واي باك مشين.
- (PDF) https://web.archive.org/web/20120327075156/http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf. مؤرشف من الأصل (PDF) في 27 مارس 2012.
- (PDF) https://web.archive.org/web/20191113054004/http://www.pathname.com/fhs/pub/fhs-2.2.pdf. مؤرشف من الأصل (PDF) في 13 نوفمبر 2019.
- (PDF) https://web.archive.org/web/20191113054004/http://www.pathname.com/fhs/pub/fhs-2.3.pdf. مؤرشف من الأصل (PDF) في 13 نوفمبر 2019.
- FHS - تصفح: نسخة محفوظة 04 أبريل 2016 على موقع واي باك مشين.
- "Filesystem Hierarchy Standard" en. مؤرشف من الأصل في 22 نوفمبر 201903 يناير 2020.
- Should be shareable and read-only, cf. http://www.pathname.com/fhs/pub/fhs-2.3.html.