شرح معيار التسلسل الهرمي لنظام الملفات



جرب أداة القضاء على المشاكل

يحدد معيار نظام الملفات الهرمي أو FHS كيفية عمل بنية الدليل في Linux ، وهو أمر تمت كتابة العديد من مقالات المبتدئين عنه بالفعل. ومع ذلك ، فإنه لا يزال أيضًا أحد الأشياء التي تربك المبتدئين أكثر من غيرها ، وبالتالي لا تزال الأسئلة المتعلقة بها تُطرح طوال الوقت. إذا كنت ستلقي نظرة على المستوى الأعلى من تثبيت Linux ، فسترى العديد من الدلائل التي تم تحديدها بواسطة هذا المعيار المحدد.



لقد أخذنا الوقت الكافي للتحدث مرة أخرى وتحديد usr ، وما إلى ذلك ، وجميع الآخرين الذين يربكون حتى المبرمجين ذوي الخبرة. ومع ذلك ، قد ترى دليلًا أو مجلدًا إضافيًا لم تجده محددًا هنا. هل سبق لك أن رأيت / فقدت + وجدت في جذر بنية ملفك؟ لم يتم تعريف هذا الملف على وجه التحديد من قبل FHS ، ولكنه تم إنشاؤه بواسطة ext4 وأنظمة الملفات الأخرى للتأكد من وجود مكان لوضع الملفات المفقودة التي تم التقاطها أثناء فحص التناسق. إذا أتيحت لك الفرصة لاستكشاف هيكل هاتف Android ، فربما تكون قد شاهدته يسمى LOST.DIR أيضًا.



توضيح مجلدات FHS



يمثل / أعلى نقطة في بنية الدليل بالكامل - نظرًا لأن Linux يستخدم نفس النظام الذي يستخدمه Unix لتحديد بنية الدليل ، فهذا هو الجزء العلوي من كل شيء وليس مجرد محرك أقراص واحد. على الأرجح ، إذا كنت تستخدم نظام Ubuntu أو Fedora لمستخدم واحد ، فلديك قسم قرص كبير تم تعيينه للتركيب هنا. يحتوي قسم القرص هذا على أدلة أو مجلدات موجودة في هذا المستوى العالي ، ولكن من المهم أن تتذكر أنه يمكنك تكوين Linux ليكون له قسم / home / / أو قسم آخر مختلف إذا أردت ذلك حتى تتمكن من ضبط نقطة التحميل على واحد من هذه الدلائل.

/ bin يشمل معظم البرامج الأساسية التي تحتاجها لتشغيل أبسط واجهة Linux. ستجد هنا cat و ls و mv و touch و nano. الاسم يقف على الثنائيات.

/ boot يحتوي على الملفات اللازمة لتشغيل نظامك ، مثل ملفات kernel و initrd.



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

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

يحتوي / home على دليلك الرئيسي وربما أدلة الصفحة الرئيسية للمستخدمين الآخرين إذا كان لديك أي منها. يمكنك استخدام ~ / كاختصار للدليل الرئيسي الخاص بك ، والذي يجب أن ينتقل بدلاً من الدليل الجذر / الرئيسي. على سبيل المثال ، إذا كنت مستخدمًا باسم manny ، فإن كتابة ~ / Documents ستمثل / home / user / manny / Documents وستتم ترجمتها على هذا النحو. المستخدم الجذر لديه دليل المنزل الخاص به مخفيًا بعيدًا في / root بدلاً من / home / root حتى إذا كنت تستخدم Ubuntu وتم تجزئته بالكامل.

/ lib يحتفظ بالعديد من المكتبات التي تحتاجها البرامج لتشغيلها ضمن نواة Linux. قد يكون لديك أيضًا دليل / lib64 لمكتبات 64 بت إذا كنت تعمل على توزيع مستند إلى amd64.

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

/ mnt تستخدم للاحتفاظ بجميع الوسائط القابلة للإزالة قبل أن يصبح التثبيت التلقائي شائعًا في Linux. يتم استخدامه الآن لأي شيء تقوم بتحميله باستخدام أمر sudo في موجه الأوامر. قد ترغب في استخدامه لتركيب صور القرص أو ملفات ISO إذا كنت تستخدم أمر mount -o loop iso.

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

يعد / proc أمرًا محيرًا للقادمين الجدد ، لأنه يمثل نقطة تحميل لنظام ملفات افتراضي يوفر مكانًا للملفات التي تمثل الطريقة التي يرى بها النواة جميع المعدات المتصلة بجهازك. من الأفضل تجربتها بنفسك بدلاً من محاولة شرحها. جرب الجري cat / proc / cpuinfo | أكثر في موجه الأوامر لمعرفة كيف تبدو وحدة المعالجة المركزية الخاصة بك على النواة. لاحظ أن سرعة وحدة المعالجة المركزية (CPU) بالميغاهرتز لا تتطابق بالضرورة مع السرعة الفعلية للمعالج. قمنا بتشغيل هذا على كمبيوتر محمول صغير 32 بت مزود بمعالج أقدم أحادي النواة بسرعة 1.6 جيجاهرتز والذي كان يعمل بسرعة 800 ميجاهرتز. هذا التناقض هو الشيء الذي يجعل ملفات / proc مفيدة للغاية. ما يظهره هذا هو أن توزيع Lubuntu خفيف جدًا على الموارد بحيث تعمل وحدة المعالجة المركزية في وضع أبطأ حتى تحتاج إلى الاستفادة من الطاقة الكاملة للأجهزة الأساسية. هذا هو السبب في أن بيئة سطح المكتب LXDE تحظى بشعبية كبيرة بين أولئك الذين يعيدون بناء الأجهزة القديمة.

/ run يحتفظ بالملفات والمجلدات التي تصف المعلومات المتعلقة بمثيل التشغيل الحالي لنظام Linux. إذا قمت بإعادة التشغيل ، فسيتم إعادة بناء هذه الملفات لتمثيل المثيل الجديد.

يحتوي / sbin على برامج نظام مهمة جدًا وحيوية جدًا. ستجد أن fsck موجود هنا ، لأن Linux يريد التأكد من أنه يمكنه دائمًا التحقق من أحد الأقسام عند حدوث شيء سيء.

يحتفظ / srv ببيانات خاصة بالموقع للخوادم وأنظمة التحكم في الإصدارات ، وقد تجد أنها فارغة تمامًا عند التثبيت.

يحتفظ / sys بملفات تصف برامج التشغيل وتحدد الأجهزة التي تشير إليها الأجزاء الأخرى من FHS.

/ tmp ممتلئ بالملفات المؤقتة التي تم إنشاؤها بواسطة البرامج قيد التشغيل. غالبًا ما يتم مسحه عند إعادة التشغيل ، لذلك تعتبر الملفات هنا قابلة للاستهلاك. إذا كنت تتذكر مجلد Temp داخل C: Windows ، فاعلم أن / tmp يخدم غرضًا مشابهًا إلى حد ما في Linux.

/ usr أصبح نوعًا من دليل شامل يناسب البرامج الثنائية التي لا تعتبر ضرورية مع الاحتفاظ أيضًا بعدد كبير من بيانات المستخدم وملفات التكوين للقراءة فقط. يجد العديد من المبتدئين أن دليل usr غريب بعض الشيء لأنه يبدو أنه يحتوي على الكثير من ملفات التكوين للبرامج التي يستخدمونها طوال الوقت.

/ var هو مكان للسجلات والملفات المتغيرة الأخرى التي تتغير طوال الوقت.

4 دقائق للقراءة