هناك العديد من الأصداف التي من الممكن استخدامها مع لينوكس، و فيما يلي سرد لأشهرها:
1-( Bourne shell (sh.
2-(C shell (csh.
3-(Korn shell (ksh.
4-(Bourne Again shell (bash.
كتبت (Bourne shell (/bin/sh بواسطة Steve Bourne و قد تم استيلاد جميع الأصداف الحديثة من هذه الصدفة الأم. تجد هذه الصدفة في جميع أنظمة يونكس، و على الرغم من أنها لا تحتوي على الكثير من الخصائص مثل الأصداف الحديثة إلا أنها تعتبر لغة scripting language مشهورة.
أما (C shell (/bin/csh فقد كتبت بواسطة William Joy و هي تشبه في أسلوبها لغة البرمجة C، و لكنها أقل مناسبة لاستخدامها كلغة scripting language بالمقارنة مع غيرها من الأصداف.
ملاحظة: يمكن تعريف script بأنها تسلسل من أوامر shell و التي يتم تشغيلها في النمط الدفعي batch mode و يمكن تشبيه shell script بالملف الدفعي batch file في الدوس.
أما(Korn shell (/bin/ksh فهي تجمع وظائف صدفة C مع المحافظة على التوافق مع صدفة Bourne shell ، و هي صدفة مشهورة في أنظمة يونكس.
أما صدفة (Bourne Again shell (/bin/bash فهي من الصدفات المشهورة و المنتشرة في أنظمة لينوكس و هي متوافقة مع sh و تحتوي على أفضل ما في كل من csh و ksh.
موجه الأوامر في صدفة C ينتهي بالرمز % بينما تستخدم باقي الأصداف الرمز $.
يمكن تقسيم الأوامر في يونكس و لينوكس إلى نوعين:
1- أوامر داخلية بالنسبة للصدفة.
2- أوامر خارجية بالنسبة للصدفة.
الأوامر الداخلية محددة بنوع الصدفة و تؤثر فقط على الصدفة المستخدمة، و مثال عليها الأمر cd.
أما الأوامر الخارجية فهي عبارة عن ملفات يتم تحميلها و تنفيذها بواسطة الصدفة التي تقوم بالبحث عن هذه الملفات في المجلدات الشائعة التي يتم إعدادها بواسطة مدير النظام و يضيفها في الملفات التالية:
1- etc/profile/
2- etc/csh.cshrc/
3- profile.
4- cshrc.
أما مجلدات لينوكس الشائعة فهي:
1-usr/local/bin/
2-usr/bin/
3-bin/
4-usr/bin/x11/
5-usr/games/
و حيث أنه ليس كل مجلد خصوصي للمستخدم يتم احتواؤه في البحث في المجلدات الشائعة فإنه عند الرغبة بتنفيذ أمر أو برنامج ما في المجلد الحالي فعليك كتابة الأمر كما يلي:
command/.
مع استبدال command بالأمر المراد تشغيله.
للتعرف على الصدفة التي تستخدمها اكتب الأمر التالي:
Echo $SHELL
و ستحصل على نتيجة شبيهة بما يلي:
bin/bash/
لنتعرف عن قرب على الصدفة bash و التي تعد الأكثر شهرة و استخداما في أنظمة لينوكس.
تتمتع bash بالمميزات التالية:
1- job control و تسمح هذه الميزة للمستخدم بإدارة عدة عمليات يتم تنفيذها في نفس الوقت، و بالتالي يستطيع المستخدم إيقاف ما يشاء من العمليات و استئنافها فيما بعد.
2- اختصار الأوامر الطويلة بأوامر مختصرة و تم ذلك باستخدام الأمر alias كما في المثال التالي:
'Alias d='ls-lF
يقوم الأمر السابق باختصار الأمر ls-lF بالحرف d و هكذا كل مرة تكتب فيها الحرف d و تضغط على Enter سيتم تنفيذ الأمر ls-lF ، تستطيع إضافة أي عدد من الاختصارات للأوامر التي تشاء في الملف .bashrc لتكون متوفرة كل مرة تشغل فيها لينوكس.
3- الإكمال التلقائي للأوامر و أسماء الملفات و هذا يسمح لك بكتابة أول حروف من الأمر أو اسم الملف المراد و من ثم اضغط على Tab و سيحاول لينوكس إكماله تلقائيا، أما إذا رغبت بإكمال أمر ما و لكن هناك عدة أوامر تبدأ بنفس الحروف على سبيل المثال كتبت mk و أردت إكمال الأمر فعليك الضغط مرتين على Tab لتحصل على قائمة بالأوامر و أسماء الملفات التي تبدأ بالحرفين mk.
4- توفير واجهة لتحرير الأوامر.
5- إمكانية تحرير الأوامر السابقة بدلا من إعادة كتابتها، و لاستدعاء أي أمر سابق و التنقل بين الأوامر التي سبق كتابتها تستطيع الضغط على السهم العلوي أو السفلي إلى أن تصل إلى الأمر المطلوب ثم تضغط على Enter. تحفظ bash آخر خمسين أمرا سبق كتابتها.
6- تحرير الأوامر باستخدام Ctrl+Tو الذي يسمح باستبدال الرمز على يسار المؤشر بالرمز تحت المؤشر كما في المثال التالي:
لنفترض أنك كتبت الكلمة mroe و أردت تصحيحها إلى more فيكفي أن تضع المؤشر على الحرف o و تضغط على CTRL+T و سيتم تصحيح الكلمة.
7- إمكانية استخدام الرموز لاختصار مجموعة من أسماء الملفات.
تستطيع التحكم بالبيئة التي تعمل عليها في لينوكس باستخدام ملفات التكوين configuration files و تعرف أيضا بملفات run control (rr) و تسمى أيضا الملفات النقطية dot files و ذلك لأنها تبدأ دوما بالنقطة (.).
عندما يتم استدعاء bash عند الولوج إلى النظام فإنها تقوم بقراءة نوعين من ملفات التكوين:
1- system-wide configuration files، و من أمثلتها : etc/profile/ و etc/bashrc/.
2- user-defined initialization files و يمكن أن تجدها في المجلد الرئيسي للمستخدم home directory.
و بينما تعتبر ملفات النوع الأول عامة في طبيعتها فإن ملفات النوع الثاني تعكس الخصائص و التفضيلات الشخصية للمستخدم.
و هكذا فإن bash تقوم أولا بتنفيذ الأوامر في /etc/profile و من ثم تبحث عن الملفات التالية في المجلد الرئيسي للمستخدم:
1- bash_profile./~
2- bash_login./~
3- profile./~
و تقوم بتنفيذ الأوامر فقط في أول ملف تجده من الملفات السابقة بالترتيب دون إكمال باقي الملفات.