Başlayanlar üçün cygwin-in quraşdırılması və konfiqurasiyası. Cygwin paketlərindən Git-in Windows-a quraşdırılması

23 yanvar 2001-ci il tarixli KG?3-də Kris Kasperskinin “Windows-dan Unix necə hazırlanır” məqaləsindən sonra mən sizə bir az daha ətraflı danışmaq istədim. Windows istifadəçiləri Cygwin nə haqqında. Mən onu uzun müddətdir istifadə edirəm və Cygwin quraşdırılmadan artıq Windows-da effektiv işləyə bilmirəm.

Cygwin sözü iki komponentdən ibarətdir: Cygnus şirkətin adıdır və Windows, lakin Cygwin-də hər şeyi Cygnus-dan olan uşaqlar yazdığını söyləmək səhv olardı. Cygwin Windows üçün Gnu utilitlərinin portudur və Gnu (www.gnu.org) Pulsuz proqramın layihəsidir. Proqram təminatı (Pulsuz proqram təminatı Foundation və ya sadəcə FSF), fərdi olaraq heç kimə aid olmayan və proqram təminatının paylanması və dəyişdirilməsi azadlığını məhdudlaşdıran lisenziyalardan azad olan qeyri-kommersiya Unix sistemi yaratmaq məqsədi daşıyır. Bu layihənin bir hissəsi olaraq, demək olar ki, bütün standart UNIX utilitləri yenidən yazılmışdır. FSF-nin üç ən əhəmiyyətli töhfəsi gcc (Gnu C Compiler və ya Gnu Compiler Collection), Bash (The Bourne Again Shell) və Emacs-dır. Gcc olmasaydı, Linux olmazdı və Bash bir çox müasir Unix sistemləri üçün standart qabıqdır. Təcrübəsi olan insanlar deyirlər ki, kommersiya Unix-ləri quraşdırdıqdan sonra sistem administratorlarının ilk işi Gnu utilitlərini yenidən quraşdırmaqdır. Prinsipcə, GNU və FSF özləri geniş mövzudur və ayrıca ətraflı məqaləyə layiqdirlər.

Gnu utilitlərinin bütün dəsti, Unix sisteminin istifadəçisinin (yalnız Unix deyil) hər gün qarşılaşdığı, hər bir belə proqramın bir tapşırığı yerinə yetirdiyi və onu yaxşı yerinə yetirdiyi tapşırıqların əksəriyyətini əhatə edən kiçik (adətən) proqramlar toplusudur; Bu proqramlar daha sonra müxtəlif problemləri həll etmək üçün birləşdirilə bilər.

Gnu-nu digər qeyri-Unix platformalarına köçürmək cəhdləri dəfələrlə edilib ki, bu da, yeri gəlmişkən, onların populyarlığını göstərir.

Utilitlərin DOS - DJGPP-ə daşınması layihəsini qeyd etmək lazımdır. http://www.delorie.com/djgpp/ saytına daxil olun, həqiqətən maraqlıdır.

Cygnus hər bir yardım proqramı ayrı-ayrılıqda tərtib etmədi, hər dəfə eyni problemləri həll etmək üçün əziyyət çəkdi, bunun əvəzinə GNU utilitləri arasında bir növ "boşluq" yazılmışdı; əməliyyat sistemi. Bu şim - cygwin1.dll (1 - versiya nömrəsi) - emulyasiyanı təmin edir sistem zəngləri Unix proqramlarını az və ya heç bir dəyişiklik etmədən tərtib etməyə və icra etməyə imkan verən UNIX mənbə kodu. Əsasən, bu dll Cygwin-in özüdür və qalan hər şeydir proqram paketləri GNU Cygwin ilə işləmək üçün tərtib edilmişdir.

Gcc və kitabxanaların mövcudluğu müxtəlif proqramları Windows-a köçürməyə imkan verir və Cygwin-i tam hüquqlu platformaya çevirir - bəzən "Cygwin platforması" ifadəsini tapa bilərsiniz. Cygwin-in ilk beta versiyalarından bəri müxtəlif insanlar Windows üçün çatışmayanları Cygwin üçün tərtib etdilər və standart Cygwin paylanması, o cümlədən evdə hazırlanan bu kompilyasiyalar vasitəsilə tədricən böyüdü. Məsələn, zamanı Beta versiyaları 20 Vim redaktorunu ayrıca yükləməli oldum, amma indi bütün dəstlə birlikdə quraşdırılıb.

Hamısını necə quraşdırmaq olar

Cygnus paketləri idarə etmək üçün bəzilərini bir qədər xatırladan rahat proqram yazdı oxşar proqramlar Linux OS paylamalarından. İlk addım onu ​​Cygnus saytından http://sources.redhat.com/cygwin/setup.exe-dən yükləməkdir. Onu işə salmaqla siz çoxlu güzgülərdən birindən standart paketlər dəstini endirə bilərsiniz və fərdi paketləri atlayaraq bunu seçici şəkildə etməyi seçə bilərsiniz.

Gələcək üçün - bu proqramı daha sonra eyni kataloqdan işə salmaqla, hansı yeni paketlərin meydana gəldiyini və ya mövcud paketlərin yeni versiyalarını görə biləcəksiniz.

Eyni proqram sizin üçün Cygwin-i quraşdıracaq, yenidən nəyi quraşdıracağınıza və nəyin quraşdırılmayacağına qərar vermənizi xahiş edəcək. Quraşdırma sizin üçün Unix fayl iyerarxiyasında ümumi olan qovluqlar yaradacaq - bin, usr, sbin və s., ona görə də onların hamısını bir kataloqda yerləşdirmək rahatdır ki, Windows qovluqlarınızla qarışdırılmasın.

Və hamısını necə istifadə etmək olar

Cygwin-i işə saldığınız zaman adi Windows konsoluna, Win9x-da command.com və ya NT-də cmd.exe-yə bənzər bir konsol pəncərəsi görəcəksiniz. Amma yox! Siz Windows-da Unix komanda tərcüməçilərinin şərəfli nəslini işə saldınız, hansı ki, komanda öz funksiyaları ilə command.com-u təqlid etməyə çalışırdı. BAT faylları. Baş və onun böyük qardaşı sh bir-birinə bağlayan yapışqandır Unix sistemi, onu haqlı olaraq proqramlaşdırma dili adlandırmaq olar, yəni onda yaza bilərsiniz.

Windows-da bir neçə əsas əmrlər və onların ekvivalentləri

ls = dir - kataloqun məzmununa baxmaq;
cd = chdir - başqa qovluğa keçmək;
cp = surəti - faylı kopyalayın;
mv = mv - faylı köçürmək/adını dəyişmək;
rm = del - faylı silin;
mkdir = mkdir - kataloq yaratmaq;
pwd - cari kataloqu göstərir.

Unutmayın - böyük "A" artıq kiçik "a" ilə bərabər deyil, \ simvolu indi / ilə əvəz edilməlidir. Cygwin-dəki cd / əmri sizi bin, usr və s.-nin yerləşdiyi qovluğa aparacaq. Unix-də yuxarıda heç nə yoxdur /, lakin Cygwin-də Windows bölmələri arasında səyahət etmək üçün cd //c/ əmrindən istifadə edə bilərsiniz (cd //d/MyDir və s.).

Bash-ın ən əlverişli xüsusiyyətlərindən biri avtomatik tamamlamadır. cat əmri ilə bir neçə fayl yaradaq:

cat > birinci_fayl ENTER

bir şey yazın, sonra Ctr-C,

və başqa bir fayl üçün də eyni:

cat > ikinci_fayl ENTER.

Faylların mövcud olduğundan əmin olun:

İndi istənilən əmri, məsələn, ls və birinci faylın ilk hərfini yazın. TAB düyməsini basın. Bash fayl adının özünə əlavə edəcək. Fayllar fayl_one və file_two kimi eyni şəkildə başlayırsa, Bash yalnız file_ əlavə edəcək və onu aydınlaşdırmaq üçün başqa hərf yazmağınızı gözləyəcək.

Bəzi kommunal proqramların istifadəsinə dair bir neçə nümunə.

Tutaq ki, sizdə var mətn faylı in.txt. Oradakı sözlərin sayını belə hesablaya bilərsiniz:

Sətirlərin sayı:

Larri simvol ardıcıllığını ehtiva edən sətirləri tapın:

grep "Larry".txt

Sətirləri sözlərə ayırın, boşluqları sətir sonu simvolları ilə əvəz edin:

cat in.txt | gawk "gsub(" +","\n")"

"gsub(" +","\n")" gawk əmri bir və ya bir neçə boşluğu ("+") sətir sonu simvolu ("\n") ilə əvəz etmək deməkdir.

Eyni şeyi edin, lakin rahat baxış imkanı ilə (PageUp, PageDown, exit - q)

cat in.txt | gawk "gsub(" +","\n")" | az

Sətirləri (sözləri) çeşidləyin:

cat in.txt | gawk "gsub(" +","\n")" | sort | az

Eyni sətirləri (sözləri) silin:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq | az

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq | wc -l

Eyni sətirləri (sözləri) çıxarın, onların sayını hesablayın:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | az

Yenidən çeşidləyin, beləliklə mətnin tezlik lüğətini əldə edin:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r | az

Nəticələrin mətn faylına çıxarılması ilə eyni şey:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r > out.txt

intermediate.txt faylında saxlanılan ara nəticələrlə eyni şey:

cat in.txt | gawk "gsub(" +","\n")" | teeintermediate.txt | sort | uniq --count | sort -r | az

İndi Bash-in gücündən istifadə edərək, bu əmri birdən çox fayl üçün təkrarlaya bilərsiniz. Məqalədə göstərildiyi kimi yeni sətirə keçərək skripti birbaşa konsola yazın - Bash əmrin tamamlanmadığını başa düşəcək və əmri ">" olaraq dəyişəcək:

fayl üçün *.txt; et

cat $fayl | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r > $file.out

Bunun kimi. Sadə problemlər - sadə həllər.

Müəyyən bir əmrin necə işlədiyini öyrənmək üçün onu --help keçidi ilə işlədə və ya man (manual) əmrindən istifadə edə bilərsiniz - man awk, man grep. Siz q istifadə edərək adamdan çıxa bilərsiniz.

CYGWINDƏ BAŞQA NƏLƏR VAR

Kompilyator

Perlin əcdadlarından biri olan sadə (insanların dediyinə görə - 1 gün təlim) söz emal proqramlaşdırma dili

Yayım redaktoru

C-də təhlil generatoru

C-də təhlil generatoru

Proqramlaşdırma dili. Əslində, o, bir müddətdir ki, Sun korporasiyası tərəfindən dəstəklənirdi. Siz cd /usr/share/tk8.0/demos edə və proqram vidcetini -./widget-i işlədə bilərsiniz. Siz GUI yaratmaq üçün Tcl uzantısı olan Tk imkanlarının nümayişini görəcəksiniz.

Arxivçi

Güclü arxivçi

Fayl müqayisə proqramı

Və daha çox. Sadəcə zibil qutusuna gedin və orada nəyə sahib olduğunuzu görün. Paket depozitləri http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html saytında tapıla bilər. Cygnus saytında http://sources.redhat.com/cygwin/ mövzu ilə bağlı çoxlu məlumat və bağlantılar da var.

CYGWIN-i necə qurmaq olar

Birincisi, konsol sizi qorxudursa, Bash-ı işə salmaq lazım deyil. Far, Windows Commander və s.-dən bütün proqramlardan istifadə edə bilərsiniz, sadəcə zibil qovluğuna gedən yolu göstərməlisiniz. Windows 9x-də bu, autoexec.bat faylında, NT-də My Computer/Properties/Environment-də edilir. mühit dəyişəni PATH zibil qutusuna trek əlavə etməlidir.

Bash-da daha rahat işləmək üçün sizə aşağıdakıları etməyi məsləhət görürəm: əgər Cygwin qovluqlarınız c:\cygwin-də yerləşirsə, c:\cygwin\root (mkdir /root) kataloqu yaradın və cygwin.bat-a sətir əlavə edin. c:\ cygwin-də olan fayl:

HOME=d:\cygwin\root

Kök qovluğunda siz nöqtə ilə başlayan 2 fayl yaratmalısınız: .inputrc və .bashrc. Hər iki fayl başlanğıcda Bash tərəfindən icra edilir, .inputrc bütün düymələrin düzgün işləməsini təmin etmək üçün məsuliyyət daşıyır və .bashrc müxtəlif məlumatları ehtiva edir. Nümunə olaraq, mən .bashrc-i verəcəyəm:

ixrac PS1="\w > "

ixrac PATH=".:$PATH"

ləqəb ls="ls --color"

ləqəb untar="tar xvf"

echo CygWin-ə xoş gəlmisiniz!

Birinci sətir Bash yolunu müəyyən edir. Unix bütün tərcüməçilərlə belə edir. Məsələn, əgər sizin Perl-də hello.pl skriptiniz varsa və perl özü /usr/bin daxilindədirsə, birinci sətirə yaza bilərsiniz:

və bunu belə işlədin:

Beləliklə, proqramların nə yazılmasından narahat olmadan onları işlədə bilərsiniz.

PS1, həm də adlandırıldığı kimi, Bash əmrini, işə dəvəti saxlayan bir dəyişəndir. \w cari kataloqdur.

Bunu PATH-ə əlavə etdikdən sonra bunu Windows istifadəçilərinin alışdığı şəkildə edə bilərsiniz:

Sonra, mən sinonimlər və ya ləqəblərdən istifadə edirəm, məsələn, ls əmri faylların nə olduğundan asılı olaraq onu rəngləndirmir, bu, əlverişsizdir alias ls="ls" əmri --color" Bu problemi həll edirəm. İndi ls ls --color deməkdir. Eyni komanda adından istifadə etmək lazım deyil, ll="ls --color" - edə bilərsiniz və istifadə edə bilərsiniz. new ll əmri. Bu, qablaşdırmadan çıxarmaq üçün untar əmrini yaratarkən etdiyim şeydir tar arxivləri, hər dəfə tar xvf yazmaq yerinə. Siz həmçinin boruları (borular, konveyerlər) ləqəblə yerləşdirə bilərsiniz: alias sort_un_sort=" sort | uniq --count | sort -r ".

Reallıqda burada iş yerinin təşkili sahəsi sonsuzdur və mənim nümunələrim primitiv və sadədir. Həmçinin .bashrc-də funksiyalar, interaktiv əmrlər, sorğudan işləyən funksiyalar...

Cygwin Windows OS üçün tərtib edilmiş və burada yerləşdirilən Unix proqramları və kitabxanaları toplusudur. fayl sistemi real Unix-də olduğu kimi. Bunun sayəsində biz Unix mühitinin tam ekvivalentini əldə edirik, bash-dan başlayaraq gcc kompilyatorlarına qədər, mənbə kodunu çox köçürmədən, Windows-da icra üçün layihələri yığmaq üçün istifadə edilə bilər (kifayət qədər çox sayda çarpaz platforma tətbiqləri bu yanaşmadan istifadə edir, çünki bu, ən sadə və sürətlidir).

Cygwin quraşdırılması

Veb saytında 32 və ya 64 bit versiyaları üçün Cygwin yükləyə bilərsiniz https://cygwin.com/install.html. Quraşdırma çox sadədir - siz sadəcə olaraq Paketləri Seçin pəncərəsində "Sonrakı" düyməsini sıxa bilərsiniz. Burada paketlərin məlumat bazası sizin qarşınızda açılacaq, onlardan bəziləri artıq dayanmaq üçün qeyd olunacaq (əsas), digərlərini özünüz qeyd edə bilərsiniz. Quraşdırma üçün paketi qeyd etmək üçün onun adını "Axtarış" sahəsinə daxil etməli, sonra kateqoriyaları genişləndirməli və bu paketi tapmalısınız. Sonra "Skip" düyməsini basın, nəticədə Skip əvəzinə quraşdırılacaq versiya görünməlidir. Əlavə iş üçün paketi qeyd edin wget, qalanını hələlik tək buraxa bilərsiniz. Paketləri sadəcə quraşdırıcını yenidən işə salmaqla istənilən vaxt yenidən quraşdırmaq və ya silmək olar, lakin bu, tamamilə rahat deyil, ona görə də məqalənin sonrakı hissəsində sizə paketləri necə quraşdıracağınızı söyləyəcəyəm. komanda xətti(bunun üçün bizə wget lazımdır).

Varsayılan olaraq, cygwin standart Windows terminalında işləyir, bu çox rahat deyil.

Terminal Konsolu

Pip istifadə edərək python paketlərinin quraşdırılması

Python paketləri tez-tez sigwin depolarında mövcud olmayan pip istifadə edərək quraşdırılır.

Buna görə də ayrıca quraşdırılmalıdır:

libc funksiyaları üçün MAN səhifələri

Cygwin üçün artıq dərslik səhifələri var standart əmrlər, lakin man for libc funksiyaları ayrıca quraşdırıla bilər:

Yeri gəlmişkən, Cygwin istifadə etdiyi kimi hansısa şəkildə quraşdırılmış sistemlərlə bağlıdır Yenilib müxtəlif ARM alət zəncirlərində geniş istifadə edildiyi bilinən libc tətbiqi.

Cygwin-də Vim

Quraşdırma:

Konfiqurasiya ev kataloqunda .vimrc faylında edilir:

Bu parametrlərdən istifadə edirəm:

backspace = girinti, eol, start təyin edin

Sintaksisi aktivləşdirin

sürüşmə eni = 4 təyin edin

tabstop = 8 təyin edin

softtabstop = 4 təyin edin

genişləndirmə nişanını təyin edin

nömrə təyin edin

showcmd təyin edin

kursor xəttini təyin edin

fayl növü girinti plagini aktivdir

vəhşi menyu təyin edin

lazyredraw təyin edin

şou oyunu təyin edin

incsearch təyin edin

Doğma Cygwin Terminalından istifadə

Standart Cygwin quraşdırıcısı öz nanə terminalını təmin edir (Cygwin Terminal simvolu vasitəsilə işə salınır). Konsolla müqayisədə funksionallıq baxımından bir qədər aşağıdır (məsələn, nişanları yoxdur), həm də yaxşı funksionallığa malikdir və bədən hərəkətləri daha azdır. Gözəl xüsusiyyətlərdən biri 256 dəstəyidir az rənglər terminalda:

Bu, badwolf kimi vim üçün rahat sintaksisi vurğulayan mövzulardan istifadə etməyə imkan verir:

Onu aktivləşdirmək üçün .vimrc-ə əlavə etməlisiniz:

Bu belə görünəcək:

Bash cygwin-də komanda tarixini necə saxlamaq olar?

.bashrc faylında aşağıdakı əlavələri tapmalısınız:

Birincisi tarix faylının ölçüsünü göstərir (10 min əmr), ikincisi dublikat əmrləri silməyə imkan verir (əgər daxil edilmiş əmr tarixdə artıq varsa, köhnəsi yer saxlamaq üçün silinir), üçüncüsü isə bash tarixçəsini aktivləşdirir. texniki qulluq.

Cygwin-də Windows üslubunda verilmiş yola necə getmək olar?

Qələbəyə bənzər yolu unix tipli yola çevirmək üçün siz cygpath yardım proqramından istifadə edə bilərsiniz.

Nəticədə, yol "/cygdrive/d/projects/some/src" olacaq və cd arqumenti kimi keçəcək.

Cygwin Windows üçün unix oxşar mühitdir. Tez-tez Unix-ə bənzər əməliyyat sistemləri üçün hazırlanmış proqramları işə salmaq lazımdır. Bu proqramların çoxu Cygwin olmadan quraşdırıla bilər, lakin o, rahat mərkəzləşdirilmiş quraşdırma və idarəetməni təmin edir. Cygwin ilə siz OpenSSL, GnuPG, ImageMagick, gvim, gcc, bash, tcsh, emacs və bir çox başqa proqramları asanlıqla quraşdıra bilərsiniz.
Beləliklə, quraşdırmaya keçək. Əvvəlcə quraşdırıcını yükləməlisiniz. Bu, sadəcə olaraq bütün lazımi paketləri və mühiti endirəcək və sonra onları quraşdıracaq bir proqramdır. Quraşdırma olduqca sadədir:




Əgər bu menyudan istifadə edirsinizsə, proxy parametrlərini seçə bilərsiniz.


Proqram quraşdırma üçün paketləri olan güzgülərin siyahısını endirəcək, bundan sonra paketlərin endiriləcəyi yerdən güzgü seçməyə imkan verəcək.


İndi quraşdırmaq üçün paketləri seçə bilərsiniz. Tapmağı asanlaşdırmaq üçün onlar məqsədlərinə görə qruplaşdırılır. Siz həmçinin paket adı ilə axtarış edə bilərsiniz. Bu menyudan istifadə edərək, siz həm ikili paketi (artıq tərtib edilmiş), həm də mənbə kodunu (kompilyasiya olunmamış paket) quraşdıra bilərsiniz. Bin sütunu seçilmiş ikili paketin versiyasını ehtiva edir, əgər ikili paket artıq seçilibsə, Src (mənbə kodu) sütunu seçilə bilər; Mənbə kodu ikili paketlə eyni versiya olacaq. Yeni sütunda paket versiyasını seçmək üçün onun üzərinə bir neçə dəfə basmaq lazımdır.
Sizə lazım olan bütün paketləri seçdikdən sonra növbəti düyməni vura bilərsiniz və quraşdırıcı onları endirib quraşdıracaq. Paketləri seçərkən sizə bunları tövsiyə edərdim -

Sadə və əsasən hər kəs üçün yaxşıdır. Git-in yalnız versiyası ən azı indiyə qədər ən son deyil. Ancaq Git ilə gündəlik iş üçün kifayətdir. Versiyaya baxsaq, görərik:

$git --versiya
git versiyası 1.9.5.msysgit.0

Ancaq birdən daha yeni bir şeyə ehtiyacınız varsa, Git-i Cygwin paketlərindən quraşdıra bilərsiniz. Bunun üçün əlbəttə ki, Cygwin-in özünü quraşdırmalısan. Bu barədə mürəkkəb bir şey yoxdur. Gəlin bura gedək və quraşdırıcını yükləyək. Bu tam olaraq quraşdırıcı, A paylama deyil. Bütün paketləri şəbəkədən endirdiyi üçün. Bundan əlavə, quraşdırılmış paketləri yeniləmək və ya yenilərini quraşdırmaq üçün istifadə edilməlidir.

Və beləliklə yükləyirik

Və quraşdırıcını işə salın

Bir, iki, üç edin

Hər halda, daha sonra bir şeyə ehtiyacınız varsa, onu yükləyə və quraşdıra bilərsiniz. Gördüyünüz kimi, bu paketdəki Git versiyası 1.9.5-dən aydın şəkildə daha yeni olan 2.1.4-dür. Baxmayaraq ki, 2.3.1 artıq Linux və Mac OS X üçün əlçatandır.

Hər halda, yükləmək üçün sizə bir neçə daha sürətli server verəcəyəm

Bu sadəcə bir nağıldır

Yaxşı, hər şey hazırdır

Biz işə salırıq və görürük ki, ilk işə salındıqda bizə konfiqurasiya fayllarının harada yerləşdiyi bildirilir:

Sağdakı şəkil istifadəçinin ev kataloqunun harada yerləşdiyini göstərir. Bu quraşdırma qovluğudur (mənim vəziyyətimdə C:\cigwin64), sonra qovluğu seçin ev, sonra istifadəçi adı qovluğu və artıq konfiqurasiya fayllarını ehtiva edir .bashrc, .bash_profile, .inputrc.profil.

Bütün terminal konfiqurasiyası bu fayllarda edilir. Bunu burada təsvir etməyəcəyəm, çünki bu, ayrı bir böyük mövzudur.

Sadəcə qeyd edim ki, əsas bash parametrləri faylda edilir .bash_profile.

Siz həmçinin qeyd edə bilərsiniz ki, Git parametrləri faylı – .gitconfig – həm də ev kataloqunda yerləşəcək

Bundan əlavə, konfiqurasiya edin görünüş yuxarı sol küncdəki terminal simgesini klikləyərək və Seçimlər seçərək terminal.

Əgər ehtiyacınız varsa əlavə paketlər Cygwin üçün, onda siz onları axtara bilərsiniz.

Bütün parametrlərdən sonra mənim Cygwin terminal pəncərəm belə görünür. Və sonra quraşdırılmış Git versiyasına baxacağıq.

Yaxşı, burada tam hüquqlu Gitimiz var. İndi gəlin (tezliklə) onun işini real depoda yoxlayaq.

Hər şey işləyir.

P.S. Bir daha qeyd etmək lazımdır ki, Cygwin-dən quraşdırılmış msysGit və Git-in qlobal və sistem (qlobal, sistem) parametrləri müxtəlif yerlərdə saxlanılır və bir-birinə qarışmır və ya üst-üstə düşmür, mənim fikrimcə, bu rahatdır, çünki hər şey Windows alətlər öz parametrlərini qlobal parametrlər file.gitconfig-ə yazmağa çalışır və bu, bəzən narahatlıq və çaşqınlıq yarada bilər.

CYGWIN nədir 23 yanvar 2001-ci il tarixli 3 nömrəli Qrupda Kris Kasperskinin “Unix-i Windows-dan necə düzəltmək olar” məqaləsindən sonra mən Windows istifadəçilərinə Cygwin-in nə olduğu haqqında bir az daha çox məlumat vermək istədim. Mən onu uzun müddətdir istifadə edirəm və Cygwin quraşdırılmadan artıq Windows-da effektiv işləyə bilmirəm.

Cygwin sözü iki komponentdən ibarətdir: Cygnus şirkətin adıdır və Windows, lakin Cygwin-də hər şeyi Cygnus-dan olan uşaqlar yazdığını söyləmək səhv olardı. Cygwin Windows üçün Gnu utilitlərinin portudur və Gnu (www.gnu.org) qeyri-kommersiya, qeyri-mülkiyyət və pulsuz Unix sistemi yaratmaq məqsədi ilə Azad Proqram təminatı Fondunun (və ya sadəcə FSF) layihəsidir. proqram təminatının yayılması və dəyişdirilməsi azadlığını məhdudlaşdıran lisenziyalardan. Bu layihənin bir hissəsi olaraq, demək olar ki, bütün standart UNIX utilitləri yenidən yazılmışdır. FSF-nin üç ən əhəmiyyətli töhfəsi gcc (Gnu C Compiler və ya Gnu Compiler Collection), Bash (The Bourne Again Shell) və Emacs-dır. Gcc olmasaydı, Linux olmazdı və Bash bir çox müasir Unix sistemləri üçün standart qabıqdır. Təcrübəsi olan insanlar deyirlər ki, kommersiya Unix-ləri quraşdırdıqdan sonra sistem administratorlarının ilk işi Gnu utilitlərini yenidən quraşdırmaqdır. Prinsipcə, GNU və FSF özləri geniş mövzudur və ayrıca ətraflı məqaləyə layiqdirlər.

Gnu utilitlərinin bütün dəsti, Unix sisteminin istifadəçisinin (yalnız Unix deyil) hər gün qarşılaşdığı, hər bir belə proqramın bir tapşırığı yerinə yetirdiyi və onu yaxşı yerinə yetirdiyi tapşırıqların əksəriyyətini əhatə edən kiçik (adətən) proqramlar toplusudur; Bu proqramlar daha sonra müxtəlif problemləri həll etmək üçün birləşdirilə bilər.

Gnu-nu digər qeyri-Unix platformalarına köçürmək cəhdləri dəfələrlə edilib ki, bu da, yeri gəlmişkən, onların populyarlığını göstərir.

Utilitlərin DOS - DJGPP-ə daşınması layihəsini qeyd etmək lazımdır. http://www.delorie.com/djgpp/ saytına daxil olun, həqiqətən maraqlıdır.

Cygnus hər bir köməkçi proqramı ayrıca tərtib etmədi, hər dəfə eyni problemləri həll etmək üçün əziyyət çəkdi, bunun əvəzinə GNU yardım proqramları ilə əməliyyat sistemi arasında bir növ "boşluq" yazılmışdı; Bu şim - cygwin1.dll (1 - versiya nömrəsi) - UNIX sistem zənglərinin emulyasiyasını təmin edir ki, bu da mənbə kodunda az və ya heç bir dəyişiklik olmadan Unix proqramlarını tərtib etməyə və icra etməyə imkan verir. Əsasən, bu dll Cygwin-in özüdür və qalan hər şey Cygwin ilə işləmək üçün tərtib edilmiş GNU proqram paketləridir.

Gcc və kitabxanaların mövcudluğu müxtəlif proqramları Windows-a köçürməyə imkan verir və Cygwin-i tam hüquqlu platformaya çevirir - bəzən "Cygwin platforması" ifadəsini tapa bilərsiniz. Cygwin-in ilk beta versiyalarından bəri müxtəlif insanlar Windows üçün çatışmayanları Cygwin üçün tərtib etdilər və standart Cygwin paylanması, o cümlədən evdə hazırlanan bu kompilyasiyalar vasitəsilə tədricən böyüdü. Məsələn, Beta 20 zamanı mən vim redaktorunu ayrıca yükləməli oldum, amma indi bütün dəstlə birlikdə quraşdırılıb.

Hamısını necə quraşdırmaq olar

Cygnus, Linux OS paylamalarından bəzi oxşar proqramları bir qədər xatırladan paketləri idarə etmək üçün rahat bir proqram yazdı. İlk addım onu ​​Cygnus saytından http://sources.redhat.com/cygwin/setup.exe-dən yükləməkdir. Onu işə salmaqla siz çoxlu güzgülərdən birindən standart paketlər dəstini endirə bilərsiniz və fərdi paketləri atlayaraq bunu seçici şəkildə etməyi seçə bilərsiniz.

Gələcək üçün - bu proqramı sonradan eyni kataloqdan işə salmaqla siz hansı yeni paketlərin yarandığını və ya mövcud paketlərin yeni versiyalarını görə biləcəksiniz.

Eyni proqram sizin üçün Cygwin-i quraşdıracaq və yenidən nəyi quraşdıracağınıza və nəyin quraşdırılmayacağına qərar vermənizi xahiş edəcək. Quraşdırma sizin üçün Unix fayl iyerarxiyasında ümumi olan qovluqlar yaradacaq - bin, usr, sbin və s., ona görə də onların hamısını bir kataloqda yerləşdirmək rahatdır ki, Windows qovluqlarınızla qarışdırılmasın.

Və hamısını necə istifadə etmək olar

Cygwin-i işə saldığınız zaman adi Windows konsoluna, Win9x-da command.com və ya NT-də cmd.exe-yə bənzər bir konsol pəncərəsi görəcəksiniz. Amma yox! Windows-da siz BAT faylları ilə command.com-u təqlid etməyə çalışan Unix komanda tərcüməçilərinin şərəfli nəslini işə saldınız. Bash və onun böyük qardaşı sh, Unix sistemini birləşdirən yapışqandır, onu haqlı olaraq proqramlaşdırma dili adlandırmaq olar, yəni siz onu yaza bilərsiniz.

Windows-da bir neçə əsas əmrlər və onların ekvivalentləri

ls = dir - kataloqun məzmununa baxmaq;
cd = chdir - başqa qovluğa keçmək;
cp = surəti - faylı kopyalayın;
mv = mv - faylı köçürmək/adını dəyişmək;
rm = del - faylı silin;
mkdir = mkdir - kataloq yaratmaq;
pwd - cari kataloqu göstərir.

Unutmayın - böyük "A" artıq kiçik "a" ilə bərabər deyil, \ simvolu indi / ilə əvəz edilməlidir. Cygwin-dəki cd / əmri sizi bin, usr və s.-nin yerləşdiyi qovluğa aparacaq. Unix-də yuxarıda heç nə yoxdur /, lakin Cygwin-də Windows bölmələri arasında səyahət etmək üçün cd //c/ əmrindən istifadə edə bilərsiniz (cd //d/MyDir və s.).

Bash-ın ən əlverişli xüsusiyyətlərindən biri avtomatik tamamlamadır. cat əmri ilə bir neçə fayl yaradaq:

cat > birinci_fayl ENTER

bir şey yazın, sonra Ctr-C,

və başqa bir fayl üçün də eyni:

cat > ikinci_fayl ENTER.

Faylların mövcud olduğundan əmin olun:

İndi istənilən əmri, məsələn, ls və birinci faylın ilk hərfini yazın. TAB düyməsini basın. Bash fayl adının özünə əlavə edəcək. Fayllar fayl_one və file_two kimi eyni şəkildə başlayırsa, Bash yalnız file_ əlavə edəcək və onu aydınlaşdırmaq üçün başqa hərf yazmağınızı gözləyəcək.

Bəzi kommunal proqramların istifadəsinə dair bir neçə nümunə.

Tutaq ki, sizdə.txt mətn faylı var. Oradakı sözlərin sayını belə hesablaya bilərsiniz:

Sətirlərin sayı:

Larri simvol ardıcıllığını ehtiva edən sətirləri tapın:

grep "Larry".txt

Sətirləri sözlərə ayırın, boşluqları sətir sonu simvolları ilə əvəz edin:

cat in.txt | gawk "gsub(" +","\n")"

"gsub(" +","\n")" gawk əmri bir və ya bir neçə boşluğu ("+") sətir sonu simvolu ("\n") ilə əvəz etmək deməkdir.

Eyni şeyi edin, lakin rahat baxış imkanı ilə (PageUp, PageDown, exit - q)

cat in.txt | gawk "gsub(" +","\n")" | az

Sətirləri (sözləri) çeşidləyin:

cat in.txt | gawk "gsub(" +","\n")" | sort | az

Eyni sətirləri (sözləri) silin:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq | az

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq | wc -l

Eyni sətirləri (sözləri) çıxarın, onların sayını hesablayın:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | az

Yenidən çeşidləyin, beləliklə mətnin tezlik lüğətini əldə edin:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r | az

Nəticələrin mətn faylına çıxarılması ilə eyni şey:

cat in.txt | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r > out.txt

intermediate.txt faylında saxlanılan ara nəticələrlə eyni şey:

cat in.txt | gawk "gsub(" +","\n")" | teeintermediate.txt | sort | uniq --count | sort -r | az

İndi Bash-in gücündən istifadə edərək, bu əmri birdən çox fayl üçün təkrarlaya bilərsiniz. Məqalədə göstərildiyi kimi yeni sətirə keçərək skripti birbaşa konsola yazın - Bash əmrin tamamlanmadığını başa düşəcək və əmri ">" olaraq dəyişəcək:

fayl üçün *.txt; et

cat $fayl | gawk "gsub(" +","\n")" | sort | uniq --count | sort -r > $file.out

Bunun kimi. Sadə problemlər - sadə həllər.

Müəyyən bir əmrin necə işlədiyini öyrənmək üçün onu --help keçidi ilə işlədə və ya man (manual) əmrindən istifadə edə bilərsiniz - man awk, man grep. Siz q istifadə edərək adamdan çıxa bilərsiniz.

CYGWINDƏ BAŞQA NƏLƏR VAR

Kompilyator

Perlin əcdadlarından biri olan sadə (insanların dediyinə görə - 1 gün təlim) söz emal proqramlaşdırma dili

Yayım redaktoru

C-də təhlil generatoru

C-də təhlil generatoru

Proqramlaşdırma dili. Əslində, o, bir müddətdir ki, Sun korporasiyası tərəfindən dəstəklənirdi. Siz cd /usr/share/tk8.0/demos edə və proqram vidcetini -./widget-i işlədə bilərsiniz. Siz GUI yaratmaq üçün Tcl uzantısı olan Tk imkanlarının nümayişini görəcəksiniz.

Arxivçi

Güclü arxivçi

Fayl müqayisə proqramı

Və daha çox. Sadəcə zibil qutusuna gedin və orada nəyə sahib olduğunuzu görün. Paket depozitləri http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html saytında tapıla bilər. Cygnus saytında http://sources.redhat.com/cygwin/ mövzu ilə bağlı çoxlu məlumat və bağlantılar da var.

CYGWIN-i necə qurmaq olar

Birincisi, konsol sizi qorxudursa, Bash-ı işə salmaq lazım deyil. Far, Windows Commander və s.-dən bütün proqramlardan istifadə edə bilərsiniz, sadəcə zibil qovluğuna gedən yolu göstərməlisiniz. Windows 9x-də bu, autoexec.bat faylında, NT-də My Computer / Properties / Environment-də PATH mühit dəyişəninə zibil qutusunun yolunu əlavə etməlisiniz.

Bash-da daha rahat işləmək üçün sizə aşağıdakıları etməyi məsləhət görürəm: əgər Cygwin qovluqlarınız c:\cygwin-də yerləşirsə, c:\cygwin\root (mkdir /root) kataloqu yaradın və cygwin.bat-a sətir əlavə edin. c:\ cygwin-də olan fayl:

HOME=d:\cygwin\root

Kök qovluğunda siz nöqtə ilə başlayan 2 fayl yaratmalısınız: .inputrc və .bashrc. Hər iki fayl başlanğıcda Bash tərəfindən icra edilir, .inputrc bütün düymələrin düzgün işləməsini təmin etmək üçün məsuliyyət daşıyır və .bashrc müxtəlif məlumatları ehtiva edir. Nümunə olaraq, mən .bashrc-i verəcəyəm:

ixrac PS1="\w > "

ixrac PATH=".:$PATH"

ləqəb ls="ls --color"

ləqəb untar="tar xvf"

echo CygWin-ə xoş gəlmisiniz!

Birinci sətir Bash yolunu müəyyən edir. Unix bütün tərcüməçilərlə belə edir. Məsələn, əgər sizin Perl-də hello.pl skriptiniz varsa və perl özü /usr/bin daxilindədirsə, birinci sətirə yaza bilərsiniz:

və bunu belə işlədin:

Beləliklə, proqramların nə yazılmasından narahat olmadan onları işlədə bilərsiniz.

PS1, həm də adlandırıldığı kimi, Bash əmrini, işə dəvəti saxlayan bir dəyişəndir. \w cari kataloqdur.

Bunu PATH-ə əlavə etdikdən sonra bunu Windows istifadəçilərinin alışdığı şəkildə edə bilərsiniz:

Sonra, mən sinonimlər və ya ləqəblərdən istifadə edirəm, məsələn, ls əmri faylların nə olduğundan asılı olaraq onu rəngləndirmir, bu, əlverişsizdir alias ls="ls" əmri --color" Bu problemi həll edirəm. İndi ls ls --color deməkdir. Eyni komanda adından istifadə etmək lazım deyil, ll="ls --color" - edə bilərsiniz və istifadə edə bilərsiniz. new ll əmri tar arxivlərini açmaq üçün untar əmrini yaradan zaman etdiyim işdir, hər dəfə tar xvf yazmaq əvəzinə siz həmçinin boruları (boruları, boru kəmərlərini) ləqəblə yerləşdirə bilərsiniz: alias sort_un_sort=" sort | uniq --count | sort -r ".

Reallıqda burada iş yerinin təşkili sahəsi sonsuzdur və mənim nümunələrim primitiv və sadədir. Həmçinin .bashrc-də funksiyalar, interaktiv əmrlər, sorğudan işləyən funksiyalar...

Ümid edirəm ki, Cygwin ilə təcrübə etməkdən ilham almısınız. Şərhlərinizi ünvanına göndərin


Kateqoriyalar