برای لینوکس shell های مختلفی وجود دارند اما بصورت پیش فرض لینوکس ها از شلی به نام Bash استفاده می کنند. توجه کنید که هرکدام از انواع shell ها در باطن کار مشابهی انجام می دهند اما در ظاهر دستوراتی با شکل استفاده ی متفاوت را به کار می برند. بطور کلی برای اجرا شدن یک دستور در سیستم عامل ها ابتدا باید دستور مورد نظر به زبان صفر و یک تبدیل شود تا برای هسته ی سیستم عامل قابل درک باشد و پس از آن این دستور توسط هسته پردازش و در نهایت اجرا شود. پس بنابراین برای برقراری ارتباط ما با هسته ی سیستم عامل به یک واسط نیاز داریم تا دستوری را که توسط کاربر ایجاد شده است را دریافت و آنرا به زبانی قابل فهم برای هسته ترجمه کند. این واسط همان shell (پوسته) است. به عبارت دقیق تر shell ها برنامه هایی هستند که دستورات متنی (text-based) قابل فهم برای بشر را دریافت و آنها را به زبان کرنل (هسته) ترجمه می کنند تا kernel بتواند آنها را تحلیل و پردازش کند.
در دوره آموزشی Packt Linux Shell Programming for Beginners با دستورات و نحوه استفاده از آنها در شل لینوکس شامل آشنا می شوید.