Hur man bryter till en ny linje i cygwin. Cygwin: Introduktion. Hur man installerar allt

För att skriva ansökningar om Unix det är inte nödvändigt att installera det (under ordet Unix Jag kommer att tänka igenom allt *nix system). Detta uttalande låter ganska paradoxalt, men det är sant, och i den här artikeln ska jag försöka övertyga dig om detta.

Om du inte är en sann Unix-guru, behöver du inte installera ett par applikationer för detta operativsystem eller kompilera befintliga program Unix. En emulator är perfekt för dessa ändamål. Unix. Det finns många bra program som gör denna uppgift perfekt, till exempel: UWin, MinGW, Cygwin och så vidare.

För sammanställning enkla program kommer att göra och MinGW, men för mer komplexa är det inte lämpligt. Uwinär en mer avancerad emulator, men dess funktionalitet är betydligt sämre än en annan mer populär emulator Cygwin.

Cygwinär en mycket funktionell, gratis emulator Unix. Den distribueras som en enda fil ( setup.exe), låt dig inte luras av storleken på denna fil ( ~300 kb), detta är inte han själv Cygwin, men bara dess installationsprogram. Alla nödvändiga verktyg och bibliotek måste laddas ner separat under installationsprocessen, eller så kan du ange en lokal katalog som källa om nödvändiga filer du har redan.

Cygwin innehåller ett stort antal olika verktyg och bibliotek, av vilka många förmodligen aldrig kommer att behövas, men när du installerar Cygwin låter dig välja endast de komponenter du behöver. Således, om du bara vill kompilera programmet, behöver du bara installera kompilatorn GCC, en uppsättning nödvändiga bibliotek och verktyg göra. Personligen installerade jag alla applikationer pga Cygwin gör det lätt att "bli av" med dem när som helst. Faktiskt Cygwin består av bara en fil cygwin1.dll, allt annat är mjukvarupaket GNU, speciellt omkompilerad för att arbeta med Cygwin.



Jag tror att det inte var några problem med installationen. Låt oss nu titta på några finesser i installation och användning Cygwin. Efter installationen kommer strukturen för mappen där programmet installerades att likna strukturen *nix system. För att lansera Cygwin, bara spring BAT-fil, cygwin.bat, som finns i rotkatalogen Cygwin(med rotkatalog menar vi mappen där Cygwin, i framtiden kommer vi att räkna från den här katalogen). Efter lansering BAT-fil En konsolapplikation kommer att dyka upp framför dig. Det här är den Våldsamt slag, som är länken mellan Unix Och Windows. Våldsamt slag- det här är inte bara en analog cmd.exe. Våldsamt slagär ett fullfjädrat programmeringsspråk där du kan skriva skript för att utföra olika uppgifter. Det är just detta som skiljer den i grunden från cmd.exe (command.com).

Inbjudan Våldsamt slag, praktiskt taget inte annorlunda än cmd.exe (~ - betyder din hemkatalog). Det finns inga logiska enheter här (A, C, D, etc.), nedräkningen är från rotkatalogen betecknad " / "Du måste också komma ihåg att fallet är viktigt här, så Etc Och etc- två helt olika kataloger. Låt oss försöka gå till rotkatalogen, för att göra detta, kör bara kommandot som är bekant för dig " CD/" (~ bör byta till / ). Efter det, skriv kommandot " dir", eller" ls", för att se innehållet i rotkatalogen. Jag tror att du nu förstår vad rotkatalogen är.





Jag kan inte beskriva alla kommandon i den här artikeln, så låt oss gå direkt till det viktigaste steget, som vi faktiskt ställer in Cygwin. Låt oss försöka kompilera något program. För sammanställning valde jag programmet Htop(http://freshmeat.net/projects/htop/), detta är en förbättrad version av standardprogrammet topp, som är en konsolprocesshanterare. Det första steget är att packa upp arkivet. Du kan göra detta som i Windows, och direkt in Cygwin. I Cygwin detta görs med kommandot:

tar zxf htop-0.6.tar.gz

Naturligtvis måste du för tillfället vara i samma katalog där arkivet finns htop-0.6.tar.gz. Efter uppackning, gå till den skapade katalogen htop-0,6 och kör tre standardkommandon för att kompilera applikationen.

./konfigurera
göra
göra installera



Det är allt, sammanställningen är klar. Rekrytera gärna ett team htop och beundra resultatet. Den resulterande "EXE" finns i katalogen /usr/local/bin/.



Låt oss nu försöka skriva ett enkelt program själva ( Hej världen) och kompilera den med GCC. Först måste vi skriva själva programmet, vi kommer att göra detta med hjälp av programmet katt. Ange kommandot katt ny.c, Var ny.c namnet på filen som innehåller källkoden. Efter att ha utfört kommandot, skriv följande kod:

#omfatta
int main())(
printf("Hej världen");
tillbaka 1 ;)

När koden har matats in, tryck Ctrl+C. Låt oss nu kompilera det med hjälp av GCC. Detta görs med kommandot:

Gcc new.c -o new.exe

I samma katalog där den låg ny.c en annan fil kommer att dyka upp - new.exe. När du kör det kommer du att se det förväntade meddelandet " Hej världen".



Detta kan vara slutet på artikeln, men jag bestämde mig för att också prata om den grafiska miljön Cygwin för att inte återkomma till detta ämne senare. Jag tror att du märkte det när du installerade paket Cygwin föreslår installation av skal Gnome Och KDE. I själva verket är dessa inte bara skal, utan deras bibliotek, som är nödvändiga för att köra applikationer. Till exempel en grafisk version av den berömda redaktören emacs, kommer att köras direkt under Windows som om det vore det win32-applikation. För att inte vara ogrundad, låt oss prova den här Emacs springa. Detta görs med kommandot:

xemacs

Detta är vad vi kommer att se.



Som du kan se startar allt och fungerar bra. Men detta händer inte alla. Den grafiska miljön är väldigt nyckfull. Därför måste du kunna konfigurera den. Installationsdokumentation X-servrar Det finns många av dem på Internet och du kan lätt hitta dem.

Till sist skulle jag vilja påminna dig om att hur bra som helst Cygwin, det är bara en emulator. Och som du vet kan en kopia inte vara bättre än originalet, så om du vill bli en riktig Unix-guru, var inte lat för att installera ett fullfjädrat Unix-distributionskit. Enligt mig är det bättre att börja med Linux. Från alla möjliga distributioner rekommenderar jag dig Slackware.


Skriptet cygwin.bat exekveras från DOS-kommandoraden, installerar Cygwin-miljön och startar bash-tolken under Windows. Cygwin gör ett bra jobb med att ställa in Unix-miljövariabler för att matcha Windows-miljövariabler. På min dator loggade jag till exempel in på Windows som användare bjohnson. När jag startar Cygwin startar den som användaren bjohnson som standard.

Nedan finns ett fönster med några vanliga Unix-kommandon i Cygwin.


Beroende på vilka paket du har installerat kan du enkelt köra motsvarande Unix-verktyg. Om du är en Unix-användare skulle du utan tvekan önska att Windows hade ett ps-kommando för att se processer som körs för närvarande utan att använda Aktivitetshanteraren. Om du använder flaggan -aW kommer du att kunna se Windows-processer, som alla Cygwin-processer som körs. Nedan finns en lista över Windows-processer som är tillgängliga genom att köra Cygwin-kommandot (ps -aW | less ).

PID PPID PGID WINPID TTY UID STIME COMMAND 3193213 0 0 4291774083 ? 0 dec 31 C:\WINDOWS\SYSTEM\KERNEL32.DLL 63753 0 0 4294903543 ? 0 Dec 31 C:\WINDOWS\SYSTEM\MSGSRV32.EXE 60569 0 0 4294906727 ? 0 dec 31 C:\WINDOWS\SYSTEM\MPREXE.EXE 77349 0 0 4294889947 ? 0 dec 31 C:\WINDOWS\SYSTEM\RPCSS.EXE 196093 0 0 4294771203 ? 0 dec 31 C:\WINDOWS\SYSTEM\mmtask.tsk 191237 0 0 4294776059 ? 0 dec 31 C:\WINDOWS\EXPLORER.EXE 237709 0 0 4294729587 ? 0 Dec 31 C:\WINDOWS\TASKMON.EXE 230713 0 0 4294736583 ? 0 dec 31 C:\WINDOWS\SYSTEM\SYSTRAY.EXE 217533 0 0 4294749763 ? 0 Dec 31 C:\PROGRAMFILER\DIRECTCD\DIRECTCD.EXE 5.1.

Katalogstruktur och filbehörigheter

Cygwin monterar dina lokala enheter i katalogen /cygdrive. Detta inkluderar avsnitt hårddisk, diskettenheter, CD-läsare, ZIP-läsare. Låt oss köra kommandot df på min maskin. Vi får en struktur som liknar den nedan.

Bjohnson@BRADMAN $ df Filsystem 1k-blocks Används Tillgänglig användning% monterad på C:\cygwin\bin 2096832 0 2096832 0% /usr/bin C:\cygwin\lib 2096832 0 2096832 0% /usrgwin32 C:\9gwin/68lib 0 2096832 0% / c: 2096832 0 2096832 0% /cygdrive/c d: 670496 670496 0 100% /cygdrive/d

Efter att ha installerat Cygwin sa jag till installationsprogrammet att spara filerna i katalogen C:\cygwin\. Cygwin använde denna katalog som rotpunkt montering filsystem . Den monterade C:\cygwin\bin till /usr/bin och C:\cygwin\lib till /usr/lib . Cygwin (men inte Windows) miljövariabler har lagts till i katalogerna /usr/bin , /bin och /usr/local/bin. Kataloger från Windows-miljön importerades till Cygwin-miljön för att kunna komma åt dem.

Cygwin använder också ett smart behörighetssystem för Unix-filer. Men vad kan detta betyda för alla dina Windows-filer? Vem är ägaren till filerna och vilka behörigheter är inställda som standard? Låt oss köra kommandot ls -al på flera Windows-filer för att få svaret.

bjohnson@BRADMAN /cygdrive/c/cyginstall $ ls -al totalt 273 drwxr-xr-x 1 bjohnson okänd 0 Mar 13 17:48 . drwxr-xr-x 1 bjohnson okänd 0 31 dec 1969 .. drwxr-xr-x 1 bjohnson okänd 0 mar 13 18:06 bidrag drwxr-xr-x 1 bjohnson okänd 0 mar 13 18:03 senaste -r-wx 1 bjohnson okänd 218112 13 mars 17:48 setup.exe -rw-r--r-- 1 bjohnson okänd 60607 13 mars 17:54 setup.ini

Cygwin kommer att försöka få information om filens ägare (användare och grupp) från Windows. Medan jag använde maskinen Windows kontroll 98 med en användare, alla filer tillhörde mig (bjohnson) med gruppen angiven som "okänd". Detta ställer in behörigheterna för alla Windows-kataloger och körbara filer till 755 (läs och kör för alla, skriv endast för ägare) och ställer in alla Windows-filer behörigheter 644 (läs för alla, skriv endast för ägaren). Kommandot chmod för Windows-filer ignoreras.

Den här artikeln är avsedd för två
typer av människor: för dem som inte förstår
Linux, men kan inte installera det på min dator
(det finns olika anledningar), eller för de som
kan lite om pingviner 🙂 och skulle inte ha något emot det
lära känna dem på en "neutral"
territorium, det vill säga på Win98/NT.

Sajten har redan beskrivit Cygwin som den bästa
ta ut Linux-emulatorn, men det var inte sagt
ingenting om installation, konfiguration och buggar av Cygwin.
Här ska jag berätta om det :) Egentligen, om
när jag tänker på det är Cygwin inte alls en emulator, men
Bara Linux distribution, skrivet för Win32 😉

Sluta tjafsa... Låt oss gå till http://www.cygwin.com,
Vi tar installationsprogrammet setup.exe därifrån. Till henne
vi kommer att dra redan förkompilerade sådana
binärer (i exe-tillägg), minns du rpm?
😉 från utvecklarens webbplats eller från en spegel.
JAG REKOMMENDERAR det här programmet endast för nedladdning
Vi kommer att installera dessa filer manuellt, eftersom Om
du installerar med setup.exe, gcc fungerar inte - fig
vet varför... Kanske utvecklarna redan har tagit hänsyn
det här är en bugg, men jag vet inte om det än...

Så ladda ner alla de viktigaste binära filerna (källor
du behöver inte ladda ner), och flera
ytterligare - vem skulle vägra wget, lodjur,
BitchX, Python :) Men du behöver inte ladda ner Perl... det har jag
det fanns ActivePerl - en avancerad Perl-emulator. Ladda ner
tillgänglig från http://www.acriveperl.com.
Jag har inte observerat några fel :) (Jag ska berätta hur jag
implementerade det i cygwin).

inställningar

Och i "grupp"-filen i samma "etc"-mapp:
root:x:0:root

Om du vill kryptera ditt lösenord, och
inte "lösenord" som jag gjorde i mitt exempel,
skriva ett Perl-manus

#!/usr/bin/perl
chomp ($pass= );
print $crypt("SA",$pass);

Var, SA - salta, som kommer att användas för kryptering
lösenord... du kan göra det slumpmässigt, men
Den här artikeln kommer att vara utanför ämnet.

Redigera nu filen "c:\cygwin\cygnus.bat" -
i den byter vi PATH, helt enkelt ändrar vägen till
emulator och sökvägen till filen login.exe. Låt oss lansera
fil.

Låt oss logga in: i mitt exempel, "root": "lösenord".
Så vi kom in i själva emulatorn. Jag gör inte
Jag gillade inmatningsuppmaningen. Låt oss ändra det
- variabel PS1. Öppna (skapa) filen "c:\cygwin\etc\profile"
och skriv där:

# /etc/profile
PROFILE_LOADED=1
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/local/sbin:$PATH"
stäng av DOSDRIVE
avaktivera DOSDIR
avaktivera TMPDIR
avaktivera TMP
export HOSTNAME=test
PS1="[\u@$HOSTNAME \W]# "
LOGNAME=$USER
exportera PATH PS1 USER LOGNAME

Här... Sedan loggar vi in ​​igen och allt kommer att vara på
plats och vacker :) Inbjudan blir: # - standard, Linux :)

Det är allt, den första installationen är klar.
Låt oss gå vidare till att installera tjänster :)

Standardleveransen inkluderar thuja hucha
tjänster. Du måste köra dem så här:
/usr/sbin/inetd -R /usr/sbin/in.ftpd (exempel på ftpd).

Det är bättre att installera SSHD själv - det fungerade med en smäll och
Jag kör från SecureCRT, lagligt på 127.0.0.1 -
helt annorlunda utseende :)

När det gäller att arbeta med TCP/IP har jag inga nackdelar
Jag märkte :) Allt ansluter och fungerar som
nödvändig...

Och nu några tips:

1) Åtkomst till ALLA diskar är öppen. Så var
försiktig. Till exempel finns enhet d: här -
"/cygdrive/d".

2) Angående Perl, skapa en symbollänk till filen
Perl.exe, till exempel, så "ln -s /cygdrive/c/perl/bin/perl.exe
/usr/bin/perl"

3) Om du av någon anledning inte har det
installera en Linux-applikation -
bara fixa C-koden. Kanske,
kommer att lyckas.. (det är så jag kompilerade
micq).

4) Följ Cygwin-uppdateringar på webbplatsen http://www.cygwin.com
- binärer uppdateras ofta.

Frågor? Skriv till mig via e-post - jag ska försöka
hjälp...

Cygwin är en unix-liknande miljö för Windows. Det behövs ofta för att köra program som utvecklats för Unix-liknande operativsystem. Många av dessa program kan installeras utan Cygwin, men det ger bekväm central installation och hantering. Med Cygwin kan du enkelt installera program som OpenSSL, GnuPG, ImageMagick, gvim, gcc, bash, tcsh, emacs och många andra.
Så låt oss gå vidare till installationen. Först måste du ladda ner installationsprogrammet. Detta är bara ett program som kommer att ladda ner alla nödvändiga paket och miljö och sedan installera dem. Installationen är ganska enkel:




Med den här menyn kan du välja proxyinställningar om du använder en.


Programmet kommer att ladda ner en lista över speglar med paket för installation, varefter det låter dig välja en spegel där paketen ska laddas ner.


Nu kan du välja paket att installera. För att göra det lättare att hitta grupperas de efter deras syfte. Du kan också söka på paketnamn. Med den här menyn kan du installera både det binära paketet (redan kompilerat) och källkoden (okompilerat paket). Kolumnen Bin innehåller versionen av det valda binära paketet, kolumnen Src (källkod) kan väljas om ett binärt paket redan har valts. Källkoden kommer att vara samma version som det binära paketet. För att välja en paketversion i kolumnen Ny måste du klicka på den flera gånger.
När du har valt alla paket du behöver kan du klicka på nästa och installationsprogrammet kommer att ladda ner och installera dem. När du väljer paket rekommenderar jag dig dessa -

Om du ibland fortfarande använder ett Microsoft-operativsystem behöver du förmodligen verkligen några Linux-verktyg i Windows. Det skulle vara mycket bekvämt att använda vanliga kommandoradsverktyg för filtrering av utdata, sortering, filtrering och strömningsredigering, på Windows där sådana funktioner inte stöds.

Det finns flera lösningar för att implementera detta. I den här artikeln kommer vi bara att titta på två av dem. Den första, som du kanske redan har hört talas om, eller kanske redan använder, är Cygwin. För det andra, något mer intressant och nytt - Cash. Låt oss börja med Cygwin. I den senaste versionen av Windows 10 har en tredje lösning dykt upp - möjligheten att göra det inbyggt med hjälp av ett speciellt undersystem. Läs om detta i en separat artikel.

Cygwin är en uppsättning verktyg som tillhandahåller Unix-liknande miljö på Windows. Du kan inte köra befintliga Linux-verktyg här. För att kunna köra ett Linux-kommando från Windows Cygwin måste det först kompileras om.

Ändå har en hel del mjukvara redan byggts om. Cygwin ger dig en Linux-liknande miljö med många av de verktyg du redan är van vid på Linux. Den kan användas både för standardverktyg som kommandot cp windows och för att ansluta till en fjärrserver via ssh.

Installerar Cygwin

Som andra Windows-program, Cygwin installeras med ett installationsprogram i .exe-format. Du kan ladda ner den på den officiella webbplatsen.

För att installera måste du gå igenom flera steg i guiden; som standard kommer programmet att installeras i C:\Cygwin:

Installationspaketet kommer inte med en komplett uppsättning miljöer. Det kommer att laddas ner under installationsprocessen. I det här fönstret måste du välja en server för att ladda ner komponenter:

Du måste sedan välja de paket som ska laddas ner och installeras. Det finns ganska många program tillgängliga och de är sorterade i kategorier. Om du inte vet om du behöver ett visst paket, lämna standardvärdet. Du kan installera dem senare:

Allt som återstår är att klicka på Nästa för att starta nedladdningen och slutföra installationen.

Lägger till Cygwin till Path

När installationen är klar, för att köra linux-kommandon på Windows med maximal bekvämlighet, är det lämpligt att lägga till mappen med Cygwin körbara filer till Path miljövariabel.

Du kan starta Cygwin-terminalen genom att klicka på genvägen på skrivbordet. En terminal öppnas med mappen C:\Cygwin\bin

Här kan du göra allt du behöver linux kommandon i Windows, men du kommer inte att kunna köra dem i en annan katalog eller en annan terminal.

För att lösa det här problemet måste du lägga till Cygwin-mappen till din Path-variabel. Öppna Systemegenskaper med ett kortkommando Win+Paus/Paus, välj sedan objekt Avancerade systeminställningar på den vänstra panelen:

På fliken Avancerat väljer du Miljövariabler:

Hitta sökvägsvariabeln i listan och klicka Förändra:

Lägg till denna post i slutet av raden:

Observera att alla sökvägar måste separeras med semikolon. Allt du behöver göra är att klicka OK och testa exekveringen av Linux-kommandon på Windows.

Kontanter

Det här är något helt nytt. Kontantverktyget med öppen källkod är en plattformsoberoende implementering skal Linux på JavaScript. Målet med detta projekt är att tillhandahålla ett mer flexibelt, enklare alternativ till Cygwin för dem som vill känna sig lika bekväma i Windows som de är i Linux.

När du har installerat Cash kan du köra ett linux-kommando från Windows i vilken terminalemulator som helst, inklusive Windows standardkommandorad.

För närvarande stöds endast vissa Linux-verktyg för Windows. Här är listan över de som stöds:

  • alias
  • klar
  • exportera
  • falsk
  • mkdir
  • källa
  • Rör
  • unalias

Eftersom verktyget fortfarande är under utveckling kommer listan över Linux-kommandon i Windows att öka hela tiden. Du kan också rösta för att lägga till de kommandon du behöver.

Så här fungerar det:

Det som är mest intressant är att du kan kombinera Windows- och Linux-kommandon. Du kan till exempel göra:

ipconfig | grep IPv4 | sortera

Och laget kommer att fungera korrekt. ipconfig kommer att köras först och sedan kommer resultatet att filtreras med Grep.

Installera Cash på Windows

Jag kommer att installera Cash på Windows 10. Det är väldigt enkelt och fungerar även på äldre Windows-versioner. Eftersom Cash är JavaScript-baserat måste du installera Node.js för att det ska fungera. Du kan ladda ner Node.js på den officiella webbplatsen:

Efter att Node.js har installerats kan du fortsätta med att installera Cash. Den kan installeras i flera lägen:

  • Manuell användning av kontanter - du måste köra kontanter för att börja köra Linux-kommandon
  • Global användning - linux-kommandon är tillgängliga i alla Windows-terminaler
  • Installera bara några kommandon - du kan välja komponenter att installera om du inte vill installera allt

För att installera Cash globalt, öppna kommandorad Windows med Win+R:

npm installera cash-global -g

Installationen kan ta några minuter, beroende på hastigheten på din internetanslutning. När installationen är klar kan du omedelbart testa Linux-kommandon på Windows.

Slutsatser

Som jag redan sa är Cash-projektet fortfarande under utveckling och det finns en möjlighet att du stöter på fel. Glöm inte att rapportera eventuella buggar du hittar till utvecklarna för att hjälpa till att förbättra projektet. Om stabilitet är avgörande för dig är det bättre att använda gamla goda Cygwin.

Vi Linux-användare behöver sällan använda unix-kommandon i Windows och sådana verktyg. Vi kan använda Linux-kommandon direkt på vårt system. Men om du av någon anledning inte kan installera Linux och ändå vill använda linux-kommandon kan detta vara en bra lösning.

Om författaren

Grundare och administratör av sajten, jag är förtjust i öppen programvara och operationssalen Linux-system. Jag använder för närvarande Ubuntu som mitt huvudoperativsystem. Förutom Linux är jag intresserad av allt som rör informationsteknologi och modern vetenskap.


Topp