ما هو معيار FHS؟

نظام ملفات لينكس يختلف اختلافًا جذريًا عن نظام ويندوز الذي اعتدت عليه. في ويندوز، كل قرص له حرفه الخاص مثل C و D،لكن لينكس لا توجد أحرف أقراص. بدلاً من ذلك، يوجد شجرة موحدة تبدأ من مجلد واحد يُسمى الجذر (root) ويرمز له بعلامة /.

معيار FHS أو Filesystem Hierarchy Standard هو مجموعة من القواعد التي تحدد وظيفة كل مجلد في نظام لينكس. هذا المعيار يضمن أن جميع توزيعات لينكس تshare نفس البنية الأساسية، مما يسهل على المستخدمين التحول بين التوزيعات المختلفة دون أن يضيعوا في هيكل الملفات.

فهم بنية نظام ملفات لينكس أمر أساسي لكل من يريد إتقان استخدام هذا النظام. سواء كنت مبتدئًا تريد تعلم أوامر التنقل، أو مدير نظام يريد إعداد خادم، فهذا الدليل سي يأخذك في جولة شاملة داخل شجرة ملفات لينكس.

الجذر (root) — نقطة البداية

كل شيء في نظام لينكس يبدأ من مجلد الجذر المرمز له بعلامة /. هذا المجلد يختلف تمامًا عن مجلد المستخدم الشخصي الذي يُسمى أيضًا home. الجذر هو الأب لكل المجلدات والملفات في النظام بالكامل.

عند فتح Terminal أو الطرفية، ستكون عادةً في مجلد شخصي يُسمى home الخاص بك. يمكنك الوصول إلى الجذر بأمر cd / ثم الضغط على Enter. من الجذر، يمكنك الوصول إلى أي ملف أو مجلد في النظام بالكامل.

التصور الأفضل لفهم البنية هو أن الجذر مثل جذر شجرة ضخمة، وكل مجلد فرعي هو غصن من هذه الشجرة. المجلدات الرئيسية مثل bin و etc و home و var هي جميعها تابعة للجذر مباشرة.

البرامج المشغّلة (/bin)

مجلد /bin يحتوي على جميع البرامج والأدوات الأساسية التي يحتاجها المستخدم للتشغيل اليومي. هذه البرامج تشمل أمر النسخ cp، أمر النقل mv، أمر حذف الملفات rm، أمر عرض محتويات المجلد ls، وأوامر أخرى لا يمكن للنظام العمل بدونها.

هذه المجلدات ضرورية لعمل النظام بشكل صحيح. حتى إذا لم يكن لدى المستخدم صلاحيات_superuser، يمكنه تشغيل هذه البرامج بشكل طبيعي. في بعض التوزيعات الحديثة، قد تجد مجلد /bin مرتبطًا بمجلد /usr/bin، لكن الوظيفة تبقى نفسها.

أوامر النظام (/sbin)

مجلد /sbin يحتوي على برامج مخصصة لإدارة النظام وصيانته. هذه البرامج عادةً تتطلب صلاحياتsuperuser لتنفيذها، لأنها تؤثر على تشغيل النظام بالكامل. من أبرز هذه البرامج إدارة الشبكة، وإعداد الأقراص، وإدارة خدمات النظام.

السبب في فصل هذه البرامج عن مجلد bin هو أمان النظام. فمعظم المستخدمين العاديين لا يحتاجون إلى تشغيل هذه البرامج في حياتهم اليومية، وفصلها يقلل من احتمالية الخطأ أو الاستخدام الخاطئ.

ملفات الإعدادات (/etc)

مجلد /etc هو واحد من أهم المجلدات في نظام لينكس، لأنه يحتوي على جميع ملفات الإعدادات والنظام. كل إعداد في النظام سواء كان متعلقًا بالشبكة أو المستخدمين أو الخدمات_EXISTS في هذا المجلد أو أحد مجلداته الفرعية.

من أبرز الملفات في هذا المجلد ملف إعدادات الشبكة، وملف إعدادات النظام الأساسي، وملفات كلمات المرور المشفرة للمستخدمين، وملفات إعدادات الخدمات المختلفة. التعديل على هذه الملفات يتطلب صلاحيات عالية وحذر شديد، لأن أي خطأ قد يوقف النظام بالكامل.

مجلدات المستخدمين (/home)

مجلد /home يحتوي على المجلد الشخصي لكل مستخدم مسجل في النظام. كل مستخدم له مجلد خاص به يحتوي على ملفاته وإعداداتهوإyalها الشخصية. هذا المجلد هو المكان الوحيد الذي يمكن للمستخدم العادي التعديل فيه دون صلاحيات خاصة.

عند إنشاء مستخدم جديد في النظام، يتم إنشاء مجلد تلقائيًا داخل /home بنفس اسم المستخدم. هذا المجلد يحتوي على مجلدات فرعية مثل Documents و Downloads و Desktop وغيرها، حسب إعدادات النظام.

الملفات المتغيرة (/var)

مجلد /var يحتوي على ملفات تتغير باستمرار أثناء تشغيل النظام. هذا يشمل ملفات السجلات (logs) التي تسجل أحداث النظام والبرامج، وملفات التخزين المؤقت (cache) للبرامج المختلفة، وملفات البريد الإلكتروني، وقاعدة بيانات النظام.

السجلات في مجلد var/logs هي أداة أساسية لتشخيص مشاكل النظام. عندما تواجه خطأ ما في أي برنامج أو خدمة، فإن أول مكان تبحث فيه هو سجلات الأحداث في هذا المجلد. كل خدمة لها سجل خاص بها يسجل جميع العمليات والأخطاء.

الملفات المؤقتة (/tmp)

مجلد /tmp مخصص لتخزين الملفات المؤقتة التي تحتاجها البرامج أثناء التشغيل. هذه الملفات عادةً يتم حذفها تلقائيًا عند إعادة تشغيل النظام أو عند انتهاء البرنامج الذي أنشأها.

أي مستخدم يمكنه إنشاء ملفات في مجلد tmp، لكن لا يمكنه حذف ملفات مستخدمين آخرين. هذه الخاصية تجعله مثاليًا لتخزين البيانات المؤقتة دون القلق بشأن الأذونات.

ملفات المستخدمين (/usr)

مجلد /usr يحتوي على البرامج والملفات التي تُثبَّت بشكل دائم في النظام. هذا المجلد يحتوي على مجلدات فرعية كثيرة مثل /usr/bin للبرامج، و /usr/lib للمكتبات البرمجية، و /usr/share للملفات المشتركة بين البرامج.

على الرغم من اسمه الذي قد يوحي بأنه خاص بالمستخدمين، إلا أنه في الواقع يحتوي على ملفات النظام والبرامج المثبتة. الفرق بينه وبين مجلد bin هو أن هذا المجلد يحتوي على برامج أقل أهمية أو برامج إضافية تُثبَّت لاحقًا.

البرامج الإضافية (/opt)

مجلد /opt مخصص للبرامج الإضافية التي لا تأتي مع النظام الأساسي. هذه البرامج عادةً تكون برامج تجارية أو برامج كبيرة الحجم تحتاج إلى مجلد خاص بها. من أشهر الأمثلة على ذلك تطبيقات مثل Google Chrome و VMware و برامج أخرى.

استخدام هذا المجلد يحافظ على نظافة المجلدات الأساسية للنظام ويمنع التداخل بين البرامج المثبتة مع النظام والبرامج الإضافية التي يضيفها المستخدم.

الأجهزة (/dev)

مجلد /dev يحتوي على ملفات تمثل الأجهزة المختلفة المتصلة بالنظام. في لينكس، كل شيء يُعامل كملف، بما في ذلك الأجهزة المادية مثل الأقراص الصلبة والطابعات والكيبورد والماوس.

هذه الملفات ليست ملفات حقيقية على القرص الصلب، بل هي واجهات تتيح للبرامج التفاعل مع الأجهزة المادية. على سبيل المثال، ملف /dev/sda يمثل القرص الصلب الأول في النظام.

معلومات العمليات (/proc)

مجلد /proc هو مجلد خاص جدًا في لينكس. هذا المجلد لا يحتوي على ملفات حقيقية على القرص الصلب، بل هو واجهة تفاعلية توفر معلومات في الوقت الفعلي عن حالة النظام والعمليات الجارية.

يمكنك استخدام هذا المجلد لمعرفة معلومات عن المعالج والذاكرة وعمليات النظام الجارية. على سبيل المثال، يمكنك الاطلاع على استخدام المعالج الحالي أو معرفة العمليات التي تستهلك أكبر قدر من الموارد.

نقاط التثبيت (/mnt و /media)

مجلد /mnt يُستخدم لتثبيت الأقراص الصلبة والأجهزة الخارجية يدويًا. هذا المجلد عادةً يكون فارغًا ويُستخدم كنقطة وصول مؤقتة للأجهزة المتصلة.

مجلد /media مخصص لتثبيت الأجهزة القابلة للإزالة تلقائيًا مثل الأقراص USB والأقراص المدمجة. عندما توصيل جهاز USB بالجهاز، عادةً يتم إنشاء مجلد فرعي تلقائيًا داخل media باسم الجهاز.

ملفات الإقلاع (/boot)

مجلد /boot يحتوي على جميع الملفات الضرورية لإقلاع النظام. هذا يشمل نواة Linux kernels وملفات الإعدادات الخاصة بالإقلاع وبرنامج الإقلاع GRUB. بدون هذا المجلد، لن يتمكن النظام من التشغيل.

الأهمية القصوى لهذا المجلد تجعله حساسًا للغاية. أي تعديل خاطئ على ملفاته قد يمنع النظام من الإقلاع بالكامل. لذلك، يُنصح بعدم التدخل في هذا المجلد إلا إذا كنت تعرف ما تفعله تمامًا.

المكتبات (/lib)

مجلد /lib يحتوي على المكتبات البرمجية التي تحتاجها البرامج الموجودة في bin و sbin للعمل بشكل صحيح. هذه المكتبات هي ملفات مشتركة بين عدة برامج لتوفير المساحة وتجنب التكرار.

في بعض التوزيعات الحديثة، قد تجد مجلد lib مرتبطًا بمجلد usr/lib، لكن الوظيفة تبقى نفسها. هذه المكتبات ضرورية لعمل معظم البرامج في النظام.

أوامر التنقل الأساسية

للتنقل في بنية نظام ملفات لينكس، تحتاج إلى تعلم بضعة أوامر أساسية. هذه الأوامر هي أدواتك الأساسية لاستكشاف النظام وإدارة الملفات والمجلدات.

أمر pwd يعرض المسار الحالي الذي أنت فيه. أمر ls يعرض محتويات المجلد الحالي. أمر cd يتيح لك الانتقال إلى مجلد آخر. أمر mkdir ينشئ مجلدًا جديدًا. أمر rm يحذف ملفات أو مجلدات.

أمر cp ينسخ ملفات من مكان إلى آخر. أمر mv ينقل أو يُعيد تسمية ملفات. أمر cat يعرض محتوى ملف نصي. أمر find يبحث عن ملفات في شجرة المجلدات. أمر grep يبحث عن نصوص داخل الملفات.

الأذونات والصلاحيات

نظام لينكس يعتمد بشكل كبير على نظام الأذونات لحماية الملفات والمجلدات. كل ملف ومجلد له صاحب (owner) ومجموعة (group) ومستخدمون آخرون (others)، ولكل منهم صلاحيات مختلفة للقراءة والكتابة والتنفيذ.

فهم نظام الأذونات أمر بالغ الأهمية للأمان. صلاحيات خاطئة قد تسمح لأي مستخدم بالوصول إلى ملفات حساسة أو العكس، منع المستخدمين من الوصول إلى ملفاتهم الخاصة. لذلك، يجب دائمًا التأكد من تعيين الأذونات المناسبة لكل ملف ومجلد.

نصائح عملية

لا تحاول حذف مجلدات النظام الأساسية إلا إذا كنت متأكدًا تمامًا مما تفعله. خطأ واحد قد يوقف النظام بالكامل ويطلب منك إعادة التثبيت من الصفر.

استخدم أمر sudo بحذر شديد. هذا الأمر يمنحك صلاحياتsuperuser، مما يعني أن أي خطأ سيكون له تأثير مباشر على النظام بالكامل. لا تستخدم sudo إلا عند الضرورة القصوى.

احتفظ بنسخ احتياطية من الملفات المهمة قبل إجراء أي تعديلات كبيرة على النظام. حتى المتخصصون يرتكبون أحيانًا أخطاء، والنسخ الاحتياطي هو حمايتك الأخيرة.

تعلم قراءة السجلات في مجلد /var/log. هذه السجلات هي مفتاحك لتشخيص معظم المشاكل التي قد تواجهها في النظام. عادةً ما تحتوي على معلومات كافية لفهم سبب المشكلة وحلها.

أسئلة شائعة عن بنية نظام ملفات لينكس

لماذا لا توجد أحرف أقراص مثل C و D في لينكس؟

في لينكس، لا توجد أحرف أقراص لأن النظام يعتمد على شجرة موحدة تبدأ من الجذر. الأقراص الصلبة تُثبَّت في مجلدات فرعية داخل الشجرة بدلاً من الحصول على حرف خاص بها. هذا يسهل إدارة النظام ويمنع التداخل بين الأقراص المختلفة.

كيف أعرف أي مجلد أستطيع حذفه بأمان؟

بصفة عامة، لا تحذف أي مجلد في النظام إلا إذا كنت تعرف وظيفته تمامًا. المجلدات الآمنة للمبتدئين هي home و tmp. المجلدات الأخرى تتطلب فهمًا عميقًا للنظام قبل التعديل معها.

هل يمكنني الوصول إلى ملفات ويندوز من لينكس؟

نعم، يمكنك تثبيت الأقراص الصلبة التي تحتوي على نظام ويندوز والوصول إلى ملفاتها من لينكس. غيير نظام الملفات NTFS المستخدم في ويندوز مدعوم بشكل جيد في لينكس الحديث.

ما الفرق بين /home و /root؟

مجلد /home يحتوي على المجلدات الشخصية لجميع المستخدمين العاديين في النظام. مجلد /root هو المجلد الشخصي الخاص بالمستخدم superuser (root). الفرق الأساسي هو الصلاحيات: root يمكنه الوصول إلى كل شيء، بينما المستخدم العادي مقيد بمجلده الخاص.

موارد ومقالات ذات صلة