معرفی Cygwin شبیه ساز محیط اجرائی خطوط دستور در یونیکس برای ویندوز
کاربران ویندوز بایستی بدانند خطوط دستور دوست خوبشان است و بر خلاف تصورشان که این ابزار منسوخ شده است هنوز هم بسیاری از افراد خصوصا گیک ها و حرفه ای ترها بسیاری از امورشان را با همین خطوط می گذرانند. اما ابزار اجرای خطوط دستور در ویندوز؟ نه آقا ایشان اصلا دوست خوبی نیست، نه تنها دوست خوبی نیست بلکه کمی هم با کاربران سیستم عامل مذکور دشمنی دارد، اصلا اگر می خواهید با CMD در ویندوز دوستی کنید دیگر دشمن لازم ندارید.
اما اگر می خواهید از خطوط دستور در ویندوز لذت ببرید توصیه من به شما Cygwin است، با این ابزار می توانید محیطی شبیه به محیط اجرایی خطوط دستور در یونیکس را تجربه کنید. ابزار مذکور اپن سورس است و مثل هر ابزار اپن سورس دیگری در ابتدای کار ممکن است مرموز و ترسناک به نظر برسد ولی خوب ترس جایز نیست چون این ابزار بسیار کارآمد و دوست داشتنی است.
در ادامه قصد دارم شما را با Cygwin نحوه ی نصب و همینطور اجرای چند دستور ساده در آن آشنا کنم، امروز کار چندان پیچیده ای قصد نداریم انجام دهیم و فقط یک معرفی ساده است. حرفه ای تر ها هم ممکن است از این پست حوصله شان سر برود ولی این آغازی است بر یک سلسله پست که احتمالا برای علاقه مندان می تواند جذاب باشد. (امیدوارم باشد)
نصب
ابتدا بایستی فایل Setup یا نصاب Cygwin را از صفحه ی اول سایتش و با کلیک بر روی لینکی با عنوان Install or update now دانلود کنید. نکته ی مهمی که در مورد Cygwin بایستی بدانید این است که به همراه آن می توانید تعداد زیادی ابزار دیگر یا اصطلاحا پکیج را نیز نصب کنید یا نصب نکنید! فایل Setup.exe در اصل دو وظیفه ی اصلی و مهم دارد، اول خود Cygwin را نصب کند و در کنارش در صورت نیاز پکیج های خاصی را نیز نصب نماید.
الان قصد داریم فقط Cygwin را نصب نمائیم تا کارمان راه بیافتد البته بعدتر تعدادی پکیج نیز نصب خواهیم کرد. Setup.exe را که تازه دانلود کرده اید را اجرا کنید و گزینه ی Install form Intenet یا نصب از طریق اینترنت را انتخاب کنید. کلید Next را بزنید و دایرکتوری که می خواهید Cygwin در آن نصب شود را انتخاب کنید (مسیر نصب پیش فرض c:\cygwin است) بقیه تنظیمات را هم بگذارید روی همان گزینه های پیش فرض باقی بمانند. بعد بایستی یک دایرکتوری موقت به منظور ذخیره پکیج هایی که Cygwin دانلود می کند معین کنید. من این دایرکتوری را بعد از اینکه کارم تمام شد معمولا حذف می کنم پس بنابراین در این مورد خیلی سخت گیری نکنید و هر مسیر و دایرکتوری موقتی که دوست داشتید را آدرس دهی کنید. در صفحه ی بعدی دانلود از طریق Direct Connection را انتخاب کنید و سپس با لیستی از سایتهایی که می توان دانلود را از آنها انجام داد مواجه می شوید یک سایت را به صورت اتفاقی انتخاب کنید یا اینکه گزینه ی پیش فرض را دست نزیند.
برخی اوقات سایتی که انتخاب کرده اید ممکن است سبب انجام پروسه ی دانلود به صورت بسیار کند شود و یا اصلا دانلود انجام نشود در اینگونه موارد می توانید برگردید و یک سایت دیگر را انتخاب کنید. (خود من سه چهار بار عقب گرد کردم تا به گزینه ی مناسب رسیدم)
وقتی با تصویر زیر مواجه شدید یعنی به مرحله ی نصب پکیج ها رسیدید، که می توان گفت پیچیده ترین بخش قضیه برای افراد تازه کار است. چرا؟ فقط نگاهی به تصویر بیاندازید تا دستتان بیاید (برای تصویر بزرگتر رویش کلیک کنید)
آنچه در تصویر بالا نشان داده شده است در اصل لیستی از برنامه های یونیکس است که همه شان دسته بندی موضوعی شده اند، اصلا هم چیز عجیبی نیست که یک کاربری که تمام عمرش با ویندوز سر کرده هیچکدام را نشناسد. اگر دسته ی Base را با کلیک کردن بر روی مثبت کنارش بگشائیم با عناوینی عجیب و غریب مثل bash ، gawk، grep و غیره روبرو می شویم! نترسید اساسا وقتی دارید ابزار جدیدی را تجربه می کنید یا وارد دنیای جدیدی می شوید چیزی برای ترسیدن نیست! چون من و شما تازه کار هستیم فعلا فقط با پکیج های پیش فرض برنامه سر و کار داریم تا بعد بنابراین next را بزنید تا نصب برنامه شروع شود. بعد از اینکه مراحل نصب به اتمام رسید روی دسکتاپ شما آیکونی شبیه به آنچه در کنار این پاراگراف گذاشته شده وجود خواهد داشت :-).
دستورهای ابتدائی
بسیار خوب حالا وقتش رسیده با ابزار Command line یونیکس کمی سرو کله بزنیم، روی آیکون Cygwin که تازه بر روی دسکتاپ ایجاد شده کلیک کنید تا چیزی مشابه تصویر زیر در مقابلتان ظاهر شود (برای تصویر بزرگتر رویش کلیک کنید):
خطوط ابتدائی یعنی ,...Copying skeleton files فقط دفعه ی اولی که Cygwin را اجرا می کنید ظاهر خواهند شد. از همین لحظه و از همین دفعه اول هر بار که Cygwin را اجرا کنید یک نام کاربری استاندارد به صورت yourusername@yourcomputername~ $ و به رنگ سبز به شما نشان داده خواهد شد.
علامت $ بدین معنی است که شما می توانید دستور دلخواه خودتان را در مقابلش شروع به وارد کردن نمائید. در ابتدا بد نیست یک دستور پیش پا افتاده را امتحان کنیم، شاید وضعیتی که قصد دارید تجربه کنید اول کمی نا خوشایند باشد ولی اندکی بعد مسلما احساس خوشایندی خواهید داشت.
در ابتدا می خواهیم در یابیم ما در کجا از filesystem قرار داریم. زمانی که Cygwin اجرا می شود شما در دایرکتوری خانه یا همان Home Directory هستید! خوب حالا اینجا کجاست؟ برای اینکه بفهمیم اینجا کجاست از دستور ویژه ی یونیکس یعنی pwd استفاده می کنیم pwd مخفف print working directory است و احتمالا با تایپ این دستور جوابی مشابه این میگیرید:
Reza@reza-laptop ~
$ pwd
/home/Reza
حالا این "/home/" دایرکتوری که در بالا گفته شده به کجا اشاره دارد؟ اشاره دارد به دایرکتوری که شما برای Cygwin در هنگام نصب معین کردید یعنی c:\cygwin. پس عقل می گوید که من بایستی الان در c:\cygwin\home\Reza باشم. برای اینکه مطمئن شوم حدسم درست است در جای فعلی که هستم می خواهم یک فایل بسازم برای این کار از یکی دیگر از دستورات یونیکس یعنی touch استفاده میکنم و آن را باز در مقابل آخرین علامت $ که در صفحه وجود دارد به همراه یک فاصله و سپس نام فایل جدید مورد نظرم وارد می کنم، به این ترتیب:
Reza@reza-laptop ~
$ touch honey-im-home.txt
حالا اگر با ویندوز اکسپلورر به سراغ c:\cygwin\home\penelope برویم می توانیم فایل جدیدی که با عنوان honey-im-home.txt ایجاد شده است را ببینیم. خوب اگر بخواهم به سراغ یک دایرکتوری در درایوی دیگر مثل :D یا :H بروم چی؟ Cygwin یک شبیه ساز یونیکس است در محیط ویندوز، لذا یونیکس نامگذاری درایو ها در ویندوز را کمی متفاوت درک می کند البته در نسخه های اخیرش وضع بسیار بهتر شده. لذا تایپ یک آدرس و یا سوئیچ کردن به یک درایو دیگر با آنچه در آدرس دهی داخل ویندوز اکسپلورر مشاهده نموده اید کمی فرق دارد. مثلا فرض کنید می خواهیم به این آدرس D:\data برویم (یعنی دایرکتوری Data در داخل درایو :D ) برای اینکار به این ترتیب پیش می رویم:
Reza@reza-laptop ~
$ cd /cygdrive/d/data
Reza@reza-laptop /cygdrive/d/data
$
cd مخفف change directory است و /cygdrive/d/ هم به Cygwin می گوید که شما با درایو d کار دارید. حالا یک راه حل دیگر هم هست آن هم اینکه دستور را به صورت زیر تایپ کنید:
Reza@reza-laptop ~
$ cd d:/dataReza@Reza-laptop /cygdrive/d/data
$
از اینجا به بعد حواستان باشد آدرس دایرکتوری که در آن به سر می برید در مقابل user@computer درج شده است، حالا اگر بخواهیم به دایرکتوری خانه یا home برگردیم جایی که از آنجا آمدیم اینگونه عمل می کنیم:
Reza@reza-laptop /cygdrive/d/data
$ cd ~
Reza@reza-laptop ~
$ pwd
/home/Reza
اگر می خواهید همه فایلهای موجود در درایرکتوری خانه را مشاهده کنید کافی است فقط دستور ls را وارد کنید:
Reza@reza-laptop /cygdrive/d/data
$ ls
honey-im-home.txt
اوضاع چطور است؟ خوب حالا بد نیست بدانید Cygwin شما را قادر میسازد انواع اقسام دست کاری ها و هک ها، جستجو کردن سریع و بی دردسر و تفریح کردن با شبکه را تجربه کنید، مسلما برای هر کدام از مواردی که ذکر شد می توان مثال های متعددی آورد ولی فعلا تا همین جای این مبحث را داشته باشید تا بعدا که درآپدیت بلاگ انواع و اقسام تفریحات سالم و ناسالم را با این ابزار انجام خواهیم داد :-) این پست را هم فعلا جهت آشنائی با Cygwin و داشتن یک نسخه نصب شده از آن بر روی سیستم تان به خاطر بسپارید تا بعد.
+ مرتبط: معرفی Cygwin شبیه ساز محیط اجرائی خطوط دستور در یونیکس بر روی ویندوز / قسمت 2
سجاد ابراهیمی @ December 29, 2007 3:42 PM :
عالیه
فقط خواهشا زود ادامه بده که همینایی که گفتی از ذهنمون (خودمو می گم) نپره
راستی یه سوال
من ابوتونو رو نصب کرده بودم و اونجا هم خط فرمان داشت. این دستورات با دستورات اوبونتو یکی هست؟
خیلی دوست دارم لینوکس یاد بگیرم :-
یا من تازه کارم یا اینکه مرحله ی نصبش واقعا گیج کننده است یا عکسش اینطوریه که آدم رو میترسونه.
مَتَتي @ December 30, 2007 8:35 AM :اگر چه چندان حوصله برنامه نویسی و کدنویسی ندارم ولی شیوه ساده آموزشتون جالب بود.
Omid @ December 30, 2007 8:50 AM :محیط جالبیست .منو یاد وقتی میندازه که مجبور بودم با FreeBSD کار کنم .اما اینجا خوبه حد اقل یه محیط گرافیکی در پس زمینه برای کمک موجود هست.
لطفا ادامه بدین در این مورد. موفق باشید.
برنامه خوبیه ولی واقعا نصبش میتوانه آدم رو بکشه!
پایش برای همه یکیه ولی واقعا بعضی مواقع رو ی بعضی کامپیوتر ها کار نمیکنه بخصوص اگر قبلا لینوکس روی سیستم نصب شده باشه ویا حتی الانم وجود داشته باشه.
البته بسته به ورژنش فرق میکنه!
من فایل توضیحات و غیره و دالکش!!! رو دارم
اگر خواستید بفرمایید بفرستم
Cygwin بیشتر برای استفاده از برنامه های UNIX تو Windows استفاده می شه.
اگر مشکل شما Command prompt خوب هست، بد نیست Windows PowerShell هم ببینی.
پاسخ: ممنون مهرداد جان حتما امتحانش می کنم ولی خوب شاید در آینده چون بخوام با برخی از برنامه های یونیکس روی ویندوز کارهایی بکنم برا همین اینجا شروع به معرفیش کرد.










