تعريف / الغلاف أو shell: هو برنامج يعمل كوسيط بين المستخدم ونواة النظام Linux Kernel. حيث يقوم باستقبال الأوامر من المستخدم ثم إرسالها إلى النواة كي يتم تنفيذها والتعامل معها، ولذلك يسميه البعض صدفة أو غلاف؛ لأنه يغلف النواة الـkernel.
ملاحظة: سيتم استخدام مصطلح غلاف أو صدفة بدلاً من shell.
تعريف / Script: عبارة عن مجموعة أوامر أو بريمج مبسط من عدة أوامر يقوم بوظائف محددة.
مميزات برامج الشل:
- سهلة جداً، وبإمكان أي شخص برمجتها بكل سهولة ويسر.
- سريعة التنفيذ؛ لأنها لا تحتاج إلى Compile, Test, Debug، ويتم تنفيذها مباشرة.
توجد عدة أغلفة shells مضمنة في توزيعات لينوكس ولكن أشهرها:
1- Bourne shell (sh).
2- C shell (csh).
3- Korn shell (ksh).
4-(Bourne Again shell (bash.
تمت كتابة (/bin/sh) Bourne shell بواسطة Steve Bourne وهي متوفرة مع جميع أنظمة اللينوكس وجميع الأصداف أو الأغلفة الحديثة يرجع أصلها لهذه الصدفة فهي تعتبر الصدفة الأم. ومع أنها لا تحتوي على الكثير من الخصائص والمميزات مثل الأصداف الحديثة إلا أنها تعتبر لغة scripting language مشهورة، أما (C shell (/bin/csh فقد كتبت بواسطة William Joy وهي تشبه في أسلوبها لغة البرمجة C، و لكنها أقل استخداماً كـscripting language بالمقارنة مع غيرها من الأصداف.
أما(Korn shell (/bin/ksh فهي تجمع وظائف صدفة C مع المحافظة على التوافق مع صدفةBourne shell ، وهي صدفة مشهورة في أنظمة يونكس.
أما صدفة (Bourne Again shell (/bin/bash فهي من الصدفات المشهورة والمنتشرة في أنظمة لينوكس وهي متوافقة مع sh وتحتوي على مميزات وخصائص كل من csh و ksh وأكثر.
سطر الأوامر Command Line في صدفة C ينتهي بالرمز % بينما تستخدم باقي الأصداف الرمز $.
تلك أشهر الأغلفة الموجودة في اللينوكس، ويوجد أيضاً غلاف zsh، وكذلك tcsh، والفرق بين الأنواع السابقة هو كما استنتج بعضنا في المميزات فقط.
وبما أن الـbash أكثرهم تطوراً و خصائصاً لذلك سيكون موضع الدراسة والتطبيق في هذا الباب.
مميزات غلاف الـ bash:
- برمجته سهلة التعلم، ولا يشترط وجود خبرات سابقة برمجية.
- تختصر الوقت كثيراً فالأعمال التي تؤديها بشكل دوري (يومي أو أسبوعي أو شهري أو حتى سنوي) تستطيع أن تبرمج شل اسكربت بسيط يقوم بكل هذا المهام بأمر واحد؛ مثل: النسخ الاحتياطي اليومي، ومثل حذف ملفات اللوج كل فترة معينة.
- يدعم خاصية إكمال السطر أو الأمر وذلك باستخدام زر Tap.
- يدعم خاصية تعديل سطر الأوامر بالـ BackSpace.
- خاصية حفظ الأوامر الـ Command History حيث يقوم بتسجيل جميع الأوامر السابقة في الملف bash_history. فبالأسهم تستطيع استدعاء الأوامر السابقة دون الحاجة لكتابتها من جديد.
- سطر أوامر قياسي يأتي مع جميع إصدارات اللينوكس.[/frame]
والى لقاء قريب مع الدرس الثاني والمجال مفتوح للاسئله والاستففسارت ..