Bash نامی عجیب برای یک رابط خط فرمان است که به کاربرانی که وارد هر توزیع لینوکس می شوند خوشامد می گوید. Bash دقیقا چیست؟ برای چه کاری می توانید از آن استفاده کنید؟ بیایید پیدا کنیم.
در حالی که Bash معمولاً با لینوکس مرتبط است، میتوانید از آن در ویندوز استفاده کنید نیز داشته باشید. macOS قبلاً شامل Bash است، اگرچه پوسته پیشفرض را به Zsh تغییر داده است - نسخه پیشرفته Bash با برخی ویژگیهای اضافی.
پوسته چیست؟
اصطلاح پوسته Bash زیاد پرتاب می شود، اما به هر حال پوسته چیست؟ چرا نیاز است؟ و چرا به نظر میرسد Bash تنها پوسته موجود در آنجا باشد؟
سیستم عامل های مدرن با رابط های کاربری گرافیکی بصری خود، استفاده از رایانه را آسان به نظر می رساند. اما در روزهای اولیه کامپیوترها، گفتن اینکه سیستم چه کاری انجام دهد چندان ساده نبود.
برنامهنویسها باید جزئیات سطح پایین سیستمی را که برای آن کدنویسی میکردند، میدانستند و هر قطعه سختافزاری را به صورت دستی آموزش میدادند. سیستمهای عامل برای پر کردن این شکاف طراحی شدهاند، اما چگونه به خود سیستمعامل آموزش میدهید؟
وارد پوسته شوید. بیرونی ترین لایه سیستم عامل به گونه ای طراحی شده است که یک محیط تعاملی باشد که تمام عملکردهای رایانه را در یک رابط ساده به نمایش می گذارد. این پوسته دورترین پوسته ای بود که یک کاربر کامپیوتر باید در آن جستجو کند، زیرا حاوی تمام دستورات مورد نیاز برای کارکرد سیستم بود.
دوباره بورن: چگونه Bash بوجود آمد
یک تصور اشتباه رایج این است که Bash توسط لینوس توروالدز برای سیستم عامل لینوکس ایجاد شده است. در واقعیت، Bash صرفاً به لینوکس منتقل شده بود، که قبلاً در نسخه قبلی خود، یونیکس استفاده میشد.
از بسیاری جهات، یونیکس جایی است که همه چیز برای سیستم عامل های مدرن آغاز شد. بسیاری از پیچیدگیهای پیچیدهای را که در پیادهسازیهای اولیه سیستمعامل آزار میداد، از بین برد و عملکردهای یک رایانه را در یک رابط متنی نسبتاً ساده ارائه کرد.
البته، خود یونیکس بیشتر ایده های خود را از Multics وام گرفته است، از جمله مفهوم پوسته. اما این یونیکس بود که در واقع این تکنیک را محبوب کرد و تامپسون شل با اولین نسخه آن عرضه شد.
عملکرد آن کاملاً محدود بود، با این حال، و بسیاری از برنامه نویسان در نهایت پوسته را تغییر دادند تا آن را با برنامه نویسی سازگارتر کنند. Bourne Shell جایگزین رسمی پوسته یونیکس بود و پشتیبانی از اسکریپت های پوسته را اضافه کرد..
پوسته Bourne Again خیلی دیرتر منتشر شد و بهبود بیشتری در قابلیتهای اسکریپتنویسی آن ارائه کرد و آن را به پوسته مجوز آزاد و منبع باز گنو تبدیل کرد که میتوان آن را توسط هر سیستمعاملی استفاده کرد. و به سرعت توسط لینوکس پذیرفته شد و به پوسته پیشفرض توزیعهای مختلف آن تبدیل شد.
اما Bash چه کاری می تواند انجام دهد؟
Bash اساساً یک محیط اسکریپت نویسی کامل با دسترسی کامل به سیستم لینوکس است. از مدیریت فایلها تا اجرای برنامهها، میتوانید هر کار محاسباتی را با دستورات Bash انجام دهید.
برای اکثر کاربران لینوکس، این فقط به دستورات پوسته دستی ترجمه می شود. پس از همه، هدف اصلی Bash این است که به عنوان یک رابط برای سیستم عامل عمل کند.
و تعداد کمی از این دستورات داخلی وجود دارد. میتوانید مالکیت فایل را با چاشنی مدیریت کنید، تنظیمات شبکه را با ifconfig پیکربندی کنید، فهرستها را با پیدا کردن پیدا کنید - لیست ادامه دارد.
اما اگر دستورات لینوکس تمام آن چیزی بود که کاربران به آن علاقه داشتند، Bash وجود نداشت. نه، قدرت واقعی پوسته لینوکس در اسکریپت نویسی نهفته است.
اهمیت اسکریپت
ایده دستورات اسکریپت ساده است. به جای اینکه به صورت دستی تمام دستوراتی را که میخواهید سیستم انجام دهد را یکی یکی وارد کنید، دستورات را در یک فایل متنی ذخیره میکنید که میتواند در صورت درخواست اجرا شود.
این رابط پوسته را به یک نوع زبان برنامه نویسی تبدیل می کند و به کاربران امکان می دهد هر اقدامی را به صورت خودکار به یک اسکریپت قابل استفاده مجدد تبدیل کنند. بدیهی است که از این هم فراتر می رود، زیرا هر زبان برنامه نویسی علاوه بر توانایی ذخیره کد به چیزهایی مانند متغیرها و توابع نیز نیاز دارد.
و Bash همه آن ویژگی ها را دارد. به همین دلیل است که پوسته - و تا حدودی لینوکس به طور کلی - برای مدیریت سرورها و سیستم های تجاری بسیار محبوب است.
یک کاربر خانگی ممکن است با کلیک کردن روی یک دسته از دکمهها دریافت کند، اما یک مدیر سیستم باید بتواند هر عملی را روی تعداد زیادی رایانه از راه دور انجام دهد. اسکریپت های Bash چیزی هستند که این نوع مدیریت سیستم خودکار را ممکن می کنند.
به عنوان مثال، راهنمای ما در مورد تغییر نام فایل ها و پوشه ها در لینوکس را در نظر بگیرید. راهنما هر دو روش - رابط کاربری گرافیکی و اسکریپت را نشان می دهد. همانطور که می بینید، روش اسکریپت زمانی که تعداد زیادی فایل درگیر باشد، بسیار مقیاس پذیرتر است.
شروع با Bash.
خوبی Bash این است که فقط به لینوکس محدود نمی شود. اکنون میتوانید لینوکس را روی ویندوز نصب کنید را از طریق زیرسیستم ویندوز برای لینوکس (WSL) که به طور پیشفرض با Bash ارائه میشود.
این بدان معناست که میتوانید بدون نیاز به تغییر کامل به لینوکس، با Bash را آزمایش کنید. حتی اگر یک کاربر معمولی هستید که قصد کار با سرورهای لینوکس را ندارید، قابلیتهای جالب پوسته Bash میتواند برای شما مفید باشد.
نه اینکه Bash تنها گزینه شما برای خودکارسازی وظایف محاسباتی باشد. پاورشل یک رابط مشابه است که با ویندوز کار می کند - البته جدا از آنچه که می توانید با خط فرمان مدیریت کنید.
1.02.2023