محتوي المقال
ما هو باش (Bourne Again Shell)؟
باش (Bourne Again Shell) هو الإصدار المجاني والمحسن من واجهة الأمر Bourne الموزعة مع أنظمة Linux وGNU. باش مشابه للإصدار الأصلي، ولكنه يحتوي على ميزات إضافية مثل تحرير سطر الأوامر.
تم إنشاء باش لتحسين واجهة الأمر Bourne السابقة (التي تسمى sh)، ويتضمن باش ميزات من واجهة الأمر Korn shell وواجهة الأمر C shell. باش تم تصميمه للامتثال للمعيار المحدد لواجهة الأمر كجزء من IEEE POSIX. يجب أن يعمل البرنامج النصي للأمر المكتوب لواجهة الأمر Bourne أيضًا في واجهة الأمر باش.
باش تم إصداره بموجب ترخيص GNU General Public License (GPL)، وهو متاح لمعظم إصدارات Unix وLinux، وتم نقل الإصدارات إلى نظامي MS-DOS وWindows.
وكما هو موضح في دليل باش للمرجعية، فإن اسم باش هو اختصار لـ “Bourne-again SHell”، وهو لعبة كلامية على اسم ستيفن بورن، مؤلف واجهة الأمر Bourne. باش هو مجموعة فرعية من واجهة الأمر السابقة ومتوافق بشكل عام مع برامج واجهة الأمر Bourne.
ما هي واجهة الأمر؟ – Shell
في علم الحوسبة، توفر واجهة الأمر وصولاً إلى مكونات نظام التشغيل. تعطي واجهة الأمر للمستخدمين (أو لبرامج أخرى) وسيلة للدخول “إلى داخل” النظام؛ حيث تحدد واجهة الأمر الحدود بين الداخل والخارج.
هناك نوعان من واجهات نظام التشغيل:
- واجهات الأوامر النصية (CLI) مثل باش تقدم للمستخدمين وسيلة موجزة وفعالة للتفاعل مع نظام التشغيل، دون الحاجة إلى تكلفة واجهة المستخدم الرسومية.
- واجهات المستخدم الرسومية (GUI) مثل ويندوز وmacOS يعتبرون أسهل للاستخدام بالنسبة للمبتدئين، ولكنهم عادةً يقدمون أيضًا برامجًا تحاكي واجهة الأمر النصية لمسؤولي النظام أو المستخدمين القوى الذين يفضلون التفاعل عبر واجهة الأمر.
- باش هو الواجهة الأمر النصية الأكثر استخدامًا لأنظمة التشغيل التي تعتمد على Unix، بما في ذلك Linux.
ماذا يُستخدم باش لعمله؟
باش، مثل واجهات الأوامر النصية الأخرى، يُستخدم لأي تطبيق كمبيوتر يتطلب الدقة عند العمل مع الملفات والبيانات، خاصة عند الحاجة إلى البحث في عدد كبير من الملفات أو كميات كبيرة من البيانات أو تصفيةها أو معالجتها بأي طريقة.
بعض أشهر استخدامات باش تتضمن:
- يُستخدم باش بواسطة مسؤولي النظام لإدارة الأنظمة بشكل منهجي وقابل للتكرار. يستخدم مسؤولو النظام باش لاستكشاف وحل المشكلات في الأنظمة التي لا تعمل كما هو متوقع من خلال تسجيل الدخول إلى الأنظمة ومراجعة تكوينات النظام والاتصالات الشبكية. كما يعتمد مسؤولو النظام أيضًا على نصوص باش لتوزيع تحديثات البرمجيات والتصحيحات، ومراقبة الأنظمة التشغيلية، وتحديث وتكوين الأنظمة.
- يعتمد مطورو البرمجيات على باش لأغراض كثيرة في تطوير البرامج. يمكن است
خدام باش لأتمتة مهام تطوير البرمجيات مثل تجميع الشفرة، وتصحيح أخطاء الشفرة المصدرية، وإدارة التغيير، واختبار البرمجيات.
- يستخدم مهندسو الشبكات باش لاختبار وتكوين وتحسين أداء الشبكات في الشبكات التنظيمية.
- يستخدم الباحثون في علوم الكمبيوتر باش لإدارة أنظمة البحث ولإجراء أبحاث على تلك الأنظمة.
- يستخدم هواة الكمبيوتر والمستخدمون القويون باش للتفاعل مع أنظمتهم، وتنفيذ البرامج، وصيانة أنظمتهم.
باش عادة ما يتم استخدامه تفاعليًا، ولكن يمكن أيضًا استخدامه لكتابة نصوص واجهة الأمر. يمكن تشغيل نصوص باش عند الطلب أو جدولتها للتشغيل بانتظام.
كيف يعمل باش؟
على النظرة الأولى، يبدو باش نظامًا بسيطًا للأمر والاستجابة، حيث يدخل المستخدمون الأوامر ويعود باش بالنتائج بعد تنفيذ تلك الأوامر. ومع ذلك، باش هو أيضًا منصة برمجية تتيح للمستخدمين كتابة برامج تقبل الإدخال وتنتج الإخراج باستخدام أوامر واجهة الأمر في نصوص واجهة الأمر.
إحدى الأوامر الأساسية في باش، ls، تقوم بعرض محتوى الدليل. بنفسها، تقوم هذه الأمر بعرض أسماء الملفات والأدلة فقط في الدليل الحالي.
الإخراج من أمر ls في باش بدون معاملات:
[صورة تظهر أسماء الملفات والأدلة فقط]
أما أمر ls، فلديه العديد من المعاملات التي تعدل كيفية عرض النتائج. بعض المعاملات المستخدمة بشكل شائع مع أمر ls تشمل:
- -l: استخدام تنسيق عرض أطول وأكثر تفصيلًا ليتضمن أذونات الملفات، وصاحب الملف، والمجموعة، والحجم، وتاريخ ووقت الإنشاء.
- -a: عرض جميع الملفات والأدلة، حتى تلك التي يُفترض عادة أن تكون مخفية.
- -s: عرض حجم كل ملف.
- -h: عرض أحجام الملفات والأدلة بتنسيق قابل للقراءة بشريًا باستخدام K، M، G وما إلى ذلك للإشارة إلى كيلوبايت وميجابايت وجيجابايت.
- -R: عرض محتوى الدليل بشكل تكراري.
عند استخدام هذه المعاملات معًا، تعطي المستخدم فهمًا أوضح لأي ملفات وأدلة موجودة في الدليل ومتى تم تغييرها لآخر مرة ومن قبل من.
يُمكن لباش دمج الأوامر من خلال توجيه إخراج أمر واحد ليتم استخدامه كإدخال لأمر آخر. على سبيل المثال، يمكن استخدام هذا الأمر لعرض جميع الملفات على نظام الملفات باستخدام المعامل -R لتحديد أن العرض يجب أن يكون تكراريًا:
[أمر ls مع المعاملات -R]
يحتوي الرد على هذا الأمر، خصوصًا عندما يتم إصداره من دليل النظام الجذري، على العديد من الإدخالات التي يصعب على البشر تحليلها بسهولة. هذا هو المكان الذي يمكن فيه استخدام الأنابيب، حيث يمكن للمستخدم أن يوجه الإخراج من أمر ls إلى أمر مطابقة النص في باش، grep.
الرمز الرأسي للأنبوب (أو “|”) يوجه إخراج قائمة الدليل إلى أم
ر grep ليتم إرجاع الملفات والأدلة فقط التي تتضمن نمط النص المحدد. على سبيل المثال، يمكن استخدام هذا الأمر للعثور على ملف محدد:
[أمر باش مع الأنبوب إلى أمر grep]
بعض الأشياء التي يكون من الأسهل فعلها تفاعليًا من سطر أوامر باش تشمل:
- إدارة الملفات والأدلة.
- التحقق من تكوين الشبكة.
- تحرير ملف تكوين (أو أي ملف نصي آخر).
- عرض الفروق بين ملفين.
أنواع أوامر باش تشمل:
- الأوامر البسيطة، والتي عادة ما تُشغل بمفردها أو مع معاملات ومتغيرات. على سبيل المثال، يأخذ أمر ls معاملات بالإضافة إلى متغيرات تتعلق بالأدلة أو الملفات التي يجب عرضها.
- الأنابيب، والتي تُستخدم لربط إخراج أمر واحد أو أكثر كإدخال لأوامر أخرى.
- القوائم، والتي تمكن المستخدمين من تشغيل العديد من الأوامر تواليًا.
- الأوامر المركبة، والتي تمكن من برمجة النصوص وتتضمن حلقات (لتكرار أمر معين عدد محدد من المرات) وبنى شرطية (لتشغيل الأوامر فقط عندما تتوافر شرط معين).
تحرير الأوامر من سطر الأوامر هو ميزة خاصة في باش ليست دائمًا متاحة في واجهات الأوامر النصية الأخرى. يحتفظ باش بتاريخ الأوامر، والذي يمكن الوصول إليه عن طريق الضغط على مفتاح السهم لأعلى. وهذا يجعل من الأسهل إعادة تشغيل أمر بدقة. يمكن أيضًا تعديل هذه الأوامر السابقة في سطر الأوامر باستخدام مفاتيح خاصة لنسخ ولصق وحذف أو تعديل الأمر السابق.
باش هو واحد من أسس إدارة الأنظمة والشبكات الحديثة، ويواجه المستخدمون الجدد منحنى تعلم عند استخدامه. ومع ذلك، بمجرد تعلمه، تبقى مهارات باش مع المستخدم إلى الأبد: مسؤول نظام من عام 1992 قد يكون قادرًا بشكل كبير على العمل بسهولة على نظام Linux الحديث باستخدام باش.