شِل shell و بَش bash در لینوکس چیست؟

شِل Shell مثل یک مترجم است که کاربر با استفاده از آن می‌تواند با سیستم عامل لینوکس یا یونیکس ارتباط برقرار کند. به عبارت دیگر، شل یک واسط بین کاربر و هسته(Kernel) سیستم عامل است. شما دستورات را به زبان شل می‌دهید و shell این دستورات را تفسیر و به سیستم عامل می‌فهماند. shell مسئول اجرای دستورات کاربر و مدیریت جریان ورودی و خروجی است. مثال‌هایی از شل‌ها عبارت‌اند از Bash، Zsh، Fish و دیگرها.


بَش یا همون Bash یک محیط خط فرمان (Shell) است که در سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس استفاده می‌شود. Bash دارای ویژگی‌های پیشرفته‌تر و قابلیت‌های بیشتری نسبت به بسیاری از shellها را دارد و بسیاری از سیستم‌عامل‌های لینوکس از bash به عنوان shell پیش‌فرض استفاده می‌کنند. برای مثال، وقتی شما در یک خط فرمان (Command Line) دستوری را وارد می‌کنید (مثلاً "ls" برای لیست کردن فایل‌ها)، این دستور به زبان شل نوشته شده و شل آن را تفسیر می‌کند و به سیستم عامل می‌فهماند که چه کاری انجام دهد.

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