يفتح
يغلق

ما هو سيجوين. تثبيت وتكوين Cygwin كيفية حفظ سجل الأوامر في bash cygwin

هذه المقالة مخصصة لشخصين
أنواع الناس: لمن لا يفهم
Linux، ولكن لا يمكنني تثبيته على جهاز الكمبيوتر الخاص بي
(هناك أسباب مختلفة)، أو لأولئك الذين
يعرف القليل عن طيور البطريق 🙂 ولا يمانع
تعرف عليهم بشكل "محايد"
الأراضي، وهذا هو، على Win98/NT.

لقد وصف الموقع بالفعل Cygwin بأنه الأفضل
أخرج محاكي Linux، لكن لم يُقال ذلك
لا شيء عن التثبيت والتكوين والأخطاء في Cygwin.
هنا سأخبرك بذلك :) في الواقع، إذا
بالتفكير في الأمر، Cygwin ليس محاكيًا على الإطلاق، ولكن
مجرد توزيعة Linux مكتوبة لـ Win32 😉

توقف عن الهذيان... دعنا نذهب إلى http://www.cygwin.com،
نأخذ برنامج التثبيت setup.exe من هناك. لها
سنقوم بسحب تلك التي تم تجميعها مسبقًا
الثنائيات (في ملحق إكس)، هل تتذكر دورة في الدقيقة؟
😉 من موقع المطور، أو من مرآة.
أوصي بهذا البرنامج للتحميل فقط
سنقوم بتثبيت هذه الملفات يدويًا، لأن لو
قمت بتثبيت باستخدام setup.exe، دول مجلس التعاون الخليجي لا يعمل - الشكل
يعرف السبب... ربما أخذ المطورون في الاعتبار بالفعل
هذا خطأ لكني لا أعرف عنه بعد..

لذا، قم بتنزيل كافة الثنائيات الرئيسية (sources
ليس عليك التنزيل)، والعديد منها
إضافي - من سيرفض wget، lynx،
BitchX، Python :) لكن ليس عليك تنزيل Perl... لدي
كان هناك ActivePerl - محاكي Perl المتقدم. تحميل
متاح من http://www.acriverl.com.
لم ألاحظ أي خلل :) (سأخبرك كيف يمكنني ذلك
نفذته في cygwin).

إعدادات

وفي ملف "المجموعة" في نفس المجلد "إلخ":
الجذر:س:0:الجذر

إذا كنت تريد تشفير كلمة المرور الخاصة بك، و
ليست "كلمة المرور" كما فعلت في المثال الخاص بي،
كتابة نص بيرل

#!/usr/bin/Perl
أقضم بصوت عالي ($pass= );
طباعة $crypt("SA",$pass);

حيث SA - سالتا، والتي سيتم استخدامها للتشفير
كلمة المرور... يمكنك جعلها عشوائية، ولكن
هذه المقالة ستكون خارج الموضوع.

الآن قم بتحرير الملف "c:\cygwin\cygnus.bat" -
في ذلك نقوم بتغيير PATH، ببساطة تغيير المسار إلى
المحاكي والمسار إلى ملف تسجيل الدخول.exe. هيا نطلق
ملف.

دعونا نسجل الدخول: في المثال الخاص بي، "الجذر": "كلمة المرور".
لذلك وصلنا إلى المحاكي نفسه. أنا لا
أعجبني موجه الإدخال. دعونا نغيره
- متغير PS1. افتح (أنشئ) الملف "c:\cygwin\etc\profile"
واكتب هناك:

# / الخ / الملف الشخصي
PROFILE_LOADED=1
المسار = "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/local/sbin:$PATH"
قم بإلغاء ضبط DOSDRIVE
قم بإلغاء ضبط DOSDIR
قم بإلغاء ضبط TMPDIR
إلغاء ضبط TMP
تصدير HOSTNAME=test
PS1="[\u@$HOSTNAME \W]# "
اسم السجل=$USER
تصدير PATH PS1 USER LOGNAME

هنا... ثم سنقوم بإعادة تسجيل الدخول، وسيعمل كل شيء
مكان وجميل :) الدعوة ستكون: # - قياسي، لينكس :)

هذا كل شيء، اكتمل التثبيت الأولي.
دعنا ننتقل إلى تثبيت الخدمات :)

يشمل التسليم القياسي ثوجا هوشا
خدمات. تحتاج إلى تشغيلها مثل هذا:
/usr/sbin/inetd -R /usr/sbin/in.ftpd (مثال لـ ftpd).

من الأفضل تثبيت SSHD بنفسك - لقد نجح بقوة و
أقود سيارتي من SecureCRT، قانوني على 127.0.0.1 -
شكل مختلف تماما :)

أما بالنسبة للعمل مع TCP/IP، فليس لدي أي عيوب
لقد لاحظت :) كل شيء يربط ويعمل مثل
ضروري...

والآن بعض النصائح:

1) الوصول إلى كافة الأقراص مفتوح. فليكن
حذر. على سبيل المثال، محرك الأقراص d: موجود هنا -
"/cygdrive/d".

2) فيما يتعلق بـ Perl، قم بإنشاء رابط رمزي للملف
Perl.exe، على سبيل المثال، لذلك "ln -s /cygdrive/c/perl/bin/perl.exe
/أوسر/بن/بيرل"

3) إذا لم يكن لديك لسبب ما
تثبيت تطبيق لينكس -
فقط قم بإصلاح رمز C. ربما،
سوف تنجح.. (هكذا جمعت
ميكك).

4) اتبع تحديثات Cygwin على موقع الويب http://www.cygwin.com
- يتم تحديث الثنائيات بشكل متكرر.

أسئلة؟ اكتب لي عن طريق البريد الإلكتروني - سأحاول
يساعد...

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

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

ما هي الحزم في رأيي التي يجب تثبيتها:

  • يفتح- ماستيف؛
  • inetutils, bind-utils, بينغ, نورث كارولايناو nc6- ماستيف؛
  • wget, لفة- ماستيف؛
  • بيثونو/أو بيثون3- أعتقد أنه أمر لا بد منه.
  • همة, gvim- لتحرير الملفات الصغيرة لن يكون ذلك غير ضروري؛
  • diffutils, com.pwgen, فك الضغط, rzync- دعهم فقط في حالة؛
  • مجلس التعاون الخليجيو/أو رنة, com.cmake, gdb- إذا لزم الأمر؛
  • شاشة, com.tmux, مولودية- للعشاق.
  • شخص سخيف- تحت كبيرة جدًاالسؤال، انظر أدناه؛

ملحوظة!لتثبيت النقطة في Cygwin، حدد المربع الموجود بجوار حزمة python-setuptools و/أو python3-setuptools. بعد التثبيت، في المحطة يقول:

easy_install-2.7 نقطة

easy_install-3.4 نقطة

...، اعتمادًا على إصدار أو إصدارات Python التي قمت بتثبيتها.

لذا، بعد تثبيت Cygwin، يمكنك فتح الوحدة الطرفية:

شباب! تسمح لك المحطة العادية التي يتم تغيير حجمها بنسخ النص ولصقه، وهذا كل شيء! تحت ويندوز!مع جميع الأوامر المعروفة والمألوفة id، ls، pwd، cat، ssh، scp، وغيرها. مع البيئة البشرية - .bashrc، ~/.ssh/config، وما إلى ذلك. بالإضافة إلى ذلك، وعلى عكس الاختراق المخزي المسمى PowerShell، فإن Cygwin لا يسحب على طول .NET Framework. يمكننا أيضًا فتح محطات متعددة والتبديل بينها باستخدام اختصار Ctr + Tab. إنها تقريبًا مثل علامات التبويب! بالطبع، Alt + Tab القديم الجيد يعمل أيضًا.

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

git config --global core.preloadindex صحيح
git config --global core.fscache صحيح
بوابة التكوين - gc.auto العالمية 256

ولكن هذا، لسوء الحظ، لا يحل المشكلة تماما. لذلك، في مشروع كبير، يمكن تنفيذ أمر git Status في 20 ثانية. في Linux، في نفس المستودع بالضبط، يتم تشغيل الأمر على الفور.

يمكن لأولئك الذين يحبون العمل في وحدة تحكم مشابهة لوحدة تحكم Linux تثبيت Cygwin، وهي بيئة تشبه Unix حيث ستكون برامج وحدة التحكم القياسية من Linux متاحة.

تثبيت Cygwin سهل للغاية. أثناء عملية التثبيت، في أحد الأوضاع، يمكنك تحديد المربعات المجاورة لحزم البرامج التي تريد تثبيتها. اخترت حزم نانو، بوابة وشيء آخر.

بعد التثبيت، يظهر اختصار Cygwin على سطح المكتب لبدء تشغيل البيئة.

قم بتشغيل Cygwin من أي مجلد

نظرًا لأنني أستخدم TotalCommander، فمن الملائم بالنسبة لي تشغيل البرامج فورًا من الدليل الذي أحتاجه. لنقم بإنشاء ملف بات مناسبًا لتشغيل Cygwin.

على الفور، دون الكثير من التفكير، انسخ سلسلة "Object" من خاصية هذا الاختصار إلى الملف الجديد الذي أنشأناه C:\bin\bash.bat
ستبدو محتويات الملف الكاملة كما يلي:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

يرجى ملاحظة أن المسار إلى ملف exe قد يكون مختلفًا بالنسبة لك. لقد قمت بتثبيت Cygwin في الدليل C:\cygwin.
وأيضًا، إذا لم تقم بإضافة الدليل C:\bin بعد إلى متغير بيئة PATH الخاص بك، فيجب عليك القيام بذلك.

إعداد إطلاق Cygwin

بعد بعض العمل مع Cygwin، اكتشفت أنه على الرغم من أنه يمكنني تشغيل Cygwin من أي دليل بمجرد كتابة الكلمة bash، إلا أن بيئة التشغيل نفسها تفتح دائمًا في الدليل الرئيسي للمستخدم. (يتم تعيين الدليل الرئيسي في متغير البيئة HOME).

لا يبدو هذا مناسبًا جدًا، لأنني إذا كتبت أمر bash أثناء تواجدي في الدليل D:\xyz، فأنا أتوقع أن Cygwin قيد التشغيل سيكون أيضًا في الدليل D:\xyz.

إذا انتبهت، فسترى أن اختصار سطح المكتب يقوم بتشغيل الأداة المساعدة mintty.exe. ندرك على الفور أننا بحاجة إلى التعرف على قائمة السمات الواردة لهذا الأمر.
افتح Cygwin وأدخل

رجل منتي

وبعد دراسة الدليل بعناية، سعدنا ببعض الاحتمالات التي لم نشك فيها، وهي: إمكانية ضبط حجم وإحداثيات نافذة Cygwin التي سيتم إطلاقها.

افتح ملف الخفافيش الخاص بنا وقم بتغيير محتوياته إلى ما يلي:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --الحجم 120.77 --position -4.0 -

في هذه الحالة، قمت بتعيين حجم نافذة Cygwin التي أحتاجها وموضع ظهور النافذة (القيمة السالبة -4 ضرورية بحيث تكون حافة النافذة خارج حدود الشاشة وغير مرئية).

الآن ستظهر نافذتي دائمًا في الإحداثيات المناسبة لي، ولن تتغير بمقدار +8 بكسل في x، y مع كل إطلاق جديد.

ولكن ماذا عن دليل إطلاق Cygwin؟

بعد كل شيء، الانتقال إلى الدليل المطلوب من الدليل الرئيسي الخاص بك أمر غير مريح للغاية!

لقد تم العثور على الحل! لتعيين الدليل الحالي عند بدء Cygwin، يمكننا استخدام البرنامج النصي للتشغيل التلقائي لبيئة بدء تشغيل bash.

لذلك نحن بحاجة إلى تحسين ملف bash.bat الخاص بنا بحيث يقوم بإنشاء ملف تشغيل تلقائي لتشغيل وحدة التحكم bash

نطلق Cygwin، وندخل الأمر "man bash" ونقرأ الوثائق بحثًا عما نحتاج إليه. نجد عدة خيارات لأسماء الملفات الخاصة بالدليل الرئيسي للمستخدم، والتي يتم تشغيلها عند تسجيل الدخول إلى bash.
يتم تشغيل الملفات عند تسجيل الدخول إلى bash:

~/.bash_profile ~/.bash_login ~/.profile

تم إطلاق الملف عند بدء تشغيل bash دون تسجيل الدخول

~/.bashrc

ملاحظة مهمة: يجب كتابة ملف بدء التشغيل ~/.bash_login (أو أي ملف آخر) بتشفير UTF-8! ويجب عدم استخدام أحرف \r. (على سبيل المثال، لم يعمل الأمر pwd بالنسبة لي عندما كان الملف يحتوي على الحرف \r في النهاية، وهو أمر نموذجي لنظام Windows).

كما اتضح، فإن إخراج نص UTF-8 من CMD ليس بالأمر السهل، ولكنه ممكن!
فيما يلي مثال لكيفية القيام بذلك:

كمد / ش / ج chcp 65001 | صدى بعض النص>"اسم الملف"

لنعمل على تحسين ملف C:\bin\bash.bat، فهو الآن يحتوي على المحتويات:

@echo off SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --الحجم 120.77 -- الموقف -4,0 -

بمجرد إطلاقها، تقوم وحدة bash بتنفيذ محتويات ملف ~/.bash_login. يجب أن يكون هذا الملف بتنسيق UTF-8. للقيام بذلك، نستدعي CMD مع العلم /u، الذي يخبرنا أن وحدة التحكم التي تم تشغيلها يجب أن تُرجع النتيجة بتنسيق UTF-8.

كما ترون، نقوم بتمرير أمرين مفصولين بـ | . تتيح لنا هذه العلامة كتابة الأمرين اللذين نحتاجهما في سطر واحد.

يقوم الأمر الأول chcp 65001 بتعيين ترميز UTF-8 في وحدة التحكم قيد التشغيل. (لمعرفة ما تم تعيينه من التشفير الحالي في وحدة التحكم، ما عليك سوى استدعاء الأمر chcp بدون معلمات.)

الفريق الثاني صدى النص > "%HOME%\%file%"يطبع النص المقابل إلى ملف يسمى "%HOME%\%file%"، حيث يتم توسيع أسماء المتغيرات في المسار إلى الدليل الرئيسي واسم الملف .bash_login .

يرجى ملاحظة الوصول غير المعتاد إلى متغير القرص المضغوط، الذي يحتوي على الدليل الحالي لوحدة التحكم cmd. إذا تم توسيع المتغير عادة عن طريق الكتابة

ثم في حالتنا، نستخدم الترميز

%القرص المضغوط:\=/%

يتيح لك ذلك استبدال جميع الخطوط المائلة بنمط Windows \ بخطوط مائلة بنمط Linux / .

لا تنس وضع جميع أسماء الملفات والدلائل بين علامتي اقتباس، فهذا سيسمح لك بالدخول إلى الأدلة التي تحتوي على مسافات.

نظرًا لاستخدام UTF-8، يتيح لك هذا التصميم بنجاح فتح Cygwin في الدلائل ذات الأسماء الروسية.

وبالتالي، في كل مرة تقوم فيها بتشغيل أمر bash في وحدة التحكم، سيتم تشغيل البرنامج النصي C:\bin\bash.bat، والذي سيحل محل ملف بدء التشغيل الخاص ببيئة bash في Cygwin. يمكننا الآن تشغيل وحدة bash بسهولة ويسر من أي دليل والوصول فورًا إلى نفس الدليل في وحدة bash.

نحن نفرح ونستمتع بالنتيجة!

دعونا نلخص ذلك

  1. لقد قمنا بتثبيت Cygwin
  2. تم إنشاء ملف C:\bin\bash.bat بالمحتويات @echo off SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --الحجم 120.77 -- الموضع -4,0 - (ملاحظة: يجب أن يكون المسار C:\bin\ موجودًا في متغير بيئة PATH)
    وبفضل هذا حققنا:
    • إطلاق محطة Cygwin في موضع شاشة محدد (-خيار الموضع)
    • تشغيل نافذة بحجم معين (المعلمة --size)
    • قم بتشغيل Cygwin من أي دليل عن طريق كتابة bash في وحدة التحكم
    • وفي الوقت نفسه، يوجد Cygwin الذي تم إطلاقه في نفس الدليل الذي تم إطلاقه منه!

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

تتكون كلمة Cygwin من مكونين: Cygnus هو اسم الشركة، وWindows، ولكن سيكون من الخطأ القول أن كل شيء في Cygwin كتبه رجال من Cygnus. Cygwin هو منفذ لأدوات Gnu المساعدة لنظام التشغيل Windows، وGnu (www.gnu.org) هو مشروع لمؤسسة البرمجيات الحرة (أو ببساطة FSF)، بهدف إنشاء نظام يونكس مجاني وغير مملوك وغير ربحي. من التراخيص التي تقيد حرية توزيع وتعديل البرمجيات. كجزء من هذا المشروع، تمت إعادة كتابة جميع الأدوات المساعدة القياسية لنظام التشغيل UNIX تقريبًا. أهم ثلاث مساهمات لـ FSF هي gcc (مترجم Gnu C، أو مجموعة مترجم Gnu)، Bash (Bourne Again Shell)، وEmacs. بدون gcc لن يكون هناك Linux، و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". منذ الإصدارات التجريبية الأولى من Cygwin، قام العديد من الأشخاص بتجميع ما يفتقرون إليه لنظام التشغيل Windows لـ Cygwin، ونما توزيع Cygwin القياسي تدريجيًا، بما في ذلك من خلال هذه المجموعات محلية الصنع. على سبيل المثال، أثناء إصدار Beta 20، اضطررت إلى تنزيل محرر vim بشكل منفصل، ولكن تم تثبيته الآن مع المجموعة بأكملها.

كيفية تثبيت كل شيء

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

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

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

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

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

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

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

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

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

قطة> أول_ملف أدخل

اكتب شيئا، ثم Ctr-C،

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

قطة > ملف_ثاني أدخل.

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

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

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

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

عدد الخطوط:

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

grep "لاري" in.txt

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

القط in.txt | التحديق "gsub(" +"،"\n")"

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

افعل نفس الشيء، ولكن مع إمكانية المشاهدة المريحة (PageUp، PageDown، Exit - q)

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

فرز السلاسل (الكلمات):

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

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

القط in.txt | غاوك "gsub(" +"،\n")" | فرز | يونيك | أقل

القط in.txt | غاوك "gsub(" +"،\n")" | فرز | يونيك | مرحاض -ل

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

القط in.txt | غاوك "gsub(" +"،\n")" | فرز | يونيك --العد | أقل

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

القط in.txt | غاوك "gsub(" +"،\n")" | فرز | يونيك --العد | فرز -ص | أقل

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

القط in.txt | غاوك "gsub(" +"،\n")" | فرز | يونيك --العد | فرز -r> out.txt

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

القط in.txt | غاوك "gsub(" +"،\n")" | Teeintermediate.txt | فرز | يونيك --العد | فرز -ص | أقل

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

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

ملف القط $ | غاوك "gsub(" +"،\n")" | فرز | يونيك --العد | فرز -r> $file.out

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

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

ماذا يوجد أيضًا في CYGWIN

مترجم

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

محرر الدفق

مولد المحلل اللغوي في C

مولد المحلل اللغوي في C

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

أرشيفي

أرشيفي قوي

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

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

كيفية إعداد سيجوين

أولاً، لا يتعين عليك تشغيل Bash إذا كنت تخيفك وحدة التحكم. يمكنك استخدام كافة البرامج من Far وWindows Commander وما إلى ذلك، ما عليك سوى تحديد المسار إلى دليل bin. في نظام التشغيل Windows 9x، يتم ذلك في ملف autoexec.bat، وفي NT في My Computer / Properties / Environment تحتاج إلى إضافة المسار إلى bin إلى متغير بيئة PATH.

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

HOME=d:\cygwin\root

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

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

تصدير المسار = ".:$PATH"

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

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

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

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

وتشغيله مثل هذا:

بهذه الطريقة، يمكنك تشغيل البرامج دون الحاجة إلى القلق بشأن ما تم كتابته فيه.

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

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

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

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

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

من أجل كتابة الطلبات ل يونكسليس من الضروري تثبيته (تحت الكلمة يونكسسأفكر في كل شيء * لا شىءالأنظمة). يبدو هذا البيان متناقضا إلى حد ما، لكنه صحيح، وفي هذا المقال سأحاول إقناعك بذلك.

إذا لم تكن خبيرًا حقيقيًا في Unix، فمن أجل كتابة تطبيقين لنظام التشغيل هذا أو تجميع البرامج الموجودة، لا تحتاج إلى التثبيت يونكس. المحاكي مثالي لهذه الأغراض. يونكس. هناك العديد من البرامج الرائعة التي تقوم بهذه المهمة على أكمل وجه، منها على سبيل المثال: UWin, مين جيجاو, سيجوينوإلخ.

مناسبة لتجميع البرامج البسيطة مين جيجاو، ولكن بالنسبة للأشياء الأكثر تعقيدًا فهي غير مناسبة. اوينهو محاكي أكثر تقدمًا، لكن وظائفه أدنى بكثير من محاكي آخر أكثر شهرة سيجوين.

سيجوينهو محاكي وظيفي للغاية ومجاني يونكس. يتم توزيعه كملف واحد ( setup.exe)، لا تنخدع بحجم هذا الملف ( ~300 كيلو بايت)، وهذا ليس هو نفسه سيجوين، ولكن المثبت فقط. يجب تنزيل جميع الأدوات المساعدة والمكتبات الضرورية بشكل منفصل أثناء عملية التثبيت، أو يمكنك تحديد دليل محلي كمصدر إذا كان لديك بالفعل الملفات الضرورية.

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



أعتقد أنه لم تكن هناك مشاكل مع التثبيت. الآن دعونا نلقي نظرة على بعض التفاصيل الدقيقة في الإعداد والاستخدام سيجوين. بعد التثبيت، ستشبه بنية المجلد الذي تم تثبيت البرنامج فيه البنية * لا شىءأنظمة. من أجل الانطلاق سيجوينفقط اركض ملف الخفافيش, cygwin.bat، الموجود في الدليل الجذر سيجوين(نعني بالدليل الجذر المجلد الذي يوجد به ملف سيجوين، في المستقبل سوف نعتمد من هذا الكتالوج). بعد إطلاق ملف الخفافيشسيظهر أمامك تطبيق وحدة التحكم. هذا هو سحق، وهو الرابط بين يونكسو شبابيك. سحق- هذا ليس مجرد نظير cmd.exe. سحقهي لغة برمجة كاملة يمكنك من خلالها كتابة البرامج النصية لأداء مهام مختلفة. وهذا هو بالضبط ما يجعلها مختلفة جذريا عن cmd.exe (com.command.com).

دعوة سحقعمليا لا يختلف عن cmd.exe (~ - يعني دليل منزلك). لا توجد محركات أقراص منطقية هنا (A، C، D، وما إلى ذلك)، العد التنازلي هو من الدليل الجذر المعين " / ". عليك أيضًا أن تتذكر أن هذه الحالة مهمة هنا، لذا إلخو إلخ- كتالوجان مختلفان تمامًا. دعنا نحاول الانتقال إلى الدليل الجذر، للقيام بذلك فقط قم بتشغيل الأمر المألوف " مؤتمر نزع السلاح/" (~ يجب أن تتغير إلى / ). وبعد ذلك اكتب الأمر " دير"، أو " ليرة سورية"، لعرض محتويات الدليل الجذر. أعتقد أنك الآن تفهم ما هو الدليل الجذر.





لا أستطيع وصف جميع الأوامر الواردة في هذه المقالة، لذلك دعونا ننتقل مباشرة إلى المرحلة الأكثر أهمية، والتي وضعنا لها بالفعل سيجوين. دعونا نحاول تجميع بعض البرامج. للتجميع اخترت البرنامج هتوب(http://freshmeat.net/projects/htop/)، هذه نسخة محسنة من البرنامج القياسي قمة، وهو مدير عمليات وحدة التحكم. الخطوة الأولى هي فك ضغط الأرشيف. يمكنك القيام بذلك كما في شبابيك، ومباشرة في سيجوين. في سيجوينيتم ذلك باستخدام الأمر:

القطران zxf htop-0.6.tar.gz

بالطبع، في الوقت الحالي، يجب أن تكون في نفس الدليل الذي يوجد به الأرشيف htop-0.6.tar.gz. بعد التفريغ، انتقل إلى الدليل الذي تم إنشاؤه htop-0.6وتنفيذ ثلاثة أوامر قياسية لتجميع التطبيق.

./تهيئة
يصنع
قم بالتثبيت



هذا كل شيء، اكتمال التجميع. لا تتردد في تجنيد فريق com.htopونعجب بالنتيجة. يوجد "EXE" الناتج في الدليل /usr/local/bin/.



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

#يشمل
انت مين())(
printf("مرحبا بالعالم");
العودة 1 ;)

بعد إدخال الرمز، اضغط على السيطرة + C. الآن دعونا تجميعها باستخدام مجلس التعاون الخليجي. يتم ذلك باستخدام الأمر:

دول مجلس التعاون الخليجي new.c -o new.exe

في نفس الدليل الذي كان موجودا فيه جديد.جسيظهر ملف آخر - new.exe. عند تشغيله ستظهر لك الرسالة المتوقعة " مرحبا بالعالم".



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

com.xemacs

وهذا ما سوف نرى.



كما ترون، كل شيء يبدأ ويعمل بشكل جيد. لكن هذا لا يحدث للجميع. البيئة الرسومية متقلبة للغاية. لذلك، يجب أن تكون قادرًا على تكوينه. وثائق الإعداد خوادم Xيوجد الكثير منهم على الإنترنت ويمكنك العثور عليه بسهولة.

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