,

Question 01: Shells

Question 01: Shells

Question 01: Shells

What is shell?

shell چیه ؟

جواب: shell  را میتوانیم بعنوان یک زبان واسط میان کاربر با کامپیوتر تعریف کرد . 

فرض کنید من می خواهم با یک بچه ای کوچک یک ساله ارتباط برقرار کنم، در این حالت به منظور

نام بردن اسم اجسام مثلا گفتن کلمه بابا , خود شخصیت پدر را به او نشان میدهم یا مثلا وقتی

میخواهم بگویم این قاشق است از وسیله قاشق استفاده میکنم تا این بچه متوجه کلام من شود.

از آنجا که برای کامپیوتر فقط صفر و یک معنی دار هستند بنابراین برای برقراری ارتباط با زبان کامپیوتر

نیاز داریم که معانی خود را در غالبی به کامپیوتر بفهمانیم . مثلا وقتی من روی کیبورد کامپیوتر

کلمه ای مثل ماشین را تایپ میکنم ، کلمه ماشین به تنهایی برای کامپیوتر معنایی ندارد مگر یک

مترجم این وسط دخالت کرده و به کامپیوتر با زبان خودش صحبت کند و جلمه ما را برای کامپیوتر

ترجمه کند . در این بین آنجه این نقش را بین کاربر و زبان ماشین بازی میکند همان shell یا مفسر

می باشد . یعنی وقتی من به کامپیوتر میگم جمع این دو عدد را به من بگو چند میشود، shell جمله

ما را به زبان کامپیوتر ترجمه کرده و به آن منتقل میکند و حالا که کامپیوتر متوجه منظور ما شد

چنانچه کاری که از آن خواسته شده باشد در واژگان یا دیکشنری آن وجود داشته باشد آن کار را

انجام میدهد و خروجی را به shell داده تا آنرا به زبان ما ترجمه و تفسیر نماید و چنانچه عمل خواسته

شده در واژگان کامپیوتر نباشد با پیام خطا ما را متوجه این موضوع می سازد .

از آنجا که کاربران به منظورهای متفاوتی با کامپیوتر کار میکنند مثلا بعضی ها فقط میخواهند موزیک

گوش کنند یا در Browser اینترنت دنبال مطلبی باشند و یا فیلمی ببینند و عده ای دیگر میخواهند

با استفاده از کامپیوتر برنامه نویسی کنند، لذا ابزارهای مختلفی به منظور استفاده از shell وجود دارد .

یکی از این ابزارها استفاده از محیط گرافیکی یا GUI می باشد که امکانات گرافیکی برای کاربران

فراهم میکنند تا افرادیکه می خواهند فقط از یکسری برنامه های خاص استفاده کنند بتوانند با این

ابزار کار خود را انجام دهند و محیط دیگری که برای برنامه نویسان و یا کسانیکه به منظورهای

تخصصی تر می خواهند از سیستم عامل استفاده کنند نیز فراهم شده که به آن محیط متنی

یا text می گویند . در واقع کار در محیط لینوکس هم در واقع استفاده از shell است که در دل

خود یکسری برنامه ها و ابزارهای گرافیک را صدا زده تا کاربرپسندتر باشد.

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

لذا استفاده از محیط متنی و غیر گرافیکی برای برنامه نویسان و System Administrator ها بسیار

کاربردی تر می باشد .

از آنجا که محیط shell یک محیط مناسب با ابزارهای مناسب برای برنامه نویسی و یا اتوماتیک

کردن کارهای سیستم می باشد لذا بسیاری از افرادی که درگیر کار با سیستم عامل لینوکس می باشند

ترجیح می دهند در این میحط یعنی shell  بصورت متنی کار کنند . در محیط متنی کاربران قادرند تا

دستورات خط فرمان را با گزینه های مختلف مورد نیاز خود اجرا نمایند که ممکن است این عمل در

حالت گرافیکی مقدور نباشد .

در هر سیستم عامل بر مبنای Unix  و یا Linux انواع shell  وجود دارد که بسته به نوع آنها هر کدام

یک shell  پیش فرض را استفاده می کنند .

مثلا در Sun Solaris بصورت پیش فرض از csh استفاده میشود و در انواع Linux از bash استفاده میشود .

از آنجا که هر shell قواعد خود را دارا می باشد لذا هر برنامه نویسی ممکن است بر اساس تخصص

و یا تجربه خود از shell مورد علاقه خود استفاده میکند.

انواع shell ها عبارتند از sh, csh, tcsh, zsh, ksh, bash,  و بسیاری shell های دیگر که هر کدام از

قواعد خاص خود پیروی می کنند .

2 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *