- بواسطة x32x01 ||
يعني إيه Shell أصلاً؟ وليه بنستخدمه على لينكس؟
لو اشتغلت على لينكس قبل كده، أكيد سمعت عن كلمة Shell… ويمكن بتتعامل معاه طول اليوم من غير ما تاخد بالك.بس خلّيني أشرحلك الموضوع بشكل بسيط كده وبالمصري علشان الصورة تبقى واضحة
الـ Shell ببساطة هو الواجهة اللي بتتعامل بيها مع النظام. يعني المكان اللي بتكتب فيه أوامر، تشغّل سكربتات، تدير سيرفرات، تعمل Automation… بمعنى تاني: هو عقلك اللي بيكلم عقل النظام
هو وسيط بينك وبين Kernel… إنت بتكتب أوامر، وهو يترجمها للنظام ويشغّلها.
وبما إن مجال البرمجة والشبكات والـ DevOps بيعتمدوا بشكل أساسي على التيرمينال… لازم تفهم Shell كويس جدًا.
هل في أنواع من الـ Shell على لينكس؟
أيوة… وده اللي ناس كتير مش عارفاه.مش كل Shell زي التاني. كل واحد ليه مزايا واستخدامات مختلفة. وأكثر 3 Shells مشهورين على لينكس هما:
- Bash
- Zsh
- Fish
أولاً: Bash - الشيل الكلاسيكي اللي بدأ بيه كل المهندسين
Bash هو الشيل الافتراضي في أغلب توزيعات لينكس…و90% من مديري السيرفرات ومهندسين الشبكات اتعلموا عليه الأول.
✔ مميزاته الأساسية
- مستقر جدًا وبيشتغل على أي نظام (Linux / macOS / حتى Windows باستخدام Git Bash).
- مدعوم في كل السكربتات تقريبًا.
- مناسب جدًا للـ Scripting وللـ Automation.
- أغلب الشروحات والمقالات والكورسات في العالم مبنية على Bash.
تستخدم Bash إمتى؟
- لما تكون شغال DevOps أو SysAdmin
- لما بتكتب Shell Scripts كتير
- لما عايز حاجة ثابتة وبدون تعقيد
مثال سكربت Bash بسيط
Bash:
#!/bin/bash
echo "Hello from Bash!"
for i in {1..5}
do
echo "Number: $i"
done
ثانياً: Zsh - الذكي، السريع، والقابل للتخصيص
هنا بقى بنخش في المستوى اللي أعلى من Bash…Zsh هو Upgrade محترم جدًا، وناس كتير نقلت له بعد ما جربته.
خصوصًا بعد ظهور Oh-My-Zsh اللي بقى بيدي شكل وإمكانيات رهيبة
مميزات Zsh
- Auto-completion ذكي جدًا
- Themes جاهزة بتغيّر شكل التيرمينال بالكامل
- Plugins رهيبة لأي حاجة تتخيلها
- أسرع ومريح في الاستخدام
- بتكتبه… وهو بيكمل معاك ويصلّح لو كتبت غلط

تستخدم Zsh إمتى؟
- لو عايز إنتاجية عالية
- لو بتشتغل وقت طويل على التيرمينال
- لو بتحب تخصص التيرمينال وتسيّطه

- لو مهتم بالشكل + السرعة
مثال إعداد بسيط لـ Zsh
Bash:
sudo apt install zsh
chsh -s $(which zsh)
ثالثاً: Fish - السهل، السريع، الجاهز للاستخدام مباشرة
Fish يعتبر Shell لطيف جدًا ومريح…لو أنت مش عايز وجع دماغ إعدادات ولا Plugins كتير… يبقى Fish هو خيارك
مميزات Fish
- Auto-complete شغال من أول لحظة
- ألوان واضحة ومريحة للعين
- سهل جدًا… من غير Configs ولا إعدادات
- مناسب للمستخدمين اللي عايزين تيرمينال جاهز يشغّلوه فورًا
تستخدم Fish إمتى؟
- لو لسه مبتدئ في لينكس
- لو عايز Shell جاهز للتعامل من غير إعداد
- لو مش محتاج تشتغل سكربتات Bash كتير
تثبيت Fish
Bash:
sudo apt install fish
chsh -s /usr/bin/fish
طب نختار مين يا بشمهندس؟
بص يا صاحبي… القرار بسيط جدًا:✔ لو شغلك Scripting، DevOps، إدارة سيرفرات → استخدم Bash
لأنه الأكثر توافقًا مع السكربتات وأنظمة التشغيل.✔ لو عايز إنتاجية أعلى وتجربة كتابة أسرع → روح لـ Zsh
خصوصًا مع Oh-My-Zsh والـ Plugins بتاعته.✔ لو عايز حاجة بسيطة وسهلة وجاهزة → اختار Fish
هيساعدك تنجز من غير أي إعدادات.
مقارنة سريعة بين Bash و Zsh و Fish
| الخاصية | Bash | Zsh | Fish |
|---|---|---|---|
| السرعة | جيد | ممتاز | ممتاز |
| الإكمال التلقائي | عادي | قوي جدًا | جاهز بدون إعداد |
| السكربتات | الأفضل | قوي | ضعيف |
| التخصيص | قليل | ضخم | محدود |
| سهولة الاستخدام | متوسط | ممتاز | ممتاز |
اختبار بسيط: مين الأفضل ليك؟
جاوب على الأسئلة دي:- بتكتب سكربتات كتير؟
→ Bash - بتحب تيرمينال شيك وسريع؟
→ Zsh - مش عايز إعدادات؟
→ Fish
خلاصة مهمة
الـ Shell جزء أساسي من شغلك كمبرمج أو مهندس شبكات أو DevOps…والاختيار بين Bash - Zsh - Fish بيعتمد على احتياجاتك اليومية.
- لو عايز قوة واستقرار → Bash
- لو عايز سرعة وإنتاجية → Zsh
- لو عايز السهولة والجاهزية → Fish