Bash vs Zsh: مقارنة بين قذائف سطر أوامر

Bash vs Zsh: مقارنة بين قذائف سطر أوامر

إذا سبق لك استخدام سطر الأوامر في نظام * nix (مستند إلى Unix أو يشبه Unix) ، فمن المحتمل أنك استخدمت bash shell. Bash (اختصار لـ “Bourne-again shell”) هو الغلاف الافتراضي للعديد من أنظمة التشغيل الشبيهة بـ Unix. 

تتضمن الأمثلة الشائعة لأنظمة التشغيل الشبيهة بيونكس GNU / Linux و macOS. على الرغم من وجود العديد من القذائف الأخرى للمحطة الطرفية ، إلا أن أحد أكثر القذائف شيوعًا هو zsh أو “Z shell”.

في حين أن bash و zsh عبارة عن قذائف قوية تشترك في العديد من الميزات البارزة ، إلا أنهما يمتلكان أيضًا اختلافات قد يكون للمستخدمين تفضيلات مختلفة. ستعرض هذه المشاركة نظرة عامة على الميزات والمقارنة بين bash و zsh ، وكيفية تعيين كلاهما كصدفة افتراضية ، وبعض اقتراحات التكوين.

تاريخ قصير من bash و zsh

في عام 1971 ، جاء الإصدار الأول من نظام التشغيل Unix مع غلاف Thompson كغلاف افتراضي. على الرغم من افتقارها إلى إمكانات البرمجة النصية ، فقد أنشأت هذه القشرة الأولى العديد من معايير إعادة توجيه الإدخال / الإخراج. مع إصدار الإصدار 7 من نظام التشغيل Unix في عام 1979 ، تم توزيع نظام التشغيل الجديد مع غلاف Bourne باعتباره غلافه الافتراضي.

إنشاء باش

لاحقًا في عام 1989 ، أنشأ Brian Fox قذيفة Bash لمشروع GNU كملف برنامج بديل قابل للتطبيق لقذيفة بورن. أدخلت Bash تحسينات كبيرة على سابقتها. كان أبرز هذه التحسينات قدرتها كلغة برمجة نصية ، ويمكن لمستخدمي bash كتابة برامجهم لأتمتة المهام.

كانت البرامج النصية “shell” قابلة للتنفيذ عن طريق كتابة اسم الملف (عادةً بامتداد .sh). بالنسبة للجزء الأكبر ، يمكن أن تدعم bash معظم ميزات Bourne و C shell والفروع الفريدة ، بما في ذلك تحرير سطر الأوامر وحسابات الأعداد الصحيحة.

إنشاء zsh

بعد فترة وجيزة من ظهور Bash ، ابتكر طالب في جامعة برينستون Z shell أو “zsh”. جنبًا إلى جنب مع هذا النظام التشغيلي هو عبارة عن منصة عبر الإنترنت تعتمد على المجتمع تسمى Oh My Zsh ، والتي تتميز بامتدادات مهمة مثل المكونات الإضافية والسمات الخاصة بـ zsh. اعتبارًا من يونيو 2019 ، أعلن macOS Catalina عن اعتماده zsh كصدفة افتراضية ليحل محل bash – وهو “فوز” مهم لعشاق zsh.


Bash مقابل zsh: السمات المشتركة بين bash و zsh

بالنسبة للجزء الأكبر ، تشترك bash مقابل zsh في العديد من الميزات المريحة التي تعتبر كلاهما قذائف عالية الكفاءة.

الأمر z

إحدى الميزات المفيدة التي تتمثل في أن كلا المشاركات هما الأمر z ، والذي يسمح للمطورين بتتبع أدلةهم. باستخدام الأمر z ، يمكنك الانتقال إلى دليل متكرر / تمت زيارته مؤخرًا عن طريق كتابة z ، متبوعًا باسم الدليل. على سبيل المثال ، لنفترض أن لديك دليل newProject موجودًا في ~ / src / 2018 / projects / newProject. باستخدام هذه الأداة ، يمكنك كتابة z newProject.

تكملة

جانب عملي آخر لكلا الصدفتين هو وظائف الإكمال التلقائي لعلامات التبويب. يمكنك كتابة الأمر داخل كل غلاف ، متبوعًا بعلامة – ، ثم الضغط على علامة التبويب. سيعرض هذا الإجراء على الفور جميع الخيارات المتاحة لهذا الأمر. يمكنك بعد ذلك التنقل بين الخيارات حتى تجد الخيار الذي تريده. توفر كلتا الصدفتين المرونة والتخصيص للإكمال التلقائي لسطر الأوامر.

تصحيح تلقائي

بالإضافة إلى ذلك ، تعتبر أداة مفيدة لملف شركة تصميم مواقع إلكترونية  في كلتا الصدفتين ، في معظم الأحيان ، هو التصحيح التلقائي. في الصدفة Z ، إذا قمت بعمل خطأ مطبعي بريء أثناء كتابة موقع ملف ، فإن التصحيح الإملائي مضمّن وسيكتشف الخطأ المطبعي تلقائيًا. في حين أن هذا ليس مخصصًا لـ bash ، يمكنك بسهولة إجراء التعديلات اللازمة للسماح بالتصحيح التلقائي باستخدام أوامر shopt cdspell و dirspell.

تخصيص اللون

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

في حين أن هذه ليست سوى بعض الأدوات المختلفة التي تقدمها كلتا الصدفتين ، إلا أنها تقدم لمحة عن كيفية تشابه bash و zsh مع بعضهما البعض. ومع ذلك ، يمتلك كلاهما بعض الفروق التي يمكن أن تخلق تفضيلًا لأحدهما على الآخر بين المطورين.

bash-vs-zsh

Bash vs. zsh: أسباب للتفكير في التبديل بين الأصداف

الأوامر والتفاعل العام ل bash مقابل zsh متطابقة بشكل أساسي. يمكن بسهولة ترجمة المعرفة والإلمام بقذيفة واحدة إلى أخرى دون معالجة منحنى تعليمي حاد. ومع ذلك ، تتمتع كلتا الصدفتين بميزات فريدة قد تدفع المطورين إلى إعلان تفضيل واضح.

على سبيل المثال ، تتمتع zsh بنفوذ مجتمع قوي على الإنترنت يسمى يا بلدي Zsh. أوه ، My ZSH هو أحد أقدم الخيارات وأكثرها شيوعًا لإدارة تكوينات zsh. يقدم أكثر من 250 مكونًا إضافيًا و 140 سمة مختلفة مقدمة من المجتمع ، يعد Oh My ZSH مكانًا رائعًا لبدء تخصيص z shell ؛ حتى أنه يأتي مع وظيفة التحديث التلقائي التي تحافظ على تحديث الغلاف الخاص بك. يتيح ذلك للمستخدمين العمل في غلاف بواجهة أكثر تخصيصًا ، وزيادة مساحة العمل الخاصة بهم بمختلف أدوات، والوصول إلى نظام دعم مناسب خارج الصندوق. على سبيل المثال ، الخيار المفضل للغاية للواجهة هو موجه الجانب الأيمن أو موجه جانبي يخفي تلقائيًا عند الكتابة في مسارات أو أوامر ملف طويلة. حتى هذا المستوى الدقيق من المرونة يوجه رؤوس المطورين نحو zsh.

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

bash-vs-zsh

تثبيت zsh

إذا كنت تستخدم OS X ، فهذا يعني أنك قمت بالفعل بتثبيت zsh على نظامك. للتحقق ، قم بتشغيل الأمر التالي:

التي zsh

إذا كان مثبتًا بالفعل ، يجب أن تتلقى رسالة إخراج تنص على / bin / zsh كمسار ملف للقذيفة. هناك احتمال ضئيل أنه قد يعرض مسار ملف آخر إذا قمت ، لسبب ما ، بنقل دليل التثبيت الافتراضي. إذا تلقيت مخرجات تفيد بأن zsh غير موجود ، فيجب عليك تثبيته عبر البيرة. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:

الشراب تثبيت zsh

بالنسبة لتوزيعات CentOS و Redhat و Fedora Linux ، يمكنك تثبيت zsh عن طريق تشغيل yum install zsh.

وبالمثل ، فإن sudo apt-get install zsh سيُثبِّت الصدفة على توزيعات دبيان وأوبونتو. يمكنك البدء في استخدام zsh حتى لو كانت bash هي قشرتك الافتراضية. لتجربته مؤقتًا ، قم بتشغيل zsh على سطر الأوامر. سيؤدي هذا إلى تبديل الغلاف مؤقتًا لجلستك الحالية. لتحقيق أقصى استفادة من zsh ، يوصى بشدة بترقية جهازك بدلاً من استخدام الإعداد الافتراضي.

المحطة هي الإعداد الافتراضي في نظام التشغيل Mac OS X. بينما تعمل بشكل جيد ، فإن الخيارات مثل iTerm 2> or فرط تقدم تخصيصًا هائلاً. أنا أستخدم iTerm 2 ، على الرغم من أن Hyper هو خيار ممتاز متاح عبر الأنظمة الأساسية.

ضبط zsh كصدفة افتراضية

الآن بعد أن قمت بتثبيت zsh ، كل ما عليك فعله لتعيينه كصدفة افتراضية هو تشغيل الأمر التالي:

chsh -s / bin / zsh

لبدء استخدام zsh ، أغلق نافذة Terminal وافتح نافذة جديدة – ستعمل الآن zsh بدلاً من bash.

العودة إلى باش

إذا أردت ، لسبب ما ، العودة إلى bash كصدفة افتراضية ، اكتشف أولاً مكان تثبيت bash مع bash.

يجب أن يكون إخراج المسار الافتراضي هو / bin / bash.

للرجوع للخلف ، استخدم chsh -s / bin / bash.

سيؤدي تشغيل bash أيضًا إلى تبديل shell مؤقتًا لتلك الجلسة.

تكوين zsh

مثل bashrc. ، يستخدم zsh ملف نقطي لتخزين إعدادات تكوين المستخدم ، zshrc. محتجز في الدليل الرئيسي (~ / .zshrc). لن يكون هناك إعداد لملف التكوين بشكل افتراضي ، لذلك يجب عليك إنشاء واحد في الدليل الرئيسي الخاص بك (~ / .zshrc).

وبالمثل ، يمكنك إضافة ملف .zprofile إلى الدليل الرئيسي الخاص بك. .zprofile هو برنامج نصي يتم تشغيله عند تسجيل الدخول. يمكنك إضافة أي أوامر ترغب في تشغيلها عند بدء مثيل shell جديد. بالنظر إلى النطاق الواسع للتخصيص المتاح في zsh ، يمكن أن يكون استخدام مدير تكوين مخصص مفيدًا. توجد العديد من الخيارات ، بما في ذلك السعر،>يا بلدي ZSHوالنمو  مولد المضاد.

يا بلدي ZSH

لتثبيت Oh My ZSH ، قم بتشغيل

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ش

سيؤدي هذا إلى تنزيل البرنامج النصي القابل للتنفيذ وتثبيته على نظامك. عند تثبيت Oh My ZSH ، تعد الإعدادات الافتراضية مكانًا رائعًا للبدء.

بشكل افتراضي ، سيقوم بتثبيت سمة “robbyrussell” (التي تحمل الاسم نفسه من المطور الأصلي للمشروع).

بالإضافة إلى ذلك ، سيتم تثبيت العديد من المكونات الإضافية المفيدة. ستظهر على الفور جوانب قليلة من شاشة الجهاز مختلفة على الفور.

فروع جيت

على غرار ما سبق ، يضيف Oh My ZSH أيضًا مكونًا إضافيًا سيعرض الفرع الحالي الذي تعمل فيه في مشروع git. بعد ظهور دليل العمل في موجه الأوامر ، ستعرف دائمًا الفرع الذي تتصفحه. بهذه الطريقة ، لن تضطر أبدًا إلى الدخول إلى الفرع لمعرفة الفرع الحالي. يضيف المكون الإضافي git أيضًا العديد من الميزات القيمة الأخرى.

في المثال أدناه ، يوجد دليل المشروع حاليًا في فرع الاختبارات. يمكننا أيضًا معرفة أن شجرة العمل نظيفة ، بدون أي تغييرات لم تلتزم بها. في هذه الحالة ، يتم الإشارة إلى ذلك من خلال حقيقة أن الشاشة خضراء. بمجرد إجراء تغيير ، يتحول العرض إلى لون آخر ، مما يعني أن هناك تغييرات جديدة يجب الالتزام بها:

bash-vs-zsh

تعمل zsh على تحسين سير عمل Git بشكل كبير باستخدام هذه الأنواع من المؤشرات مباشرةً في موجه الأوامر.

تغيير المظهر الخاص بك

كما هو مذكور أعلاه ، يأتي zsh مع مئات من السمات المختلفة. سيكون robbyrussell هو السمة الافتراضية ، على الرغم من أنه يمكنك بسهولة تغيير هذا. للعثور على سمة جديدة تقدمها Oh My ZSH ، قم بمعاينة كل منها على صفحة السمات في ريبو المشروع. نظرًا للعديد من الخيارات المتاحة ، فمن المحتمل أن تجد واحدًا متاحًا به الميزات التي تبحث عنها بدقة تقريبًا.

بمجرد العثور على الملف الذي يعجبك ، افتح ملف .zshrc في الدليل الرئيسي. بعد ذلك ، ستحتاج إلى تحديث السطر بدءًا من ZSH_THEME. ضع الاسم الذي تريد استخدامه (داخل علامات الاقتباس) ، ثم احفظ الملف. يجب أن يؤدي فتح جلسة طرفية جديدة الآن إلى عرض الموضوع الجديد.

bash-vs-zsh

يمكنك حتى تعيين ZSH_THEME بشكل عشوائي. سيؤدي هذا إلى تحميل سمة عشوائية جديدة في كل مرة تفتح فيها جلسة جديدة في الغلاف.

قد تتطلب بعض السمات ، مثل خطوط Powerline الشائعة ، حزمًا أو خطوطًا إضافية. يجب أن تحدد تعليمات تثبيت السمة أي حزم أخرى مطلوبة ، بالرغم من ذلك.

في الختام

كما نظرنا في zsh مقابل bash post ، يشترك zsh و bash في مجموعة مماثلة ومثيرة للإعجاب من الميزات ولكن لديهم أيضًا أدواتهم الخاصة. إذا كنت تبحث عن قابلية للتوسعة وتخصيص أكبر وميزات متقدمة غير موجودة في bash ، فإن صدفة zsh المدمجة مع إطار عمل Oh My Zsh تعد خيارًا ممتازًا. بغض النظر عن الصدفة التي تختارها ، فإن الطلاقة المحسنة في سطر الأوامر توفر فوائد لا حصر لها في الكفاءة والأتمتة وفهم أفضل للأعمال الداخلية لجهاز الكمبيوتر الخاص بك.

للحصول على مقدمة لبعض أوامر shell الأساسية ، تحقق من منشورنا على استخدام سطر الأوامر الأساسي.

استضافة محرك الفسفور الابيض

 

أنجيلو فريزينا أشعة الشمس وسائل الإعلام
أنجيلو فريزينا

كاتب السيرة الذاتية

Angelo Frisina هو مؤلف ذو خبرة عالية وخبير تسويق رقمي مع أكثر من عقدين من الخبرة في هذا المجال. وهو متخصص في تصميم الويب وتطوير التطبيقات وتقنيات تحسين محركات البحث وتقنيات blockchain.

أدت معرفة Angelo الواسعة بهذه المجالات إلى إنشاء العديد من مواقع الويب الحائزة على جوائز وتطبيقات الهاتف المحمول ، فضلاً عن تنفيذ استراتيجيات تسويق رقمية فعالة لمجموعة واسعة من العملاء.

يعتبر أنجيلو أيضًا مستشارًا محترمًا ، حيث يشارك أفكاره وخبراته من خلال العديد من ملفات البودكاست وموارد التسويق الرقمي عبر الإنترنت.

بشغف للبقاء على اطلاع دائم بأحدث الاتجاهات والتطورات في العالم الرقمي ، يعد Angelo رصيدًا قيمًا لأي مؤسسة تتطلع إلى البقاء في المقدمة في المشهد الرقمي.

مشاركة32
دبوس3
مشاركة
35 سهم

نحن فريق من المصممين الخبراء المتخصصين في التصميم و التطوير و التسويق لبداية مشروعك الخاص . تضعك خدمات التصميم الخاصة بنا في المقدمة في كل خطوة من الخطوات العملية لضمان تقديم الخدمة التي تبحث عنها والذي يلبي كل متطلباتك. يمكنك التواصل معنا لمناقشة التفاصيل على الرقم الآتي…
+966 548005766
[email protected]


Recommended Posts

Leave a Reply

Your email address will not be published. Required fields are marked *