هزینه راه اندازی برای پلن سه کریو رایگان شد. سفارش سرور

صفحه اصلیمقالات و آموزش

Shell چیست و چه تفاوتی با ترمینال دارد؟

Shell چیست و چه تفاوتی با ترمینال دارد؟

دسته بندی :

مفاهیم پایه لینوکس

15 دقیقه
۱۳۹۵/۹/۹

معرفی شل (Shell) در سیستم‌عامل‌های یونیکس و لینوکس

 

شل (Shell) به‌عنوان یک رابط بین کاربر و هسته سیستم‌عامل عمل می‌کند و امکان اجرای دستورات را فراهم می‌سازد. 

این واسط می‌تواند به‌صورت متنی (CLI) یا در برخی موارد به شکل گرافیکی ارائه شود. در سیستم‌عامل‌های یونیکس و لینوکس، شل یکی از ابزارهای کلیدی برای مدیریت و اجرای دستورات محسوب می‌شود.

 

وظایف اصلی shell:

  1.  

تفسیر و اجرای دستورات: شل فرمان‌های واردشده را دریافت کرده و آن‌ها را برای اجرا به هسته سیستم‌عامل ارسال می‌کند. به‌عنوان نمونه، دستور ls برای مشاهده فهرست فایل‌ها و cd جهت تغییر دایرکتوری اجرا می‌شوند.

  • اجرای برنامه‌ها و اسکریپت‌ها: با استفاده از شل، کاربران می‌توانند برنامه‌ها و اسکریپت‌های مختلفی را اجرا کرده و فرآیندهای مرتبط با آن‌ها را مدیریت کنند.

  • مدیریت فایل‌ها و دایرکتوری‌ها: کاربران می‌توانند از طریق دستورات شل اقدام به ایجاد، حذف، تغییر نام، جابه‌جایی و کپی فایل‌ها و پوشه‌ها کنند.

  • کنترل و مدیریت فرآیندها: شل به کاربران این امکان را می‌دهد که فرآیندهای در حال اجرا را مشاهده کرده و در صورت نیاز آن‌ها را متوقف یا خاتمه دهند.

  •  

انواع shell رایج در لینوکس و یونیکس:

 

در محیط‌های مبتنی بر لینوکس و یونیکس، شل‌های مختلفی وجود دارند که هر یک امکانات متفاوتی ارائه می‌دهند. در ادامه برخی از معروف‌ترین آن‌ها معرفی شده‌اند:

 

1. Bourne Shell (sh)

این شل که توسط استیو بورن توسعه داده شد، یکی از اولین شل‌های یونیکس است. به دلیل سادگی و کارایی بالا، در بسیاری از سیستم‌ها به‌عنوان شل اصلی استفاده شده است.

2. Bash (Bourne Again Shell)

این شل نسخه‌ای بهبودیافته از شل بورن بوده و در بیشتر توزیع‌های لینوکس به‌عنوان شل پیش‌فرض استفاده می‌شود. قابلیت‌هایی مانند تکمیل خودکار دستورات، امکان اجرای اسکریپت‌های پیچیده و ذخیره تاریخچه دستورات باعث محبوبیت بالای آن شده است.

3. C Shell (csh)

این شل با الهام از زبان برنامه‌نویسی C طراحی شده و برای افرادی که با این زبان آشنایی دارند، گزینه مناسبی محسوب می‌شود. ویژگی‌هایی نظیر تاریخچه دستورات و کنترل شغلی (Job Control) از جمله قابلیت‌های آن است.

4. KornShell (ksh)

شل Korn ترکیبی از ویژگی‌های شل بورن و C را در خود جای داده است. از امکانات آن می‌توان به پشتیبانی از توابع داخلی ریاضی و قابلیت‌های پیشرفته برای برنامه‌نویسی اشاره کرد.

5. TENEX C Shell (tcsh)

نسخه توسعه‌یافته شل C است که امکاناتی مانند تکمیل خودکار دستورات و تاریخچه پیشرفته‌تر را ارائه می‌دهد. در برخی سیستم‌های مبتنی بر یونیکس و لینوکس، این شل به‌عنوان پیش‌فرض برای کاربر روت استفاده می‌شود.

6. Debian Almquist Shell (dash)

شل Dash نسخه‌ای سبک و سریع از شل‌های یونیکس محسوب می‌شود که در برخی توزیع‌های لینوکسی مانند دبیان و اوبونتو برای اجرای اسکریپت‌های سیستمی مورد استفاده قرار می‌گیرد.

 

تفاوت shell و ترمینال:

 

بسیاری از کاربران این دو اصطلاح را به‌جای یکدیگر استفاده می‌کنند، اما در واقع شل و ترمینال دو مفهوم متفاوت دارند. ترمینال در حقیقت برنامه‌ای است که امکان ورود دستورات و نمایش خروجی آن‌ها را فراهم می‌کند، در حالی که شل برنامه‌ای است که این دستورات را پردازش و اجرا می‌کند. به عبارتی، ترمینال تنها یک واسط برای تعامل با شل محسوب می‌شود.

 

کاربردهای shell در دنیای فناوری:

  •  

  • مدیریت سیستم: شل ابزاری قدرتمند برای مدیریت و پیکربندی سیستم‌عامل است.

  • خودکارسازی فرآیندها: کاربران می‌توانند از شل برای نوشتن اسکریپت‌هایی که وظایف مختلفی را به‌صورت خودکار اجرا می‌کنند، استفاده کنند.

  • توسعه نرم‌افزار: برنامه‌نویسان می‌توانند از شل برای اجرای سریع‌تر کدها، تست و کامپایل برنامه‌های خود بهره ببرند.

 

جمع‌بندی:

شل‌ها ابزارهای مهمی در سیستم‌عامل‌های یونیکس و لینوکس هستند که امکان اجرای دستورات و مدیریت سیستم را برای کاربران فراهم می‌کنند. آشنایی با انواع شل و قابلیت‌های آن‌ها می‌تواند به افزایش بهره‌وری و تسلط بیشتر در محیط لینوکس کمک کند.

آموزش های مرتبط

مشاهده همه

نظرات کاربران

دیدگاهی ثبت نشده است