چیه؟ و چرا همه اسمشو میشنون؟
بذار با یه مثال ساده بگم.
اول از همه، Unix یک سیستمعامل و در کنار اون، یک خانواده و فلسفه مهم در دنیای سیستمعاملهاست که از دهه ۱۹۷۰ شکل گرفت.
اما چیزی که یونیکس رو خاص کرد فقط خود سیستمعامل نبود، بلکه طرز فکری بود که پشت طراحی اون قرار داشت.
فرض کن یه جعبه ابزار داری.
توش یه چکش هست، یه پیچگوشتی، یه آچار و یه انبردست.
هیچکدوم قرار نیست همه کاره باشن. هر کدوم برای یه کار مشخص ساخته شدن، ولی وقتی کنار هم قرار میگیرن، میتونی باهاشون یه کار بزرگ انجام بدی.
یونیکس هم تقریبا همین طرز فکر رو داره.
به جای اینکه یه برنامه بزرگ داشته باشی که بخواد همه کارها رو انجام بده، ابزارهای کوچیک و سادهای داری که هر کدوم یه کار مشخص انجام میدن و میتونن کنار هم استفاده بشن.
مثلا:
mkdirبرای ساختن یه پوشه استفاده میشه.
یا:
cdمخفف Change Directory هست، یعنی تغییر مسیر یا رفتن به یه پوشه دیگه.
مثلا:
mkdir myprojectیه پوشه به اسم myproject میسازه.
بعد:
cd myprojectوارد همون پوشه میشیم.
این دستورات رو میتونیم از طریق Command Line در ویندوز یا Terminal در لینوکس و macOS اجرا کنیم.
البته یه نکته مهم اینجاست: ویندوز خودش یونیکس نیست و بر پایه معماری Windows NT ساخته شده، اما ابزارهایی مثل WSL و Git Bash به ما اجازه میدن داخل ویندوز هم با محیطها و ابزارهای شبیه یونیکس کار کنیم.
جالبتر اینکه لینوکس و macOS از ایدهها و اصول یونیکس تأثیر زیادی گرفتن.
برای همین اگر وارد دنیای برنامهنویسی، طراحی سایت، بکاند، شبکه، امنیت، سرورها یا حتی هوش مصنوعی بشید، احتمالا دیر یا زود با مفاهیم یونیکس و سیستمهای Unix-like روبهرو میشید.
پس یونیکس فقط چندتا دستور مثل cd و mkdir نیست.
یونیکس یه دنیای خیلی بزرگه و توی بخشهای مختلف دنیای کامپیوتر و اینترنت تأثیر زیادی داشته.
طبیعتا ما نمیتونیم با یه پست کوتاه کل یونیکس رو یاد بگیریم. این پست فقط یه آشنایی اولیه بود.
پیشنهاد میکنم در کنار این پست، یه تحقیق کوچیک درباره یونیکس، لینوکس، Terminal و Command Line داشته باشید.
#هربرنامهنویسیبایدبداند
@MPL_Code