حرف S

الغلاف (Shell)

Shell

آخر تحديث: 2026-10-15
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

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

الشرح التقني المتقدم

الغلاف (Shell) هو برنامج يعمل كواجهة أو مترجم للأوامر (Command Interpreter) بين المستخدم ونواة النظام (Kernel). عندما تقوم بكتابة أمر في الطرفية (Terminal)، يقوم الغلاف بقراءته، تفسيره، ثم يرسل التعليمات إلى النواة لتنفيذها. بدون الغلاف، لن يكون هناك طريق سهل ومباشر للتواصل مع الطبقات العميقة لنظام التشغيل.

أشهر أنواع الغلاف في أنظمة لينكس

رغم أن الفكرة واحدة، إلا أن هناك عدة أنواع من الأغلفة، تختلف في ميزاتها وطريقة كتابة بعض السكربتات (Scripts) فيها:

  • باش (Bash): هو اختصار لـ Bourne Again Shell، وهو الغلاف الافتراضي في معظم توزيعات لينكس (Linux Distributions) مثل أوبونتو (Ubuntu) وديبيان (Debian).
  • زي شيل (Zsh): يتميز بقدرات تخصيص عالية، إكمال تلقائي ذكي (Auto-completion)، ودعم لسمات برمجية متقدمة، وأصبح الغلاف الافتراضي في نظام ماك (macOS) وبعض توزيعات لينكس الحديثة.
  • فيش (Fish): مصمم ليكون سهل الاستخدام (User-friendly) مع تلوين تلقائي للأوامر واقتراحات ذكية بناءً على تاريخ الأوامر (History).

كيف تعمل الأوامر داخل الغلاف؟

عندما تكتب أمراً، يبحث الغلاف (Shell) عن البرنامج التنفيذي (Executable) المطابق لهذا الأمر في المسارات المحددة في متغير البيئة (Environment Variable) المعروف باسم PATH.

لنفترض أنك تريد عرض محتويات المجلد الحالي، ستكتب الأمر التالي:

ls -l

في هذا المثال، ls هو اسم البرنامج الذي يعرض الملفات، بينما -l هو خيار (Option) يخبر البرنامج بعرض النتائج في شكل قائمة تفصيلية تحتوي على الصلاحيات، المالك، وتاريخ التعديل.

التوجيه (Redirection) والأنابيب (Pipes)

من أقوى ميزات الغلاف قدرته على التحكم بمسار البيانات الخارجة من البرامج:

  • التوجيه (Redirection): باستخدام الرمز >، يمكنك توجيه مخرجات أمر ما إلى ملف بدلاً من طباعتها على الشاشة. على سبيل المثال: echo "Hello" > file.txt
  • الأنابيب (Pipes): باستخدام الرمز |، يمكنك أخذ مخرجات أمر وتمريرها كمدخلات (Inputs) لأمر آخر. مثلاً للبحث عن كلمة "error" في ملف السجلات:
cat /var/log/syslog | grep "error"

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

احتراف الغلاف (Shell) وكتابة سكربتات باش (Bash Scripting) هو الخطوة الأولى لتصبح مدير نظام (System Administrator) أو مهندس ديف أوبس (DevOps Engineer) ناجح. فهو يوفر عليك ساعات من العمل اليدوي المكرر ويسمح بأتمتة (Automation) أعقد المهام بسطور قليلة من الأكواد.

المصادر المعتمدة :