اگر بخواهیم یک توضیح کلی در مورد Shell برای آنها که شناخت کافی از این ابزار ندارند بدهیم، باید آن را با command prompt ویندوز مقایسه کنیم. محلی که در آن دستورات و اسکریپتهایی را تایپ و اجرا میکنید.
- آموزش نصب تلگرام بر روی نسخههای مختلف لینوکس
- تغییر IP لینوکس به وسیله ترمینال Command Line
- آموزش بوت دو گانه ویندوز و لینوکس
حالا باید در نظر گرفت که هر کدام از این Shellها امکاناتی در اختیار کاربر میگذارند که عملکرد آنها را با هم متفاوت میکند. ابتدا برای اینکه بدانید بر روی سیستم عامل لینوکس دسکتاپ شما کدام یک از Shellها نصب هستند، ترمینال را باز کرده و فرمان زیر را اجرا کنید:
فرمان cat /etc/shells
و برای اینکه بدانید در حال حاضر از کدام یک از آنها استفاده میکنید فرمان زیر را تایپ کنید:
echo $0
و اما برترین Shellهای موجود برای لینوکس:
Bash
با اختلاف بسیار زیادی Bash محبوبترین Shell موجود برای لینوکس به شمار میرود و بسیاری از کاربران به طور کل این امکان را با Bourne-Again Shell یا همان Bash میشناسند. این برنامه که از سال ۱۹۸۹ تولید شده است در حال حاضر در بسیار از نسخههای لینوکس به عنوان پیشفرض بر روی سیستمعامل قرار دارد.
از جمله امکانات ارزشمند این محصول میتوان پورت کردن مستقیم sh scriptها درون Bash اشاره کرد بدون اینکه نیازی به تغییر کد وجود داشته باشد. چند امکان مفید هم در Bash وجود دارد که مربوط به عملکرد بهتر تاریخچه دستوراتی است که در آن اجرا کردهاید. برای استفاده بهتر از Bash میتوانید به توضیحات آنلاین و کامل آن نیز رجوع کنید.
KornShell
KornShell یا همان ksh ابتدا توسط Bell Labs در سال ۱۹۸۰ ساخته شد اما تا سال ۲۰۰۰ به صورت عمومی در دسترس کاربران لینوکس قرار نگرفته بود. تفاوت زیادی بین ksh و Bash وجود ندارد، در واقع هر کدام در جزییات کمی با هم متفاوت هستند. برای مثال بعضی از دستورات cd جدید بر پایه ساختارهای قدیمی در دل ksh وجود دارد که در بعضی موارد به شدت کاربردی مینماید. برای مثال وقتی درون پوشه /Downloads/foo/bar/one/foobar هستید و میخواهید به پوشه /Downloads/foo/bar/two/foobar بروید کافیست دستور زیر را اجرا کنید:
cd one two
در بخش چرخهها و دستورات تکرار شونده، امکاناتی درون ksh شده که بسته به سلیقه شما خوب یا بد بودن آن متفاوت است. بسیاری آن را کاربردی در نظر میگیرند و بعضی نیز شیوهی مرسوم Bash را میپسندن.
Tcsh
شکل گیری این محصول بر میگردد به دوران شروع Unix. Tcsh در واقع یک C shell با امکان ویرایش کامندلاینها و کامندلاینهای قابل برنامهنویسی ست که البته در ذات خود امکانات بیشتری نیز دارد. این Shell بر روی سیستمهای مبتنی بر BSD همچون FreeBSD به عنوان Shell پیشفرض قرار گرفته است و مهمترین چیزی که به آن شناخته میشود، شکل اسکریپت آن است که برای کسانی که با C برنامهنویسی میکنند به شدت آشنا مینماید.
موارد دیگری همچون Z Shell یا Fish نیز وجود دارند که میتوان از آنها در لینوکس بهره برد اما در نهایت پیشنهاد میشود بین یکی از سه مورد بالا یکی را برای کار خود در نظر بگیرید.