ما هو Bash Shell في نظام Linux؟

نشرح لك كل ذلك
يبدو Bash اسمًا غريبًا لواجهة سطر الأوامر التي ترحب بالمستخدمين الذين يقومون بتسجيل الدخول إلى أي توزيعة Linux. ما هو بالضبط باش؟ ماذا يمكنك استخدامه ل؟ دعونا معرفة ذلك.
على الرغم من أن Bash يرتبط عادةً بنظام التشغيل Linux، إلا أنه يمكنك استخدامه على نظام التشغيل Windows أيضًا. يتضمن نظام macOS بالفعل Bash، على الرغم من أنه قام بتغيير الغلاف الافتراضي إلى Zsh – وهو إصدار متقدم من Bash مع بعض الميزات الإضافية.

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

كان على المبرمجين معرفة التفاصيل ذات المستوى المنخفض للنظام الذي كانوا يقومون بالبرمجة له، وتوجيه كل قطعة من الأجهزة يدويًا. تم تصميم أنظمة التشغيل لسد هذه الفجوة، ولكن كيف يمكنك توجيه نظام التشغيل نفسه؟
أدخل شل. تم تصميم الطبقة الخارجية لنظام التشغيل لتكون بيئة تفاعلية تعرض جميع وظائف الكمبيوتر في واجهة بسيطة. كانت هذه القشرة هي أبعد ما يتعين على مستخدم الكمبيوتر التعمق فيه، حيث كانت تحتوي على جميع الأوامر المطلوبة لتشغيل النظام.
بورن مرة أخرى: كيف جاء باش ليكون
من المفاهيم الخاطئة الشائعة أن Bash تم إنشاؤه بواسطة Linus Torvalds لنظام التشغيل Linux. في الواقع، تم نقل Bash فقط إلى Linux، حيث تم استخدامه بالفعل في سابقه Unix.
من نواحٍ عديدة، يعتبر نظام Unix هو المكان الذي بدأ فيه كل شيء بالنسبة لأنظمة التشغيل الحديثة. لقد جرد الكثير من التعقيد المعقد الذي ابتليت به تطبيقات نظام التشغيل المبكرة، وقدم وظائف الكمبيوتر في واجهة نصية بسيطة نسبيًا.
بالطبع، استعار يونكس نفسه معظم أفكاره من Multics، بما في ذلك مفهوم الصدفة. لكن نظام يونكس هو الذي شاع هذه التقنية بالفعل، مع طرح Thompson Shell بنسخته الأولى.

كانت وظائفها محدودة للغاية، ومع ذلك، انتهى الأمر بالعديد من المبرمجين إلى تعديل الصدفة لجعلها أكثر ملاءمة للبرمجة النصية. كان Bourne Shell هو البديل الرسمي لقذيفة Unix، مضيفًا دعمًا لنصوص shell.
تم إصدار Bourne Again Shell في وقت لاحق بكثير، مما أدى إلى تحسين إضافي في قدرات البرمجة النصية الخاصة به وتحويله إلى غلاف ترخيص GNU مجاني ومفتوح المصدر يمكن استخدامه بواسطة أي نظام تشغيل. وسرعان ما تم تبنيه بواسطة Linux، ليصبح الغلاف الافتراضي لتوزيعاته المختلفة.
لكن ماذا يمكن أن يفعل باش؟
Bash هي في الأساس بيئة برمجة نصية كاملة مع إمكانية الوصول الكامل إلى نظام Linux. بدءًا من إدارة الملفات وحتى تشغيل التطبيقات، يمكنك تنفيذ كل مهمة حوسبة باستخدام أوامر Bash.
بالنسبة لمعظم مستخدمي Linux، يُترجم هذا فقط إلى أوامر shell اليدوية. بعد كل شيء، الغرض الرئيسي من Bash هو العمل كواجهة لنظام التشغيل.

وهناك عدد لا بأس به من هذه الأوامر المضمنة. يمكنك إدارة ملكية الملفات باستخدام chown، وتكوين إعدادات الشبكة باستخدام ifconfig، وتحديد موقع الدلائل باستخدام find – والقائمة تطول.
لكن Bash لن يكون موجودًا لو كانت أوامر Linux هي كل ما يهتم به المستخدمون. لا، القوة الحقيقية لـ Linux Shell تكمن في البرمجة النصية.
أهمية البرمجة النصية
فكرة أوامر البرمجة النصية بسيطة. بدلاً من إدخال كافة الأوامر التي تريد من النظام أن ينفذها واحداً تلو الآخر يدوياً، يمكنك حفظ الأوامر في ملف نصي يمكن تشغيله عند الطلب.
وهذا يحول واجهة الصدفة إلى لغة برمجة من نوع ما، مما يسمح للمستخدمين بأتمتة أي إجراء إلى برنامج نصي قابل لإعادة الاستخدام. ومن الواضح أن الأمر يذهب إلى أبعد من ذلك، حيث أن أي لغة برمجة تحتاج إلى أشياء مثل المتغيرات والوظائف بالإضافة إلى القدرة على حفظ التعليمات البرمجية.
وباش لديه كل هذه الميزات. هذا هو السبب في أن الصدفة – وإلى حد ما Linux بشكل عام – تحظى بشعبية كبيرة في إدارة الخوادم والأنظمة التجارية.
قد يتمكن المستخدم المنزلي من النقر فوق مجموعة من الأزرار، لكن يجب أن يكون مسؤول النظام قادرًا على تنفيذ أي إجراء على عدد كبير من أجهزة الكمبيوتر عن بُعد. نصوص Bash هي التي تجعل هذا النوع من إدارة النظام الآلي ممكنًا.
على سبيل المثال، اطلع على دليلنا حول إعادة تسمية الملفات والمجلدات على نظام التشغيل Linux. يوضح الدليل كلتا الطريقتين – واجهة المستخدم الرسومية والبرنامج النصي. كما ترى، تكون طريقة البرمجة النصية أكثر قابلية للتوسع عندما يكون هناك عدد كبير من الملفات المعنية.
الشروع في العمل مع باش
الشيء الجيد في Bash هو أنه لا يقتصر على Linux وحده. يمكنك الآن تثبيت Linux على Windows من خلال نظام Windows الفرعي لنظام Linux (WSL)، والذي يأتي مزودًا بـ Bash افتراضيًا.

وهذا يعني أنه يمكنك البدء في تجربة Bash دون الحاجة إلى التبديل بالكامل إلى Linux. حتى لو كنت مستخدمًا عاديًا لا ينوي العمل مع خوادم Linux، فإن الإمكانيات المثيرة للاهتمام لـ Bash Shell يمكن أن تكون مفيدة لك.
لا يعني ذلك أن Bash هو خيارك الوحيد لأتمتة مهام الحوسبة. PowerShell هي واجهة مشابهة تعمل مع Windows – بصرف النظر عما يمكنك إدارته باستخدام موجه الأوامر بالطبع.