تركيب وتكوين cygwin للمبتدئين. تثبيت Git على Windows من Cygwin Packages

بعد مقال كريس كاسبيرسكي "كيفية إخراج يونكس من Windows" في KG؟ 3 بتاريخ 23/01/01 ، كنت حريصًا على إخبار المزيد مستخدمو Windowsحول ما هو Cygwin. لقد كنت أستخدمه لفترة طويلة ولم يعد بإمكاني العمل بشكل فعال في Windows بدون تثبيت Cygwin.

تتكون كلمة Cygwin من مكونين: Cygnus هو اسم الشركة ، و Windows ، ولكن سيكون من الخطأ القول أن كل شيء في Cygwin كتبه الرجال في Cygnus. Cygwin هو منفذ Windows لأدوات Gnu المساعدة ، و Gnu (www.gnu.org) هو مشروع من Free برمجة (البرمجيات الحرة Foundation ، أو ببساطة FSF) ، والتي تهدف إلى إنشاء نظام Unix غير تجاري لا يخص أي شخص وخالٍ من التراخيص التي تقيد حرية إعادة توزيع وتعديل البرامج. كجزء من هذا المشروع ، تمت إعادة كتابة جميع أدوات UNIX القياسية تقريبًا. أهم ثلاث مساهمات لـ FSF هي دول مجلس التعاون الخليجي (Gnu C Compiler أو Gnu Compiler Collection) و Bash (The Bourne Again Shell) و Emacs. لم يكن لينكس موجودًا بدون دول مجلس التعاون الخليجي ، و Bash هو الغلاف القياسي للعديد من أنظمة Unix الحديثة. يقول الأشخاص ذوو الخبرة أن أول شيء يفعله مسؤول النظام بعد تثبيت أنظمة Unixes التجارية هو تثبيت أدوات Gnu المساعدة. في الأساس ، يعد GNU و FSF موضوعًا واسعًا بحد ذاته ، ويستحقان مقالة مفصلة في حد ذاتها.

مجموعة أدوات Gnu الكاملة عبارة عن مجموعة من البرامج الصغيرة (عادةً) التي تغطي معظم المهام التي يواجهها مستخدم نظام Unix (وليس نظام Unix فقط) يوميًا ، كل برنامج يقوم بمهمة واحدة ويفعلها بشكل جيد. يمكن بعد ذلك دمج هذه البرامج لحل المشكلات المختلفة.

تم إجراء أكثر من مرة محاولات لتحويل Gnu إلى منصات أخرى غير نظام Unix ، وهو ما يدل ، بالمناسبة ، على شعبيتها.

جدير بالذكر مشروع نقل المرافق بنظام DOS - DJGPP. انتقل إلى http://www.delorie.com/djgpp/ ، إنه مثير للاهتمام حقًا.

لم يجمع Cygnus كل أداة على حدة ، وكان يعاني في كل مرة لحل نفس المشكلات ، وبدلاً من ذلك ، تمت كتابة نوع من "shim" بين أدوات GNU و نظام التشغيل... يوفر هذا الرقاقة - cygwin1.dll (رقم الإصدار الأول) - محاكاة مكالمات النظام UNIX ، التي تسمح بترجمة برامج Unix وتنفيذها مع القليل من التعديل أو بدون تعديل مصدر الرمز... في الأساس ، هذا dll هو Cygwin نفسه ، وكل شيء آخر كذلك باقات البرامج المحوسبةتم تجميع GNU للعمل مع Cygwin.

يتيح وجود دول مجلس التعاون الخليجي والمكتبات إمكانية نقل مجموعة متنوعة من التطبيقات إلى Windows ويجعل Cygwin منصة كاملة - يمكنك أحيانًا العثور على عبارة "Cygwin platform". منذ الإصدارات التجريبية الأولى من Cygwin ، جمع العديد من الأشخاص في ظل Cygwin ما يفتقرون إليه تحت Windows ، ونما توزيع Cygwin القياسي تدريجيًا ، بما في ذلك من خلال هذه التجميعات ذاتية الصنع. على سبيل المثال ، خلال إصدارات بيتا 20 اضطررت إلى تنزيل محرر vim بشكل منفصل ، والآن يتم تثبيته مع المجموعة بأكملها.

كيفية تثبيته كلها

كتب Cygnus برنامجًا مفيدًا لإدارة الحزم يشبه بعض الشيء برامج مماثلةمن توزيعات Linux. الخطوة الأولى هي تنزيله من موقع Cygnus على الويب http://sources.redhat.com/cygwin/setup.exe. بعد تشغيله ، يمكنك تنزيل مجموعة قياسية من الحزم من إحدى المرايا العديدة ، ويمكنك أن ترغب في ذلك بشكل انتقائي ، مع تخطي الحزم الفردية.

للمستقبل - من خلال إطلاق هذا البرنامج لاحقًا من نفس الدليل ، يمكنك معرفة الحزم الجديدة التي ظهرت أو الإصدارات الجديدة من الحزم الحالية.

سيقوم نفس البرنامج بتثبيت Cygwin نيابة عنك ، ويعرض عليك مرة أخرى تحديد ما يجب تثبيته وما لا يتم تثبيته. سينشئ لك التثبيت أدلة شائعة في التسلسل الهرمي لملفات Unix - bin ، usr ، sbin ، وما إلى ذلك ، لذلك من الملائم وضعها جميعًا في دليل واحد حتى لا يتم الخلط بينها وبين مجلدات Windows.

وكيفية استخدامها كلها

عند بدء تشغيل Cygwin ، سترى نافذة وحدة تحكم مشابهة لوحدة تحكم Windows عادية أو command.com في Win9x أو cmd.exe في NT. لكن لا! لقد أطلقت سليلًا رائعًا لمترجمي أوامر Unix على Windows ، والذي حاول command.com تقليده بملفات BAT الخاصة به. باش وشقيقه الأكبر هو الصمغ الذي يربطهما ببعضهما البعض. نظام يونكس، يمكن أن يطلق عليها بحق لغة برمجة ، أي يمكنك الكتابة عليها.

العديد من الأوامر الأساسية ونظيراتها في Windows

ls = dir - عرض محتويات الدليل ؛
cd = chdir - قم بالتبديل إلى دليل آخر ؛
cp = نسخ - نسخ الملف ؛
mv = mv - نقل / إعادة تسمية الملف ؛
rm = del - حذف ملف ؛
mkdir = mkdir - إنشاء دليل ؛
pwd - عرض الدليل الحالي.

تذكر - الحرف "A" الكبير لم يعد مساويًا للحرف "a" الصغير ، يجب الآن استبدال الحرف \ بـ /. سيأخذك الأمر cd / cd الخاص بـ Cygwin إلى نفس الدليل مثل bin و usr وما إلى ذلك. في Unix ، لا يوجد شيء أعلاه / ، ولكن في Cygwin ، للتنقل عبر أقسام Windows ، يمكنك استخدام الأمر cd // c / (cd // d / MyDir ، إلخ).

إحدى ميزات Bash الأنيقة هي الإكمال التلقائي. لنقم بإنشاء بعض الملفات باستخدام الأمر cat:

cat> first_file ENTER

أدخل شيئًا ثم Ctr-C ،

ونفس الشيء بالنسبة لملف آخر:

cat> second_file ENTER.

تأكد من وجود الملفات:

اكتب الآن أي أمر ، مثل ls ، والحرف الأول من الملف الأول. اضغط على علامة التبويب. سيضيف Bash اسم الملف نفسه. إذا بدأت الملفات بنفس الطريقة ، على سبيل المثال file_one و file_two ، فسيقوم Bash بإلحاق file_ فقط وينتظر منك إدخال حرف آخر لإزالة الغموض.

عدة أمثلة على استخدام بعض المرافق.

لنفترض أن لديك ملف نصي in.txt. يمكنك حساب عدد الكلمات فيه كما يلي:

عدد الخطوط:

ابحث عن سطور تحتوي على تسلسل الأحرف Larry:

grep "لاري" in.txt

قسّم الأسطر إلى كلمات ، واستبدل المسافات بأحرف نهاية السطر:

القط in.txt | gawk "gsub (" + "،" \ n ")"

يعني الأمر gawk "gsub (" + "،" \ n ")" استبدال مسافة واحدة أو أكثر ("+") بحرف نهاية السطر ("\ n").

افعل الشيء نفسه ، ولكن باستخدام طريقة عرض ملائمة (PageUp و PageDown و exit - q)

القط in.txt | gawk "gsub (" + "،" \ n ")" | أقل

ترتيب الأسطر (الكلمات):

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | أقل

إزالة الأسطر (الكلمات) المتطابقة:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq | أقل

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq | مرحاض -l

أزل الأسطر (الكلمات) المتطابقة ، مع احتساب عددها:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | أقل

قم بالفرز مرة أخرى ، وبالتالي الحصول على مفردات التردد للنص:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r | أقل

الشيء نفسه ، مع إخراج النتائج إلى ملف نصي:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r> out.txt

نفس الشيء ، مع حفظ النتائج الوسيطة في ملف intermediate.txt:

القط in.txt | gawk "gsub (" + "،" \ n ")" | tee intermediate.txt | فرز | uniq - العد | فرز -r | أقل

الآن ، باستخدام قوة Bash ، يمكنك تكرار هذا الأمر لملفات متعددة. اكتب البرنامج النصي مباشرة في وحدة التحكم ، وانتقل إلى سطر جديد كما هو مطبوع في المقالة ، - سيتفهم Bash أن الأمر لم ينته وسيغير الموجه إلى ">":

للملف في * .txt ؛ فعل

ملف $ القط | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r> $ file.out

مثله. مهام بسيطة - حلول بسيطة.

لمعرفة كيفية عمل الأمر ، يمكنك تشغيله باستخدام مفتاح --help ، أو استخدام الأمر man (يدوي) - man awk ، man grep. يمكنك ترك الرجل مع q.

ما هو آخر في CYGWIN

مترجم

لغة برمجة بسيطة (يقول الناس - يوم تدريب واحد) لمعالجة الكلمات ، أحد أسلاف Perl

محرر تيار

مولد محلل في C

مولد محلل في C

لغة برمجة. في الواقع ، ليس لـ Gnu علاقة مباشرة بالمرافق ؛ فقد كانت مدعومة من قبل Sun لبعض الوقت. يمكنك عمل cd /usr/share/tk8.0/demos وتشغيل برنامج widget -./widget. سترى عرضًا توضيحيًا لـ Tk ، وهو امتداد Tcl لبناء واجهات المستخدم الرسومية.

أرشيفي

أرشيفي قوي

برنامج مقارنة الملفات

والكثير. فقط اذهب إلى الحاوية وشاهد ما لديك هناك. يمكن العثور على إيداعات الحزم على http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html. هناك أيضًا الكثير من المعلومات والروابط حول هذا الموضوع على موقع Cygnus الإلكتروني http://sources.redhat.com/cygwin/.

كيفية إعداد CYGWIN

أولاً ، لا تحتاج إلى تشغيل Bash إذا كانت وحدة التحكم تخيفك. يمكنك استخدام جميع البرامج من Far "a ، Windows Commander" وما إلى ذلك ، تحتاج فقط إلى تسجيل المسارات إلى دليل bin. في Windows 9x ، يتم ذلك في ملف autoexec.bat ، على NT في جهاز الكمبيوتر / الخصائص / البيئة ، أضف المسار إلى الحاوية إلى متغير البيئة PATH.

لمزيد من العمل المريح في Bash ، أنصحك بالقيام بما يلي: إذا كانت أدلة Cygwin الخاصة بك في c: \ cygwin ، فقم بإنشاء دليل c: \ cygwin \ root (mkdir / root) وأضف سطرًا إلى ملف cygwin.bat ، وهو في c: \ cygwin:

الصفحة الرئيسية = د: \ cygwin \ الجذر

في الدليل الجذر ، أنشئ ملفين يبدأان بنقطة: .inputrc و .bashrc. يتم تنفيذ كلا الملفين بواسطة Bash عند بدء التشغيل ، ويكون .inputrc مسؤولاً عن ضمان عمل جميع المفاتيح بشكل صحيح ، ويحتوي .bashrc على معلومات متنوعة. كمثال سأقدم .bashrc الخاص بي:

تصدير PS1 = "\ w>"

تصدير PATH = ".: $ PATH"

الاسم المستعار ls = "ls --color"

الاسم المستعار untar = "tar xvf"

صدى مرحبا بكم في CygWin!

يحدد السطر الأول مسار Bash. هذا ما يفعله يونكس مع جميع المترجمين الفوريين. على سبيل المثال ، إذا كان لديك نص Perl hello.pl و perl نفسه في / usr / bin ، يمكنك الكتابة في السطر الأول:

وتشغيله على هذا النحو:

وبالتالي ، يمكنك تشغيل البرامج دون القلق بشأن ما تم كتابتها فيه.

PS1 هو متغير يخزن موجه Bash ، موجه الوظائف ، كما يطلق عليه أيضًا. \ w هو الدليل الحالي.

بعد إضافة هذا إلى PATH ، يمكنك فعل ما اعتاد مستخدمو Windows على القيام به:

بعد ذلك ، أستخدم المرادفات أو الأسماء المستعارة. على سبيل المثال ، لا يقوم الأمر ls افتراضيًا بتلوين مخرجاته اعتمادًا على نوع الملفات ، لذلك تحتاج إلى تشغيله باستخدام مفتاح - color. هذا غير مريح. باستخدام الأمر المستعار ls = "ls --color" لقد قمت بحل هذه المشكلة. الآن ls تعني ls --color. ليس من الضروري استخدام نفس اسم الأمر ، يمكنك فعل ll = "ls --color" - واستخدام أمر ll الجديد. هذه هي الطريقة التي أفعل بها عند إنشاء الأمر untar لفك الضغط المحفوظات القطرانبدلاً من كتابة tar xvf في كل مرة. يمكن أن يحتوي الاسم المستعار أيضًا على أنابيب: الاسم المستعار sort_un_sort = "sort | uniq --count | sort -r".

في الواقع ، مجال ترتيب مكان العمل لا نهاية له ، والأمثلة التي قدمتها بدائية وبسيطة. هناك أيضًا وظائف ، أوامر تفاعلية في .bashrc ، وظائف تم إطلاقها من موجه ...

Cygwin (Sigwin) عبارة عن مجموعة من برامج ومكتبات Unix تم تجميعها وفقًا لنظام التشغيل Windows وموجودة في نظام الملفاتبنفس طريقة Unix الحقيقية. بفضل هذا ، نحصل على المكافئ الكامل لبيئة Unix ، بدءًا من bash وحتى المجمعين في دول مجلس التعاون الخليجي ، والتي ، بدون نقل خاص للشفرة المصدر ، يمكن استخدامها لبناء مشاريع للتنفيذ على Windows (عدد كبير نسبيًا من cross. تستخدم تطبيقات النظام الأساسي هذا النهج ، لأنه أبسط وأسرع) ...

تثبيت Cygwin

يمكنك تنزيل Cygwin لإصدار 32x أو 64x بت من الموقع https://cygwin.com/install.html... التثبيت بسيط للغاية - يمكنك فقط النقر فوق "التالي" في نافذة "تحديد الحزم". سترى هنا قاعدة بيانات للحزم ، وسيتم بالفعل وضع علامة على بعضها للتوقف (أساسي) ، والبعض الآخر يمكنك تمييزه بنفسك. من أجل تحديد حزمة للتثبيت ، تحتاج إلى إدخال اسمها في حقل "بحث" ، ثم توسيع الفئات والعثور على هذه الحزمة. ثم انقر فوق "تخطي" ، ونتيجة لذلك بدلاً من تخطي ، يجب أن يظهر الإصدار الذي سيتم تثبيته. لمزيد من العمل ، تحقق من الحزمة wget، يمكن ترك الباقي بمفرده في الوقت الحالي. يمكن إضافة الحزم أو إزالتها في أي وقت ببساطة عن طريق إعادة تشغيل المثبت ، ولكن هذا ليس مناسبًا تمامًا ، لذلك سأخبرك لاحقًا في المقالة بكيفية تثبيت الحزم من سطر الأوامر(لهذا نحتاج wget).

بشكل افتراضي ، يتم تشغيل cygwin في محطة Windows القياسية ، وهي ليست مريحة للغاية.

وحدة التحكم الطرفية

تركيب حزم للبيثون باستخدام النقطة

غالبًا ما يتم تثبيت الحزم في بيثون باستخدام نقطة ، والتي لا توجد في مستودعات سيجوين.

لذلك يجب تثبيته بشكل منفصل:

صفحات MAN لوظائف libc

يحتوي Cygwin بالفعل على صفحات يدوية للأوامر القياسية ، ولكن يمكن تثبيت man for libc بشكل منفصل:

بالمناسبة ، يرتبط Cygwin بطريقة ما بالأنظمة المضمنة كما يستخدم نيوليبتنفيذ libc ، المعروف استخدامه على نطاق واسع في العديد من سلاسل أدوات ARM.

فيم في سيغوين

التركيب:

يتم التكوين في ملف .vimrc في الدليل الرئيسي:

أستخدم الإعدادات التالية:

تعيين مسافة للخلف = مسافة بادئة ، eol ، ابدأ

تمكين بناء الجملة

ضبط shiftwidth = 4

ضبط tabstop = 8

ضبط softtabstop = 4

تعيين علامة التبويب

عدد مجموعة

ضبط showcmd

ضبط المؤشر

filetype مسافة بادئة البرنامج المساعد على

تعيين wildmenu

تعيين lazyredraw

وضع مباراة

تعيين incsearch

باستخدام محطة Cygwin الأصلية

يوفر برنامج التثبيت Cygwin القياسي محطة mintty الخاصة به (يتم تشغيلها من خلال أيقونة Cygwin Terminal). بالمقارنة مع وحدة التحكم ، فهي أقل جودة من حيث الوظائف (على سبيل المثال ، لا توجد علامات تبويب فيها) ، ولكنها تتمتع أيضًا بوظائف جيدة ، وهناك عدد أقل من حركات الجسم. إحدى الميزات الرائعة هي دعم 256 ألوان بتفي المحطة:

يتيح ذلك إبراز سمات بناء الجملة الملائمة لـ vim ، مثل badwolf:

لتنشيطه ، أضف إلى .vimrc:

سيبدو مثل هذا:

كيف يمكنني الاحتفاظ بسجل الأوامر في باش سيغوين؟

في ملف .bashrc ، تحتاج إلى البحث عن إضافة:

الأول يحدد حجم ملف المحفوظات (10 آلاف أمر) ، والثاني يمكّن من إزالة الأوامر المكررة (إذا كان الأمر المدخل موجودًا بالفعل في السجل ، فسيتم حذف الأمر القديم لتوفير مساحة) ، والثالث يمكّن bash history اعمال صيانة.

كيف تتبع مسارًا على غرار Windows في Cygwin؟

لتحويل مسار يشبه الفوز إلى مسار بنمط يونكس ، يمكنك استخدام الأداة المساعدة cygpath.

نتيجة لذلك ، سيصبح المسار "/ cygdrive / d / projects / some / src" ويمرر كوسيطة إلى cd.

Cygwin هي بيئة تشبه نظام التشغيل Windows. غالبًا ما يكون مطلوبًا لتشغيل البرامج التي تم تطويرها لأنظمة تشغيل تشبه يونكس. يمكن تثبيت العديد من هذه البرامج بدون Cygwin ، ولكنها توفر تثبيتًا مركزيًا وإدارة مريحة. باستخدام Cygwin ، يمكنك بسهولة تثبيت برامج مثل - OpenSSL و GnuPG و ImageMagick و gvim و gcc و bash و tcsh و emacs وغيرها الكثير.
لذلك دعنا ننتقل إلى التثبيت. تحتاج أولاً إلى تنزيل برنامج التثبيت. هذا مجرد برنامج يقوم بتنزيل جميع الحزم والبيئات الضرورية ، ثم يقوم بتثبيتها. التثبيت بسيط للغاية:




من هذه القائمة ، يمكنك تحديد إعدادات الوكيل إذا كنت تستخدمها.


سيقوم البرنامج بتنزيل قائمة المرايا مع الحزم للتثبيت ، وبعد ذلك سيوفر لك اختيار مرآة سيتم تنزيل الحزم منها.


يمكنك الآن تحديد حزم لتثبيتها. لسهولة البحث ، تم تجميعها وفقًا للغرض منها. يمكنك أيضا البحث عن طريق اسم الحزمة. باستخدام هذه القائمة ، يمكنك تثبيت حزمة ثنائية (مجمعة بالفعل) وكود المصدر (حزمة غير مجمعة). يحتوي عمود السلة على إصدار الحزمة الثنائية المحددة ، ويمكن تحديد العمود Src (الكود المصدري) إذا تم تحديد حزمة ثنائية بالفعل. ستكون شفرة المصدر هي نفس إصدار الحزمة الثنائية. لتحديد إصدار الحزمة في العمود الجديد ، انقر عليها عدة مرات.
بعد تحديد جميع الحزم التي تحتاجها ، يمكنك النقر فوق التالي وسيقوم المثبت بتنزيلها وتثبيتها. عند اختيار الحزم ، أنصحك بما يلي -

بسيطة ومفيدة للجميع من حيث المبدأ. هنا فقط إصدار Git ، ليس هناك أحدث ، على الأقل في الوقت الحالي. لكنها كافية لعملك اليومي مع Git. إذا نظرنا إلى الإصدار ، نرى:

git $ - الإصدار
إصدار بوابة 1.9.5.msysgit.0

ولكن إذا احتجت فجأة إلى شيء أحدث ، يمكنك تثبيت Git من حزم Cygwin. لهذا ، بالطبع ، تحتاج إلى تثبيت Cygwin نفسه. لا يوجد شيء معقد في هذا. دعنا نذهب هنا وننزل المثبت. هذا بالضبط المثبت، أ ليس توزيعا... نظرًا لأنه يقوم بتنزيل جميع الحزم من الشبكة. بالإضافة إلى ذلك ، يجب استخدامه لتحديث الحزم المثبتة أو تثبيت حزم جديدة.

وهكذا نحن نتأرجح

وقم بتشغيل برنامج التثبيت

افعل واحد ، اثنان ، ثلاثة

على أي حال ، إذا كنت بحاجة إلى شيء ما لاحقًا ، فيمكنك تنزيله وتثبيته. كما ترى ، إصدار Git في هذه الحزمة هو 2.1.4 ، وهو أحدث بوضوح من 1.9.5. على الرغم من أن الإصدار 2.3.1 متاح بالفعل لنظامي التشغيل Linux و Mac OS X.

فقط في حالة حدوث ذلك ، سأقدم لك خادمين أكثر سرعة للتنزيل

هذا هو عموما مجرد قصة خرافية

حسنًا ، هذا كل ما تم إنشاؤه

نبدأ ونرى أنه في البداية تم إخبارنا بمكان وجود ملفات التكوين:

توضح الصورة الموجودة على اليمين مكان الدليل الرئيسي للمستخدم. هذا هو مجلد التثبيت (في حالتي ج: \ cigwin64) ، ثم المجلد الصفحة الرئيسية، من ثم مجلد باسم المستخدموهناك بالفعل ملفات التكوين فيه .bashrc, .bash_profile, .inputrcو .الملف الشخصي.

كل تكوين المحطة يتم في هذه الملفات. لن أصفه هنا ، لأن هذا موضوع منفصل كبير.

سألاحظ فقط أن إعدادات bash الرئيسية يتم إجراؤها في الملف .bash_profile.

يمكنك أيضًا ملاحظة أن الدليل الرئيسي سيحتوي أيضًا على ملف إعدادات Git - .gitconfig

أيضا ، تخصيص مظهر خارجييمكن النقر فوق المحطة الطرفية على أيقونة المحطة في الزاوية اليسرى العليا وتحديد الخيارات.

إذا كنت بحاجة إلى أي حزم إضافية لـ Cygwin ، فيمكنك البحث عنها.

بعد كل الإعدادات ، تبدو نافذة Cygwin الطرفية هكذا. وهناك ، دعنا نرى إصدار Git المثبت.

حسنًا ، لدينا هنا بوابة كاملة. الآن (بسرعة) دعنا نتحقق من عمله على مستودع حقيقي.

كل شيء يعمل.

ملاحظة. ما تجدر الإشارة إليه مرة أخرى هو أن إعدادات msysGit و Git المثبتة من Cygwin العمومية (العمومية ، النظامية) مخزنة في أماكن مختلفة ، ولا تتداخل مع بعضها البعض أو تتداخل مع بعضها البعض ، في رأيي ، هذا مناسب ، نظرًا لأن جميع أدوات Windows تحاول كتابة إعداداتها إلى ملف الإعدادات العامة.

ما هو CYGWINبعد مقال كريس كاسبيرسكي "كيفية إخراج يونكس من Windows" في CG # 3 بتاريخ 01/23/01 ، كنت حريصًا على إخبار مستخدمي Windows بالمزيد حول ماهية Cygwin. لقد كنت أستخدمه لفترة طويلة ولم يعد بإمكاني العمل بشكل فعال في Windows بدون تثبيت Cygwin.

تتكون كلمة Cygwin من مكونين: Cygnus هو اسم الشركة ، و Windows ، ولكن سيكون من الخطأ القول أن كل شيء في Cygwin كتبه الرجال في Cygnus. Cygwin هو منفذ Windows لمرافق Gnu ، و Gnu (www.gnu.org) هو مشروع مؤسسة البرمجيات الحرة (FSF) الذي يهدف إلى إنشاء نظام Unix غير تجاري غير مملوك لأي شخص وخالٍ من التراخيص التي تقيد حرية توزيع وتعديل البرامج. كجزء من هذا المشروع ، تمت إعادة كتابة جميع أدوات UNIX القياسية تقريبًا. أهم ثلاث مساهمات لـ FSF هي دول مجلس التعاون الخليجي (Gnu C Compiler أو Gnu Compiler Collection) و Bash (The Bourne Again Shell) و Emacs. لم يكن لينكس موجودًا بدون دول مجلس التعاون الخليجي ، و Bash هو الغلاف القياسي للعديد من أنظمة Unix الحديثة. يقول الأشخاص ذوو الخبرة أن أول شيء يفعله مسؤول النظام بعد تثبيت أنظمة Unixes التجارية هو تثبيت أدوات Gnu المساعدة. في الأساس ، يعد GNU و FSF موضوعًا واسعًا بحد ذاته ، ويستحقان مقالة مفصلة في حد ذاتها.

مجموعة أدوات Gnu الكاملة عبارة عن مجموعة من البرامج الصغيرة (عادةً) التي تغطي معظم المهام التي يواجهها مستخدم نظام Unix (وليس نظام Unix فقط) يوميًا ، كل برنامج يقوم بمهمة واحدة ويفعلها بشكل جيد. يمكن بعد ذلك دمج هذه البرامج لحل المشكلات المختلفة.

تم إجراء أكثر من مرة محاولات لتحويل Gnu إلى منصات أخرى غير نظام Unix ، وهو ما يدل ، بالمناسبة ، على شعبيتها.

جدير بالذكر مشروع نقل المرافق بنظام DOS - DJGPP. انتقل إلى http://www.delorie.com/djgpp/ ، إنه مثير للاهتمام حقًا.

لم يجمع Cygnus كل أداة على حدة ، وكان يكافح لحل نفس المشكلات في كل مرة ، وبدلاً من ذلك ، تمت كتابة نوع من "الحشية" بين أدوات GNU ونظام التشغيل. يوفر هذا الرقاقة ، cygwin1.dll (الإصدار 1) ، محاكاة لمكالمات نظام UNIX ، مما يسمح لك بتجميع وتشغيل برامج Unix مع تعديل بسيط أو معدوم على شفرة المصدر. في الأساس ، هذا dll هو Cygwin نفسه ، وكل شيء آخر هو حزم برامج GNU التي تم تجميعها للعمل مع Cygwin.

يتيح وجود دول مجلس التعاون الخليجي والمكتبات إمكانية نقل مجموعة متنوعة من التطبيقات إلى Windows ويجعل Cygwin منصة كاملة - يمكنك أحيانًا العثور على عبارة "Cygwin platform". منذ الإصدارات التجريبية الأولى من Cygwin ، جمع العديد من الأشخاص في ظل Cygwin ما يفتقرون إليه تحت Windows ، ونما توزيع Cygwin القياسي تدريجيًا ، بما في ذلك من خلال هذه التجميعات ذاتية الصنع. على سبيل المثال ، أثناء إصدار Beta 20 ، كان علي تنزيل محرر vim بشكل منفصل ، ولكن الآن يتم تثبيته مع المجموعة بأكملها.

كيفية تثبيته كلها

كتب Cygnus برنامجًا مفيدًا لإدارة الحزم يشبه قليلاً بعض البرامج المماثلة من توزيعات Linux. الخطوة الأولى هي تنزيله من موقع Cygnus على الويب http://sources.redhat.com/cygwin/setup.exe. بعد تشغيله ، يمكنك تنزيل مجموعة قياسية من الحزم من إحدى المرايا العديدة ، ويمكنك أن ترغب في ذلك بشكل انتقائي ، مع تخطي الحزم الفردية.

للمستقبل - من خلال إطلاق هذا البرنامج لاحقًا من نفس الدليل ، يمكنك معرفة الحزم الجديدة التي ظهرت أو الإصدارات الجديدة من الحزم الحالية.

سيقوم نفس البرنامج بتثبيت Cygwin نيابة عنك ، ويعرض عليك مرة أخرى تحديد ما يجب تثبيته وما لا يتم تثبيته. سينشئ لك التثبيت أدلة شائعة في التسلسل الهرمي لملفات Unix - bin ، usr ، sbin ، وما إلى ذلك ، لذلك من الملائم وضعها جميعًا في دليل واحد حتى لا يتم الخلط بينها وبين مجلدات Windows.

وكيفية استخدامها كلها

عند بدء تشغيل Cygwin ، سترى نافذة وحدة تحكم مشابهة لوحدة تحكم Windows عادية أو command.com في Win9x أو cmd.exe في NT. لكن لا! لقد أطلقت سليلًا رائعًا لمترجمي أوامر Unix على Windows ، والذي حاول command.com تقليده بملفات BAT الخاصة به. Bash وأخوه الأكبر sh هما الغراء الذي يربط نظام Unix معًا ، ويمكن أن يطلق عليه بحق لغة برمجة ، أي يمكنك الكتابة عليه.

العديد من الأوامر الأساسية ونظيراتها في Windows

ls = dir - عرض محتويات الدليل ؛
cd = chdir - قم بالتبديل إلى دليل آخر ؛
cp = نسخ - نسخ الملف ؛
mv = mv - نقل / إعادة تسمية الملف ؛
rm = del - حذف ملف ؛
mkdir = mkdir - إنشاء دليل ؛
pwd - عرض الدليل الحالي.

تذكر - الحرف "A" الكبير لم يعد مساويًا للحرف "a" الصغير ، يجب الآن استبدال الحرف \ بـ /. سيأخذك الأمر cd / cd الخاص بـ Cygwin إلى نفس الدليل مثل bin و usr وما إلى ذلك. في Unix ، لا يوجد شيء أعلاه / ، ولكن في Cygwin ، للتنقل عبر أقسام Windows ، يمكنك استخدام الأمر cd // c / (cd // d / MyDir ، إلخ).

إحدى ميزات Bash الأنيقة هي الإكمال التلقائي. لنقم بإنشاء بعض الملفات باستخدام الأمر cat:

cat> first_file ENTER

أدخل شيئًا ثم Ctr-C ،

ونفس الشيء بالنسبة لملف آخر:

cat> second_file ENTER.

تأكد من وجود الملفات:

اكتب الآن أي أمر ، مثل ls ، والحرف الأول من الملف الأول. اضغط على علامة التبويب. سيضيف Bash اسم الملف نفسه. إذا بدأت الملفات بنفس الطريقة ، على سبيل المثال file_one و file_two ، فسيقوم Bash بإلحاق file_ فقط وينتظر منك إدخال حرف آخر لإزالة الغموض.

عدة أمثلة على استخدام بعض المرافق.

لنفترض أن لديك ملفًا نصيًا in.txt. يمكنك حساب عدد الكلمات فيه كما يلي:

عدد الخطوط:

ابحث عن سطور تحتوي على تسلسل الأحرف Larry:

grep "لاري" in.txt

قسّم الأسطر إلى كلمات ، واستبدل المسافات بأحرف نهاية السطر:

القط in.txt | gawk "gsub (" + "،" \ n ")"

يعني الأمر gawk "gsub (" + "،" \ n ")" استبدال مسافة واحدة أو أكثر ("+") بحرف نهاية السطر ("\ n").

افعل الشيء نفسه ، ولكن باستخدام طريقة عرض ملائمة (PageUp و PageDown و exit - q)

القط in.txt | gawk "gsub (" + "،" \ n ")" | أقل

ترتيب الأسطر (الكلمات):

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | أقل

إزالة الأسطر (الكلمات) المتطابقة:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq | أقل

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq | مرحاض -l

أزل الأسطر (الكلمات) المتطابقة ، مع احتساب عددها:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | أقل

قم بالفرز مرة أخرى ، وبالتالي الحصول على مفردات التردد للنص:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r | أقل

الشيء نفسه ، مع إخراج النتائج إلى ملف نصي:

القط in.txt | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r> out.txt

نفس الشيء ، مع حفظ النتائج الوسيطة في ملف intermediate.txt:

القط in.txt | gawk "gsub (" + "،" \ n ")" | tee intermediate.txt | فرز | uniq - العد | فرز -r | أقل

الآن ، باستخدام قوة Bash ، يمكنك تكرار هذا الأمر لملفات متعددة. اكتب البرنامج النصي مباشرة في وحدة التحكم ، وانتقل إلى سطر جديد كما هو مطبوع في المقالة ، - سيتفهم Bash أن الأمر لم ينته وسيغير الموجه إلى ">":

للملف في * .txt ؛ فعل

ملف $ القط | gawk "gsub (" + "،" \ n ")" | فرز | uniq - العد | فرز -r> $ file.out

مثله. مهام بسيطة - حلول بسيطة.

لمعرفة كيفية عمل الأمر ، يمكنك تشغيله باستخدام مفتاح --help ، أو استخدام الأمر man (يدوي) - man awk ، man grep. يمكنك ترك الرجل مع q.

ما هو آخر في CYGWIN

مترجم

لغة برمجة بسيطة (يقول الناس - يوم تدريب واحد) لمعالجة الكلمات ، أحد أسلاف Perl

محرر تيار

مولد محلل في C

مولد محلل في C

لغة برمجة. في الواقع ، ليس لـ Gnu علاقة مباشرة بالمرافق ؛ فقد كانت مدعومة من قبل Sun لبعض الوقت. يمكنك عمل cd /usr/share/tk8.0/demos وتشغيل برنامج widget -./widget. سترى عرضًا توضيحيًا لـ Tk ، وهو امتداد Tcl لبناء واجهات المستخدم الرسومية.

أرشيفي

أرشيفي قوي

برنامج مقارنة الملفات

والكثير. فقط اذهب إلى الحاوية وشاهد ما لديك هناك. يمكن العثور على إيداعات الحزم على http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html. هناك أيضًا الكثير من المعلومات والروابط حول هذا الموضوع على موقع Cygnus الإلكتروني http://sources.redhat.com/cygwin/.

كيفية إعداد CYGWIN

أولاً ، لا تحتاج إلى تشغيل Bash إذا كانت وحدة التحكم تخيفك. يمكنك استخدام جميع البرامج من Far "a ، Windows Commander" وما إلى ذلك ، تحتاج فقط إلى تسجيل المسارات إلى دليل bin. في Windows 9x ، يتم ذلك في ملف autoexec.bat ، على NT في جهاز الكمبيوتر / الخصائص / البيئة ، أضف المسار إلى الحاوية إلى متغير البيئة PATH.

لمزيد من العمل المريح في Bash ، أنصحك بالقيام بما يلي: إذا كانت أدلة Cygwin الخاصة بك في c: \ cygwin ، فقم بإنشاء دليل c: \ cygwin \ root (mkdir / root) وأضف سطرًا إلى ملف cygwin.bat ، وهو في c: \ cygwin:

الصفحة الرئيسية = د: \ cygwin \ الجذر

في الدليل الجذر ، أنشئ ملفين يبدأان بنقطة: .inputrc و .bashrc. يتم تنفيذ كلا الملفين بواسطة Bash عند بدء التشغيل ، ويكون .inputrc مسؤولاً عن ضمان عمل جميع المفاتيح بشكل صحيح ، ويحتوي .bashrc على معلومات متنوعة. كمثال سأقدم .bashrc الخاص بي:

تصدير PS1 = "\ w>"

تصدير PATH = ".: $ PATH"

الاسم المستعار ls = "ls --color"

الاسم المستعار untar = "tar xvf"

صدى مرحبا بكم في CygWin!

يحدد السطر الأول مسار Bash. هذا ما يفعله يونكس مع جميع المترجمين الفوريين. على سبيل المثال ، إذا كان لديك نص Perl hello.pl و perl نفسه في / usr / bin ، يمكنك الكتابة في السطر الأول:

وتشغيله على هذا النحو:

وبالتالي ، يمكنك تشغيل البرامج دون القلق بشأن ما تم كتابتها فيه.

PS1 هو متغير يخزن موجه Bash ، موجه الوظائف ، كما يطلق عليه أيضًا. \ w هو الدليل الحالي.

بعد إضافة هذا إلى PATH ، يمكنك فعل ما اعتاد مستخدمو Windows على القيام به:

ثم أستخدم المرادفات أو الأسماء المستعارة. على سبيل المثال ، لا يقوم الأمر ls افتراضيًا بتلوين مخرجاته اعتمادًا على نوع الملفات ، لذلك تحتاج إلى تشغيله باستخدام مفتاح - color. هذا غير مريح. باستخدام الأمر المستعار ls = "ls --color" لقد قمت بحل هذه المشكلة. الآن ls تعني ls --color. ليس من الضروري استخدام نفس اسم الأمر ، يمكنك فعل ll = "ls --color" - واستخدام ll. هذا ما أفعله عند إنشاء الأمر untar لفك ضغط أرشيفات tar ، بدلاً من كتابة tar xvf في كل مرة. يمكن أيضًا وضع الأنابيب في الاسم المستعار: alias sort_un_sort = "sort | uniq - العد | فرز -r ".

في الواقع ، مجال ترتيب مكان العمل لا نهاية له ، والأمثلة التي قدمتها بدائية وبسيطة. هناك أيضًا وظائف ، أوامر تفاعلية في .bashrc ، وظائف تم إطلاقها من موجه ...

أتمنى أن تكون لديك الرغبة في تجربة Cygwin. أرسل تعليقاتك إلى