linux shells
|
2013-05-17, 02:03 PM,
ارسال : #1
|
|||
|
|||
linux shells
LINUX
SHELLS محمد پیری کامپیوترها زبان صفرها و یک ها ، زبان باینری (binary) را می¬فهمند . که خواندن و نوشتن آن برای انسان دشوار است . در سیستم¬ عامل¬ها برنامه ای به نام پوسته (shell) وجود دارد که دستورالعمل¬های ما را ( اغلب به زبان انگلیسی ) می¬گیرد و اگر دستورالعمل صحیح باشد آن را به هسته (kernel) انتقال می¬دهد . shell برنامه¬ی کابر است ، یا محیط آن برای تعامل با کاربر ارائه شده است . shell یک مفسر زبان دستور است که دستورهای خوانده شده از دستگاه ورودی (keyboard) یا از یک فایل را اجرا می¬کند . shell قسمتی از هسته¬ی سیستم نیست ، بلکه از هسته جهت اجرای برنامه¬ها استفاده می¬کند . پوسته¬ی پیش فرض در اکثر سیستم¬ها ، پوسته¬ی bash می¬باشد . Shellهای متعددی در linux در دسترس هستند ، از قبیل : BASH ( Bourne-Again SHell ) Brian Fox and Chet Ramey Free Software Foundation Most common shell in Linux. It's Freeware shell. CSH (C SHell) Bill Joy University of California (For BSD) The C shell's syntax and usage are very similar to the C programming language. KSH (Korn SHell) David Korn AT & T Bell Labs -- TCSH See the man page. Type $ man tcsh -- TCSH is an enhanced but completely compatible version of the Berkeley UNIX C shell (CSH). برای یافتن تمام پوسته¬های دردسترس در سیستم خود دستور زیر را اجرا می¬کنیم : $ cat /etc/shells برای یافتن پوسته¬ی کنونی سیستم خود دستور زیر را اجرا می¬کنیم : $ echo $SHELL برای تغییر موقت پوسته به پوسته¬ی دیگر , برای مثال پوسته¬ی sh ، دستور زیر را اجرا می¬کنیم : $ /bin/sh و همین طور می¬توانیم به راحتی به حالت قبل برگردانیم : $ /bin/bash برای تغییر دائمی پوسته (مثلا به پوسته¬ی sh) دستور زیر را اجرا می¬کنیم : $ chsh -s /bin/sh تمام پوسته¬ها کار یکسانی انجام می¬دهند اما هرکدام گرامر دستوری متفاوتی را می¬فهمند و کارکردهای متفاوتی ارائه می¬دهند . 13 نوع پوسته : Sh : پوسته¬ی bourne یا sh ، پوسته¬ی پیش فرض unix نسخه¬ی 7 بود و جایگزین پوسته¬ی Thompson شد . این پوسته به عنوان یکی از پوسته¬های پیش فرض معروف باقی مانده است . برنامه¬ی دودویی این پوسته در اکثر سیستم¬های unix در مسیر /bin/sh قرار دارد ash : پوسته¬ی Almquist ( معمولا با عنوان¬های A shell یا ash شناخته می¬شود ) . این پوسته سریع ، کوچک و ؟سازگار است و طراحی شد تا در توزیع¬های بعدی BSD جایگزین پوسته¬ی sh شود . در اصل ویژگی ویرایش خطی و دستوری را نداشت چون Almquist احساس کرد که این¬ها باید به terminal driver منتقل شوند . نسخه¬های کنونی modeهای emacs و vi را دارند . dash : پوسته¬ی Debian Almquist یک پوسته¬ی posix-compliant است . خیلی از bash کوچکتر است . فضای حافظه¬ی کمی نیاز دارد اما همچنین ویژگی¬های کمتری هم دارد . dash مستقیما یکی از نسل¬های نسخه¬ی NetBSD پوسته¬ی ash است . dash سریع¬تر از bash ، scriptها را اجرا می¬کند و به کتابخانه¬های کمتری وابسته است . It is believed to be more reliable in case of upgrade problems or disk failures. bash : یک پوسته¬ی unix است که برای پروژه GNU نوشته شده است . bash مخفف Bourne-again shell است . bash پوسته¬ی پیش فرض بسیاری از سیستم¬های linux , همچنین mac os x می¬باشد و می¬تواند روی بسیاری از سیستم عامل¬های unix-like اجرا شود . fish : این اسم مخفف friendly interactive shell می¬باشد . این پوسته روی استفاده¬ی تعاملی و متقابل و آسان بودن کار با برنامه تمرکز می¬کند . هدف از طراحی fish این است که کاربر یک سری ویژگی¬های قدرتمند جهت فهمیدن ، به یاد آوردن و استفاده¬ی آسان از برنامه ، در اختیار داشته باشد . ksh : پوسته¬ی korn (korn shell) با نسل قبل خود ، پوسته¬ی sh سازگار است و همچنین خیلی از ویژگی¬های پوسته¬ی C را دارد . مزیت اصلی ksh نسبت به پوسته¬های قبل ، استفاده¬ی آن به عنوان زبان برنامه¬نویسی می¬باشد . csh : پوسته¬ی C در اصل از پوسته¬ی Thompson ، که نسل قبل از پوسته¬ی sh است ، گرفته شده است . گرامر آن بعد آمدن زبان برنامه¬نویسی c ، شکل گرفت . این پوسته ویژگی¬های پیشرفته-تری نسبت به پوسته¬ی sh دارد . این پوسته در اصل امروزه به طور گسترده¬ای استفاده نمی¬شود و توسط پوسته¬های دیگری مثل tcsh ، که بر مبنای csh است ، جایگزین شده است . tcsh : این پوسته بر مبنای csh و سازگار با آن پدید آمده است . در اصل همان csh است به همراه ویژگی¬هایی مثل filename completion, command-line editing و تعدادی کمی ویژگی¬های دیگر . es : پوسته¬ی es یک مفسر خط فرمان است که از یک scripting language استفاده می¬کند . این پوسته قصد دارد که یک زبان برنامه نویسی کاربردی کامل ارائه دهد . rc : rc مفسر خط فرمان برای unix نسخه¬ی 10 ، plan9 و سیستم عامل Inferno می¬باشد . این پوسته شبیه پوسته¬ی sh است اما تا حدی ساده¬تر است . scsh : Scsh is a POSIX API layered on top of the Scheme programming language (currently only a Scheme 48 implementation exists, but others are planned) in a manner to make the most of scheme’s capability for scripting. It is limited to 32-bit platforms. sash : Stand-alone shell برای بازیابی حالت¬های خاص خرابی سیستم استفاده می¬شود . دستورهای sash تمام کتابخانه¬هایش به صورت ثابت وصل شده¬اند ، برخلاف اکثر پوسته¬های دیگر ، دستورهای استاندارد unix ، بر کتابخانه¬های خارجی مبتنی نیستند . zsh : پوسته¬ی z ، یک پوسته¬ی unix است که می¬تواند به عنوان یک پوسته¬ی interactive login و هم به عنوان یک مفسر فرمان قدرتمند برای shell scripting استفاده شود . این پوسته می¬تواند گسترش یافته¬ی پوسته¬ی sh ، با یک سری پیشرفت¬های بزرگ شامل تعدادی از ویژگی-های بسیار مفید پوسته¬های bash, ksh, tcsh تصور شود . |
|||
|