تعرف على أهم المسارات في نظام ملفات لينكس ( الجزء 2 )



تابع قناة عالم الكمبيوتر علي التيليجرام


و تبعا للسلسلة التي بدأتها معكم للتعريف بالتسلسل الهرمي القياسي لنظام ملفات لينكس , سنستأنف اليوم الدرس الثاني من السلسلة , و موضوع هذا الدرس هو التعرف على أهم المجلدات في نظام الملفات و معرفة وظيفة كل مجلد على حدا و أيضا فهم سبب هذا التقسيم , و قد تعرفنا في الدرس السابق من السلسلة على هيكلية الملفات على النظام و كذالك تعرفنا على الفرقات بين هذه البنية و البنية التي نجدها على نظام Windows كذالك تعرفنا على مفهوم شهير على نظام لينكس و أغلب الأنظمة الشبيهة بيونكس وهو "كل شيء هو ملف" , و للرجوع إلى هذا الدرس تفضل ( الجزء 1 ) , كذلك أقترح عليك أن تتعرف على أشهر أنظمة الملفات في لينكس عبر درسنا السابق تعرف على أنظمة ملفات لينكس Linux File System.



نظرة على بنية نظام الملفات في اللنكس:

قبل أن نبدأ بعرض أهم المجلدات و نبدأ بالتعرف عليها دعونا نسترجع بعض المفاهيم المهمة من درسنا السابق , فقد تعرفنا فيه جيدا على أن أول شيء تحتاج إلى معرفته عند عرض نظام الملفات في لينكس هو أن نظام الملفات يحتوي على شجرة واحدة، بغض النظر عن عدد الأجهزة المرتبطة به . وهذا يختلف تمما على نظام Windows و الذي نجد فيه أن كل قرص صلب أو قسم أخر أو مساحة التخزين لها تمثيل خاص في نظام الملفات، التي تكون مسماة بالأحرف كـ C مثلا ،و قد فهمنا جيدا أن الجدر أي "/" في لينكس، تعني أنه كل ملف أو جهاز على النظام موجود تحت " الجذر" (root)، فهو يرمز لنقطة بداية شجرة , و جميع المسرات أخرى على هذا النظام هي متشعبة منه .



تذكير : ملف الجذر أو جذر النظام هذا "/" يختلف عن المستخدم الإداري الافتراضي، وهو ما يسمى أيضا "الجذر" (root). وهو يختلف أيضا عن المجلد الرئيسي للمستخدم الإداري الافتراضي ، والذي يقع في "root/".


و ألان , إذا كنا نريد أن نذهب إلى المستوى الأعلى من المجلد داخل نظام التشغيل لينكس ونرى ما هناك، يمكن أن نكتب أمر :


cd /



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

دعونا ألان نعرض الملفات الموجودة على هذا المصار و أيضا دعونا نتعرف عليها أكثر أولا . سنطبق أمر :

ls



bin/ : يحتوي هذا المجلد على الأوامر والبرامج الأساسية اللازمة لتحقيق بيئة عمل الحد الأدنى، يتم الاحتفاظ بها منفصلة عن بعض البرامج الأخرى على النظام للسماح لك لتشغيل النظام للصيانة حتى لو أجزاء أخرى من نظام الملفات قد تكون معطوبا أو غير متوفر. إذا كنت تبحث في هذا المجلد، وسوف تجد أن كل LS, pwd الموجودة هنا ، والأمر cd مبنى بداخل الشل (shell) التي نستخدم باش (bash)، كما أنها موجودة في هذا المجلد.
sbin/ : هذا المجلد هو اشبه ما يكون للمجلد /bin لأنه يحتوي على البرامج التي تعتبر أساسية لنظام التشغيل، وهو عادة يحتوي على الأوامر المتوفرة لمسؤول النظام، بينما مجلد آخر يحتوي على برامج لجميع المستخدمين للنظام.
boot/ : هذا المجلد يحتوي على الملفات الفعلية، والصور، والنواة(Kernel) اللازمة لتشغيل النظام، وعلى العناصر الأساسية التي تسمح فعليا للنظام بالإقلاع، في حين /bin يحتوي على الأساسيات. إذا كنت بحاجة إلى تعديل ملف الإقلاع في النظام الخاص بك، أو إذا كنت ترغب في رؤية الملفات النواة (Kernel) و(ramdisk)، يمكنك العثور عليها هنا، يجب أن يصل هذا المجلد إلى النظام في وقت مبكر جداً.
dev/ : يشمل المجلد الملفات التي تمثل أجهزة القرص الصلب والأجهزة الطرفية وأجهزة الإدخال والاخراج المتوفرة في النظام، وبالاعتماد على كل جهاز تستطيع تشغيل الأجهزة بطرق مختلفة. على سبيل المثال، الجهاز الذي يمثل القرص الصلب /dev/sda تستطيع أن ترفعه من الملف الى مركز النظام وبالمقابل لوكان لديك ملف يمثل رابط الطابعة /dev/lpr فبإمكانك كتابته مباشرة ليرسل المعلومات الى الطابعة.
etc/ : تعتبر احدى مناطق نظام الملفات التي تستهلك الكثير من الوقت والعمل اذا استخدمتها كمدير للنظام. هذا المجلد معد خصيصا لنظام الخدمات المتعددة واسعة المجال، إد أن هذا المجلد يتكون من عدة ملفات فرعية فهو يحتوي عدة ملفات معدة لأكثر الانشطة على النظام، بغض النظر عن وظيفة تلك الأنشطة. في حال الحاجة إلى الملفات متعددة الإعدادات فانه يتم انشاء التطبيق الفرعي الخاص لجلب هذه الملفات ،اذا حاولت أن تعد جهاز أو برنامج للنظام أو تقوم بالتعديل على إعدادات فان /etc هو المكان الانسب لذلك.



home/ : يحتوي هذا المجلد على جميع المجلدات الرئيسية لكافة مستخدمي النظام ( باستثناء المستخدم الجذر)، اذا أنشأت مستخدمين جدد فسيقوم المجلد بمقارنتها مع الاسماء الموجودة لديه سابقا حتى لا يحدث تعارض في أسماء المستخدمين. في داخل كل مجلد رئيسي يرتبط كل مستخدم بالصلاحية المخصصة له، فالمستخدم العادي له صلاحية على المجلد الرئيسي الذي يمتلكه مما يعمل على حفظ نظام الملفات خالية من التغييرات التي قد يقوم بها أشخاص غير مخولين. غالبا ما يوجد مجلدات ملفات مخفية داخل المجلد الرئيسي (ممثلة بنقطة البداية)، والتي تسمح للمستخدم بالقيام بإعدادات خاصة للقوائم ,
lib/ : يستخدم هذا المجلد لجميع المكتبات نظام المشتركة التي تطلب من المجلداتbin /،sbin/ ، هذه الملفات تزود البرامج بالوظائف الأساسية داخل النظام، وهي إحدى المجلدات التي لن تستطيع الوصول اليها أحيانا.
lost+found/ : المجلد الخاص الذي يحتوي على الملفات المسترجعة /fsck، إذا كان نظام الملفات معطوب أو يتم استرجاعه حاليا، فإن نظام الملفات في اللنكس يقوم بإصلاح البرامج، وأحيانا يتم العثور على الملفات ولكن يتم فقدان الموقع الخاص بها، في هذه الحالة، سيقوم النظام بوضعها في هذا المجلد. في معظم الحالات، يبقى هذا المجلد فارغ، وإذا وجدت ملفات معطوبة أو أي مشاكل أخرى مشابهة، تقوم بإجراء عملية الاسترجاع ، ويجب عليك التحقق من الموقع عند الانتهاء من عملية الاسترجاع.
media/ : هذا المجلد يكون فارغ في عملية الإقلاع، والغرض الحقيقي ببساطة هو تزويد موقع لتحميل الوسائط القابلة للإزالة مثل الأقراص المدمجة(CDs). في بيئة الخادم، وغالبا لن يتم استخدامها في بيئة الخوادم، ولكن إذا كان نظام التشغيل لنكس الخاص بك يقبل تحميل وسائط قابلة للإزالة وانت لست متأكد منها، يمكنك اللجوء لهذه الطريقة الآمنة.
mnt/ : هذا المجلد يشبه المجلد السابق، وعادة ما يستخدم هذا المجلد لتحميل نظام الملفات مثل الأقراص الصلبة الخارجية، الخ. وكثيرا ما يستخدم هذا المجلد في بيئة VPS لتركيب محركات أقراص الشبكة، إذا كان لديك نظام ملفات على خادم بعيد وترغب في تركيب نظام شبكة عليه فمن الجيد استخدام هذا المجلد لعمل ذلك.



opt/ : استخدام هذا المجلد هو غامض إلى حد ما، ويتم استخدامه من قبل بعض التوزيعات وبعضها تتجاهله، وعادة يتم استخدامه لتخزين حزم اختيارية، وتعني في اللنكس الحزم والتطبيقات التي لم يتم تثبيتها من المستودعات. على سبيل المثال، إذا كان التوزيع يوفر عادة حزم من خلال مدير الحزم، ولكن قمت بتثبيت برنامج X من المصدر، فإن هذا المجلد سيكون موقعا جيدا لهذا البرنامج، هناك خيار أكثر شيوعا لبرامج من هذا النوع موجود في المجلد المحلي /usr/local لكن كما قلت كل توزيعة تتبع سياسة خاصة مع هذا المجلد .
proc/ : هو أكثر من مجرد مجلد منتظم، يشبه نظام الملفات التي تكون موجودة في المجلد، لا يحتوي ملفات حقيقية، ولكنه يستبدل بشكل تلقائي ليعكس الحالة الداخلية للنواة (Kernel) في اللنكس. هذا يعني أننا نقوم بالتحقق وتعديل معلومات مختلفة من نواة اللنكس نفسها (Kernel)، على سبيل المثال، يمكنك الحصول على معلومات مفصلة حول استخدام الذاكرة عن طريق كتابة cat /proc/meminfo.
root/ : هو المجلد الرئيسي للمستخدم المدير (ويسمى "الجذر"). وهو يعمل تماما مثل المجلدات الرئيسية العادية.
run/ : هذا المجلد هو نظام التشغيل لكتابة معلومات مؤقتة أثناء التشغيل خلال المراحل الأولى من عملية الإقلاع، بشكل عام، ويجب أن لا تقلق كثيراً بشأن المعلومات الواردة في هذا المجلد.
selinux/ : هذا المجلد يحتوي على المعلومات التي لها علاقة بأمن نظام التشغيل، وهو وحدة النواة(Kernel) التي يتم استخدامها لتوفير التحكم في الوصول إلى نظام التشغيل. وهو أيضا يستخدم على بعض التوزيعات فقط و يرتبط وجوده بوجود برنامج selinux .
srv/ : يحتوي هذا المجلد على بيانات عن الخدمات المقدمة من قبل الكمبيوتر، في معظم الحالات، لا يتم استخدام هذا المجلد كثيرا لأن وظائفه يمكن تنفيذها في أي مكان آخر في نظام الملفات.
tmp/ : هذا هو المجلد الذي يستخدم لتخزين الملفات المؤقتة على النظام، هو قابل للكتابة من قبل أي شخص على الكمبيوتر و تبقى الملفات التي عليه فعالة حتى إعادة التشغيل الجهاز حيث يتم حذف كافت هذه الملفات ، وهذا يعني أن الملفات التي تحتاجها فقط لمدق قصيرة من العمل يمكن وضعها هنا،و بالطبع سيتم حذفها تلقائيا بمجرد إيقاف تشغيل النظام.



usr/ : هذا المجلد هو واحد من أكبر المجلدات على النظام، وتشمل في الأساس مجموعة من المجلدات التي تبدو مشابهة لتلك الموجودة في مجلد الجذر , مثل //usr,/bin ,/usr/,lib تستخدم هذا الموقع أساسا لتخزين كافة البرامج غير الضرورية والتوثيق والمكتبات، وغيرها من البيانات الخاصة بهم غير المطلوب من أجل استخدام الحد الأدنى من النظام. هذا هو المكان الذي سيتم تخزين معظم الملفات على النظام، بعض المجلدات الفرعية الهامة هي /usr/local، وهو يعتبر بديل إلى المجلد /opt لتخزين البرامج المترجمة محليا، شيئ آخر مثير للاهتمام هو التحقق من /usr/share directory، والذي يحتوي على وثائق وملفات وملفات الاعدادت، وملفات أخرى مفيدة.
var/ : يفترض في هذا المجلد احتواء البيانات المتغيرة، وهذا يعني أنه يستخدم لتخزين معلومات أو مجلدات والتي من المتوقع أن تنمو مع استخدام النظام. على سبيل المثال، توجد سجلات النظام والنسخ الاحتياطي، وهناك استخدام شائع لهذا المجلد هو تخزين محتوى الويب إذا كنت تعمل على خادم للويب.

تعليقات