Příkazy Cygwin. Jak spustit příkaz Linux z Windows. Pomocí nativního terminálu Cygwin

Tento článek bude užitečný pro začínající uživatele Cygwin. Pro začátek si musíme odpovědět na jednoduchou otázku. Co je Cygwin? Cygwin je prostředí a rozhraní podobné UNIXu příkazový řádek Pro Microsoft Windows. V systém Microsoft Windows již existuje podobné rozhraní cmd. Příkazový řádek můžete otevřít pomocí kombinace kláves Win+R. Ale často většina z Operace Windows uživatelé to musí udělat ručně. Na druhé straně Linuxová strana uživatel už dávno napsal bash skript a sedí a popíjí pivo na okraji automatizovaného workflow.

Co vám tedy brání v tom udělat v OS Windows? Přesně tak, absolutně nic neruší. Ale k tomu potřebujeme doplňkové programy a knihovny. Program Cygwin rozšiřuje možnosti standardního příkazového řádku Řetězce Windows, což vám umožní automatizovat některé procesy a vyvíjet programy pro Linux a další systémy.

Program Cygwin lze stáhnout z oficiálních stránek: Odkaz na 32bitovou verzi programu a Odkaz na 64bitovou verzi programu.

Vybrat požadovanou verzi, stáhněte a spusťte výkonný soubor setup-x86.exe a setup-x86_64.exe.

Instalační okno 64 bitová verze programy


Okno pro výběr způsobu instalace


Okno pro výběr balíčku

Instalační okno pro 32bitovou verzi programu vypadá úplně stejně jako 64bitová verze. Dalším krokem je výběrové okno. Kde program nainstalovat nebo stáhnout. Celkem jsou tři možnosti. První možností je Instalovat z internetu (stažené soubory budou uchovány pro budoucí opětovné použití) instalace z internetu a stažené soubory budou uloženy do příštího opětovné použití. Druhou možností je Stáhnout bez instalace. Třetí možností je Instalovat z místního adresáře. Protože Nemáme místní kopii a musíme ji nainstalovat, takže vybereme první možnost. V dalším okně vyberte instalační cestu. Doporučuji vybrat systémový disk, mám například cestu Instalace Cygwin toto je C:\cygwin64. V dalším okně je třeba vybrat cestu, kam se budou ukládat dočasné soubory, které se stáhnou během procesu instalace. Pro mě je to C:\cygwin64\package. Poté si musíte vybrat, zda chcete stahovat přes proxy nebo přímo. Dalším krokem je vybrat úložiště pro stahování, vybrat jakékoli, na které narazíte, nebo výchozí a kliknout na tlačítko Další. Po kliknutí na tlačítko začne proces stahování hlavních konfigurací. Dále si můžete vybrat, co chcete nainstalovat. Chcete-li vybrat balíček, klikněte na Přeskočit vedle názvu balíčku. Seznam balíčků, které se vám budou hodit:

  • gcc-core (pod Devel)
  • gcc-g++ (v sekci Vývoj)
  • vyrobit (v sekci Devel)
  • cmake (v sekci Devel)
  • automobilka (v sekci Devel)
  • wget (v sekci Web)
  • libiconv (v sekcích Devel a Libs)
  • openssh (v sekci Net)
  • nano (v sekci Redakce)
  • bash (ze sekce Base)
  • base-cygwin (ze sekce Base)
  • základní soubory (ze sekce Base)
  • cygwin (ze sekce Base)
  • soubor (ze sekce Base)
  • gzip (ze sekce Base)
  • přihlášení (ze sekce Base)
  • mátová (ze sekce Base)
  • openssl (ze sekce Base)
  • běh (ze sekce Base)
  • dehet (ze sekce Base)
  • vim-minimal (ze sekce Base)
  • cron (ze sekce Správce)
  • vypnutí (ze sekce Admin)
  • git (všechny balíčky ze sekce Devel)

Nelíbila se mi barva pozadí ani vestavěné písmo a barva textu, tak jsem si to upravil. Těmito slovy ukončím tento článek.

Originál: Jak kompilovat linuxové programy pod Windows pomocí Cygwin
Zveřejnil to Gary Sims
Datum zveřejnění: 12. června 2014
Překlad: N. Romodanov
Datum převodu: červenec 2014

Windows a Linux jsou velmi dva různé systémy a proto je často obtížné přenést programy napsané pro jeden z nich do jiného systému, zvláště pokud jde o programy s grafické rozhraní. Ačkoli je k dispozici mnoho různých multiplatformních knihoven a sad SDK, nativní programy, které nejsou napsány s ohledem na přenositelnost, je obtížné přenést.

Pokud jde o kompilaci a spouštění programů napsaných pro Linux na Windows, existuje řešení známé jako Cygwin. Projekt Cygwin je kolekce nejběžnějších nástrojů a kompilátorů (včetně shellů Bash a řetězce kompilátorů GNU) pro Windows. Obsahuje také knihovnu, se kterou je implementována vrstva kompatibility, takže můžete kompilovat programy, které volají API, specifické pro Linux. Cygwin není emulátor resp virtuální stroj a brání tomu, aby linuxové binární soubory běžely na Windows bez jejich předchozí rekompilace.

Stáhnout zdrojové soubory pomocí příkazu wget:

Wget http://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-6.7.tar.gz

Nyní rozbalte archivní soubor:

Tar -zxf html-xml-utils-6.7.tar.gz

Cd html-xml-utils-6.7

Zdrojové soubory jsou nyní umístěny v adresáři html-xml-utils-6.7. Přejděte do tohoto adresáře:

Cd html-xml-utils-6.7

Před sestavením souborů budete muset spustit konfigurační skript, aby se vygeneroval Makefile (soubor s instrukcemi sestavení), který cílí na prostředí sestavení. Toto je běžný krok sestavení na Linuxu (a Cygwinu) pro vytváření balíčků ze zdroje.

./configure

Jakmile je operace konfigurace dokončena, můžete začít sestavovat pomocí příkazu make:

Sestavení nebylo dokončeno kvůli chybě. Nebyl jsem rozhodnutý, co dál. Mohl bych buď přejít na jiný projekt, nebo bojovat s balíčkem HTML-XML-utils. Vybral jsem si to druhé, protože ukazuje, že při pokusu o kompilaci není vše hladké Linuxové programy pod Cygwinem. Řešení tohoto konkrétní problém jednoduchý. Chybová zpráva označuje, že linker nemůže najít knihovnu iconv. Rychlý pohled na příkaz link ukazuje, že tato knihovna není specifikována. Rychlým a špinavým řešením je spustit příkaz ručně a nařídit linkeru, aby použil knihovnu libconv. „Správným“ způsobem, jak tuto chybu opravit, je analyzovat soubor Makefile atd., abyste zjistili, proč sestavení selhává.


Vykonat další příkaz, s uvedením "-liconv" na konci:

Gcc -g -O2 -o hxindex.exe hxindex.o scan.o html.o openurl.o url.o heap.o class.o errexit.o connectsock.o types.o tree.o genid.o dtd.o headers .o dict.o fopencookie.o -liconv

Jakmile je hxindex.exe sestaven, můžete přejít ke zbytku sestavení opětovným spuštěním make. Když se příkaz make spustí, zkontroluje, co bylo sestaveno a co ne, a pak proces sestavení pokračuje. Protože jsme ručně vytvořili balíček hxindex.exe, příkaz make jednoduše přenese následující binární soubor do tohoto seznamu.

Po dokončení příkazu make budete mít všechny soubory .exe v adresáři html-xml-utils-6.7.

Pokud máte potíže s používáním Cygwin, můžete se podívat na FAQ FAQ otázky a dokumentaci. Nebo můžete kontaktovat e-mailové konference. Pokud máte při provádění výše uvedených kroků nějaké problémy, podělte se o ně v komentářích.

Po článku Chrise Kasperskyho „How to make Unix from Windows“ v KG?3 ze dne 23. ledna 2001 jsem měl chuť říct uživatelům Windows trochu více o tom, co je Cygwin. Používám jej již poměrně dlouho a bez nainstalovaného Cygwinu již nemohu efektivně pracovat ve Windows.

Slovo Cygwin se skládá ze dvou složek: Cygnus je název společnosti, a Windows, ale bylo by špatné tvrdit, že vše v Cygwin píší kluci z Cygnus. Cygwin je portem Gnu utilit pro Windows a Gnu (www.gnu.org) je projekt Free Software(Free Software Foundation, nebo jednoduše FSF), jejímž cílem je vytvořit neziskový unixový systém, který nepatří nikomu jednotlivě a je bez licencí, které omezují svobodu distribuce a úpravy softwaru. V rámci tohoto projektu téměř všechny standardní inženýrské sítě UNIX. Tři nejvýznamnější příspěvky FSF jsou gcc (Gnu C Compiler nebo Gnu Compiler Collection), Bash (The Bourne Again Shell) a Emacs. Bez gcc by nebyl Linux a Bash je standard příkazový shell pro mnoho moderních unixových systémů. Zkušení říkají, že první věc, kterou správci systému po instalaci komerčních Unixů udělají, je přeinstalovat Gnu utility V zásadě jsou GNU a FSF samy o sobě rozsáhlé téma a zaslouží si samostatný podrobný článek.

Celá sada utilit Gnu je sada malých (obvykle) programů, které pokrývají většinu úkolů, se kterými se uživatel unixového systému (a nejen Unixu) setkává každý den, každý takový program provádí jeden úkol a plní ho dobře. Tyto programy lze následně kombinovat a řešit různé problémy.

Pokusy o port Gnu na jiné, ne-Unixové platformy byly učiněny více než jednou, což mimochodem svědčí o jejich popularitě.

Za zmínku stojí projekt portování utilit na DOS - DJGPP. Jděte na http://www.delorie.com/djgpp/, je to opravdu zajímavé.

Cygnus nekompiloval každou utilitu zvlášť, pokaždé trpěl při řešení stejných problémů, místo toho byl mezi GNU utilitami a operačním systémem napsán jakýsi „meziář“. Tento shim - cygwin1.dll (1 - číslo verze) - poskytuje emulaci systémových volání UNIX, což vám umožňuje kompilovat a spouštět Unixové programy s malou nebo žádnou změnou zdrojového kódu. V zásadě je tento dll samotný Cygwin a vše ostatní je softwarové balíčky GNU zkompilovaný pro práci s Cygwin.

Přítomnost gcc a knihoven umožňuje portovat nejvíce různé aplikace a dělá z Cygwinu plnohodnotnou platformu – možná se někdy setkáte s výrazem „platforma Cygwin“. Od prvních beta verzí Cygwinu různých lidí zkompilovali pro Cygwin to, co jim pro Windows chybělo, a standardní distribuce Cygwin se postupně rozrůstala, a to i díky těmto podomácku vyrobeným kompilacím. Například během Beta verze 20 Editor vim jsem si musel stáhnout samostatně, ale nyní je nainstalován spolu s celou sadou.

Jak to všechno nainstalovat

Cygnus napsal pohodlný program pro správu balíčků, který některé mírně připomíná podobné programy z distribucí operačního systému Linux. Prvním krokem je stažení z webu Cygnus http://sources.redhat.com/cygwin/setup.exe. Jeho spuštěním si můžete stáhnout standardní sada balíčky z jednoho z mnoha zrcadel a můžete to udělat selektivně a jednotlivé balíčky přeskakovat.

Pro budoucnost - pozdějším spuštěním tohoto programu ze stejného adresáře budete moci vidět, jaké nové balíčky se objevily nebo nové verze stávajících balíčků.

Stejný program za vás nainstaluje Cygwin a znovu vás požádá, abyste se rozhodli, co nainstalovat a co ne. Instalace vám vytvoří adresáře, které jsou společné pro hierarchie souborů Unix - bin, usr, sbin atd., takže je vhodné je všechny umístit do jednoho adresáře, aby se nepletly s vašimi složkami Windows.

A jak to všechno využít

Když spustíte Cygwin, uvidíte okno konzoly podobné běžné konzoli Windows, command.com ve Win9x nebo cmd.exe v NT. Ale ne! Spustili jste slavného potomka Unixu na Windows příkazové tlumočníky, který se snažil napodobit command.com svým soubory BAT. Bash a jeho velký bratr sh jsou lepidlo, které se spojuje dohromady Unixový systém, může být právem nazýván programovacím jazykem, to znamená, že v něm můžete psát.

Nějaký hlavní příkazy a jejich analogy ve Windows

ls = dir - zobrazení obsahu adresáře;
cd = chdir - přesun do jiného adresáře;
cp = copy - kopírování souboru;
mv = mv - přesunout/přejmenovat soubor;
rm = del - smazat soubor;
mkdir = mkdir - vytvoření adresáře;
pwd - zobrazí aktuální adresář.

Pamatujte - velké "A" se již nerovná malému "a", symbol \ je nyní třeba nahradit /. Příkaz cd / v Cygwin vás přenese do adresáře, kde se nachází bin, usr atd. V Unixu není nic nad /, ale v Cygwinu, abyste mohli cestovat po oddílech Windows, můžete použít příkaz cd //c/ (cd //d/MyDir atd.).

Jednou z nejpohodlnějších funkcí Bash je automatické dokončování.

Vytvořme několik souborů pomocí příkazu cat:

cat > first_file ENTER

zadejte něco, pak Ctr-C,

a to samé pro jiný soubor:

cat > second_file ENTER.

Ujistěte se, že soubory existují:

Nyní zadejte libovolný příkaz, například ls, a první písmeno prvního souboru.

Stiskněte TAB. Bash připojí název souboru sám. Pokud soubory začínají stejně, jako například soubor_jeden a soubor_dva, Bash připojí pouze soubor_ a počká, až napíšete další písmeno, aby se to vyjasnilo. Několik příkladů použití některých nástrojů.Řekněme, že ano

textový soubor

in.txt. Počet slov v něm můžete spočítat takto:

Počet řádků:

Najděte řádky obsahující posloupnost znaků Larry:

grep "Larry" v souboru.txt

Rozdělte řádky na slova a nahraďte mezery znaky na konci řádku: kočka v.txt | zírat "gsub(" +","\n")" Příkaz gawk "gsub(" +","\n")" znamená nahradit jeden nebo

více prostorů (" +") na znak konce řádku ("\n"). Udělejte to samé, ale s možností

pohodlné prohlížení

(PageUp, PageDown, exit - q)

kočka v.txt | gawk "gsub(" +","\n")" | méně

Řazení řetězců (slov): kočka v.txt | gawk "gsub(" +","\n")" | seřadit | méně Dejte pryč

identické linie

(slova):

kočka v.txt | gawk "gsub(" +","\n")" | seřadit | jedinečný | méně

kočka v.txt | gawk "gsub(" +","\n")" | seřadit | jedinečný | wc -l

Odstraňte stejné řádky (slova) a spočítejte jejich počet:

kočka v.txt | gawk "gsub(" +","\n")" | seřadit | uniq --count | méně

Znovu seřadit, čímž získáte frekvenční slovník textu:

kočka v.txt | gawk "gsub(" +","\n")" | seřadit | uniq --count | seřadit -r |

méně

Totéž s výstupem výsledků do textového souboru:

kočka v.txt | gawk "gsub(" +","\n")" | seřadit | uniq --count | sort -r > out.txt Totéž s mezivýsledky uloženými v souboru medium.txt: stejně jako je vytištěno v článku, Bash pochopí, že příkaz není dokončen a změní výzvu na ">":

pro soubor v *.txt; dělat

kočka $soubor | gawk "gsub(" +","\n")" | seřadit | uniq --count | sort -r > $file.out

Takhle. Jednoduché úkoly- jednoduchá řešení.

Chcete-li zjistit, jak konkrétní příkaz funguje, můžete jej spustit pomocí přepínače --help nebo použít příkaz man (manual) - man awk, man grep. Muže můžete opustit pomocí q.

CO DALŠÍHO JE V CYGWIN

Kompilátor

Jednoduchý (lidé říkají - 1 den školení) programovací jazyk pro zpracování textu, jeden z předků Perlu

Editor streamů

Generátor analyzátoru v C

Generátor analyzátoru v C

Programovací jazyk. Ve skutečnosti to přímo nesouvisí s nástroji Gnu, nějakou dobu to podporovala společnost Sun. Můžete udělat cd /usr/share/tk8.0/demos a spustit programový widget -./widget. Uvidíte ukázku schopností Tk, rozšíření Tcl pro vytváření GUI.

archivář

Výkonný archivátor

Program pro porovnání souborů

A mnohem víc. Stačí jít do koše a podívat se, co tam máte. Zálohy na balíčky lze nalézt na http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html.

Mnoho informací a odkazů k tématu je také na webu Cygnus http://sources.redhat.com/cygwin/.

Jak nastavit CYGWIN Za prvé, nemusíte spouštět Bash, pokud vás konzole děsí. Můžete použít všechny programy z Far, Windows Commander atd., stačí zadat cestu k adresáři bin. Ve Windows 9x se to provádí v souboru autoexec.bat, v NT v Tento počítač / Vlastnosti / Prostředí do proměnné prostředí PATH

musíte přidat skladbu do koše. Pro více pohodlná práce

v Bash vám doporučuji udělat následující: pokud jsou vaše adresáře Cygwin umístěny v c:\cygwin, vytvořte adresář c:\cygwin\root (mkdir /root) a přidejte řádek do souboru cygwin.bat, který je v c:\cygwin:

HOME=d:\cygwin\root

V kořenovém adresáři byste měli vytvořit 2 soubory začínající tečkou: .inputrc a .bashrc. Oba soubory spouští Bash při spuštění, .inputrc je zodpovědný za správné fungování všech klíčů a .bashrc obsahuje různé informace.

Jako příklad uvedu svůj .bashrc:

exportovat PS1="\w > "

exportovat PATH=".:$PATH"

alias ls="ls --color"

alias untar="tar xvf"

echo Vítejte v CygWinu!

Tímto způsobem můžete spouštět programy, aniž byste se museli starat o to, v čem jsou napsány.

PS1 je proměnná, která ukládá výzvu Bash, pozvání do práce, jak se také nazývá. \w je aktuální adresář.

Po přidání do PATH to můžete udělat tak, jak jste zvyklí Uživatelé Windows:

Dále používám synonyma nebo aliasy, například příkaz ls ve výchozím nastavení nebarví svůj výstup podle toho, jaké jsou soubory, musíte jej spustit pomocí přepínače --color alias ls="ls" příkaz --color" Tento problém řeším. Nyní ls znamená ls --color. Není nutné používat stejný název příkazu, můžete zadat ll="ls --color" - a použít new ll příkaz Toto je přibližně to, co dělám při vytváření příkazu untar pro rozbalení archivy tar, místo psaní tar xvf pokaždé. Můžete také umístit potrubí (potrubí, dopravníky) do alias: alias sort_un_sort=" sort | uniq --count | sort -r ".

Ve skutečnosti je zde prostor pro uspořádání pracoviště neomezený a mé příklady jsou primitivní a jednoduché. Jíst více funkcí, interaktivní příkazy v .bashrc, funkce spouštěné z řádku...

Cygwin je unixové prostředí pro Windows. Často je potřeba ke spouštění programů, které byly vyvinuty pro unixové operační systémy. Mnoho z těchto programů lze nainstalovat bez Cygwin, ale poskytuje pohodlnou centralizovanou instalaci a správu. S pomocí Cygwin můžete snadno nainstalovat programy jako OpenSSL, GnuPG, ImageMagick, gvim, gcc, bash, tcsh, emacs a mnoho dalších.
Pojďme tedy k instalaci. Nejprve si musíte stáhnout instalační program. Toto je pouze program, který stáhne vše požadované balíčky a prostředí a poté je nainstaluje. Instalace je celkem jednoduchá:




Pomocí této nabídky můžete vybrat nastavení proxy, pokud nějaké používáte.


Program si stáhne seznam zrcadel s balíčky pro instalaci, načež vám umožní vybrat zrcadlo, odkud se budou balíčky stahovat.


Nyní můžete vybrat balíčky k instalaci. Pro snazší nalezení jsou seskupeny podle účelu. Můžete také hledat podle názvu balíčku. Pomocí této nabídky můžete nainstalovat jak binární balíček (již zkompilovaný), tak zdrojový kód (nezkompilovaný balíček). Sloupec Bin obsahuje verzi vybraného binárního balíčku; sloupec Src (zdrojový kód) lze vybrat, pokud již byl vybrán binární balíček. Zdrojový kód bude stejná verze jako binární balíček. Chcete-li vybrat verzi balíčku ve sloupci Nová, musíte na ni několikrát kliknout.
Poté, co vyberete všechny balíčky, které potřebujete, můžete kliknout na tlačítko Další a instalační program je stáhne a nainstaluje. Při výběru balíčků bych vám doporučil tyto −

Vývoj multiplatformních aplikací není snadný. Obtížné je to zejména díky Windows, ve kterých není vše jako u lidí. Zde nemáte normální terminál nebo normální konzolové nástroje, není tam vůbec nic! Když jsem se znovu potýkal s tímto problémem, rozhodl jsem se znovu vyzkoušet Cygwin. A hádejte co, ukázalo se, že to ve skutečnosti dělá z Windows něco, co můžete téměř používat!

Instalační program Cygwin si můžete stáhnout zde. Ve skutečnosti se nejedná ani tak o instalační program, jako spíše o správce balíčků, který se po spuštění přímo zeptá, které balíčky chcete nainstalovat. Chlapi! Správce balíčků! Pod Windows! Instalační program vytvoří mezipaměť v adresáři, ze kterého bude spuštěn. Proto je lepší si před spuštěním vytvořit na ploše nějakou speciální složku a do ní dát instalátor.

Jaké balíčky je podle mého názoru potřeba nainstalovat:

  • openssh- masthev;
  • inetutils, bind-utils, ping, nc A nc6- masthev;
  • wget, kučera- masthev;
  • krajta a/nebo python3— Myslím, že je to nutnost;
  • vim, gvim— pro úpravu malých souborů to nebude zbytečné;
  • diffutils, pwgen, rozepnout, rzync- ať jsou jen pro případ;
  • gcc a/nebo zvonit, cmake, gdb- v případě potřeby;
  • obrazovka, tmux, mc— pro fanoušky;
  • git- pod velmi velký otázka, viz níže;

Věnovat pozornost! Chcete-li nainstalovat pip do Cygwin, zaškrtněte políčko vedle balíčku python-setuptools a/nebo python3-setuptools. Po instalaci v terminálu řekněte:

easy_install-2,7 pip

easy_install-3,4 pip

..., podle toho, jakou verzi nebo verze Pythonu jste nainstalovali.

Takže po instalaci Cygwinu můžete otevřít terminál:

Chlapi! Normální terminál, který mění velikost, umožňuje kopírovat a vkládat text, a to je vše! Pod Windows! Se všemi známými a známými příkazy id, ls, pwd, cat, ssh, scp a dalšími. S lidským prostředím - .bashrc, ~/.ssh/config a tak dále. Navíc, na rozdíl od ostudného hacku zvaného PowerShell, Cygwin netáhne s .NET Framework. Můžeme dokonce otevřít více terminálů a přepínat mezi nimi pomocí zkratky Ctr + Tab. Je to skoro jako karty! Samozřejmě funguje i starý dobrý Alt + Tab.

Výše jsem nedoporučoval instalovat Git a zde je důvod. Faktem je, že v Cygwinu se znatelně zpomaluje. Doporučuje se spouštět příkazy:

git config --global core.preloadindex true
git config --global core.fscache true
git config --global gc.auto 256

Ale to bohužel neřeší problém úplně. Takže na velkém projektu může být příkaz git status proveden za 20 sekund V Linuxu na stejném úložišti běží příkaz okamžitě.




Nahoru