Microsoft Windows var būt dominējošais spēlētājs darbvirsmā, taču strauji augošais atvērtā pirmkoda programmatūras tirgus - īpaši attiecībā uz administratora un izstrādātāja rīkiem - nepārprotami atbalsta Linux. Nemaz nerunājot par mobilo sakaru tirgu, kur Android izmanto Linux variantus. Ja esat izstrādātājs operētājsistēmā Windows, bungu gājiens, lai gūtu labumu no Linux iespējām, paliek arvien skaļāks.
Gadu gaitā Microsoft ir ieviesis dažādus risinājumus Linux iespēju izmantošanai sistēmā Windows, piemēram, PowerShell ar SSH un Cygwin un MSYS. Vēl viena iespēja ir palaist Linux virtuālajā mašīnā. Bet VM patērē ievērojamu daudzumu resursu un nenodrošina pirmās klases Linux pieredzi, jo, piemēram, nevar rediģēt vietējos failus vai iegūt pilnīgu piekļuvi vietējiem diskiem.
Tā kā IT pasaule daudziem projektiem pievēršas Linux, Microsoft ir nācis klajā ar jaunu piedāvājumu, lai izmantotu šo augošo tirgu. Bash operētājsistēmā Windows ir atbilde. Šeit mēs jums palīdzēsim instalēt Bash operētājsistēmā Windows un dodam iespēju Linux komandrindā nogaršot, ko jūs varat darīt - un kāpēc jūs to darīsit.
Pārskats par Bash operētājsistēmā Windows
Bash operētājsistēmā Windows ir jauna funkcija, kas pievienota sistēmai Windows 10. Lai izveidotu šo jauno infrastruktūru sistēmā Windows, ko sauc par Windows apakšsistēmu Linux (WSL), Microsoft ir sadarbojies ar Canonical, jeb Ubuntu Linux veidotājiem. Tas ļauj izstrādātājiem piekļūt pilnam Ubuntu CLI un utilītu komplektam. Ar vietējo Linux pieredzi izstrādātāji var palaist Linux komandas operētājsistēmā Windows, ieskaitot piekļuvi vietējiem failiem un diskiem. Tā kā Linux ir dabiski integrēts sistēmā Windows, izstrādātāji iegūst elastību strādāt ar vienu un to pašu failu Linux un Windows. Vienkārši sakot, Bash operētājsistēmā Windows nodrošina Ubuntu lietotāja zemes izmantošanu Windows, atskaitot Linux kodolu.
Bash vs PowerShell
Korporācijai Microsoft jau ir komandu apvalks programmā PowerShell. Tātad, kā Bash operētājsistēmā Windows atšķiras? PowerShell ir Microsoft konfigurācijas pārvaldības sistēma uzdevumu automatizēšanai. To izmanto, lai pārvaldītu Windows ar tās API orientēto arhitektūru. Savukārt Bash automatizācijas un attīstības nolūkos galvenokārt paļaujas uz teksta failiem. Abi atšķiras gan fokusā, gan dizainā. Piemēram, kad jūs direktorijā ierakstāt failus, izmantojot ls
komandu, PowerShell izvadi parāda kā failu objektus, savukārt Bash operētājsistēmā Windows parāda izvadi kā virkņu kopu. Par laimi, Windows administratoriem jūs varat strādāt kopā ar abiem risinājumiem un gūt vislabāko no abām pasaulēm.
Viens piesardzības vārds: PowerShell ir aizstājvārdi, kas ļauj to izdarīt padomā jūs izmantojat tradicionālās Bash komandas, kad faktiski darbināt PowerShell cmdlet. Tas var izraisīt dažu cilvēku satricinājumu. Piemēram, ls
ir aizstājvārds Get-ChildItem
komandu. Līdzīgi pwd
ir aizstājvārds Get-Location
un cd
ir aizstājvārds Iestatīt atrašanās vietu
. Lai iegūtu visu PowerShell aizstājvārdu sarakstu, izmantojiet Get-Alias
cmdlet.
Bash operētājsistēmā Windows nodrošina vairākas priekšrocības atvērtā koda izstrādātājiem. Ieviešot Windows vietējās Linux iespējas, Bash operētājsistēmā Windows novērš nepieciešamību palaist divkāršu sāknēšanu ar Ubuntu, lai piekļūtu Linux iespējām. Jums nav nepieciešams izmantot Mac OS X, palaist virtuālo mašīnu vai izveidot risinājumus, izmantojot Cygwin. Tas dod nepieciešamo rīku komplektu, lai rakstītu un izveidotu kodu jūsu scenārijiem un platformām. Piekļūstot Windows failu sistēmai no Bash, varat strādāt ar tiem pašiem failiem, izmantojot Windows vai Linux CLI.
Kā Microsoft pārnesa Bash uz Windows?
2016. gada aprīļa būvniecības konferencē Microsoft daudziem par pārsteigumu paziņoja par Windows apakšsistēmu Linux (WSL). Bash operētājsistēmā Windows dzimis sadarbībā ar Windows 10, kas vispirms tika piegādāts ar Windows 10 gadadienas atjauninājumu. Tam ir divas daļas: galvenā apakšsistēma un pakete. Galvenā apakšsistēma jau ir daļa no Windows 10 Insider Builds un piedāvā Linux API operētājsistēmā Windows, kas nozīmē, ka jūs varat dabiski ielādēt Linux bibliotēkas un izpildāmos failus. Canonical nodrošina programmatūras pakotni kā papildu iespēju. Šī programmatūras pakete piedāvā Bash un CLI rīkus, kas nepieciešami Linux videi.
Bash instalēšana
Lai palaistu Bash operētājsistēmā Windows, jūsu sistēmai ir jāpalaiž x64 Windows 10 Anniversary Update Build 14393 vai jaunāka versija. Uzbūvi jūs atklājat, ierakstot winver
komandu lodziņā.
Ja būvēšanas versija ir mazāka par 14393, jūs nevarēsiet instalēt Bash.
Lai iespējotu Bash atbalstītā būvējumā, vispirms jāieslēdz izstrādātāja režīms. Lai to izdarītu, dodieties uz Iestatījumi, noklikšķiniet uz Izstrādātājiem un atlasiet radiopogu Izstrādātāja režīms. Kad tas būs izdarīts, jums tiks lūgts apstiprināt.
Kad tas ir izdarīts, ir jāiespējo Windows apakšsistēmas Linux funkcija. Vieglākais veids, kā to izdarīt, ir PowerShell cmdlet:
Iespējot-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Lai sistēmā Windows atvērtu Bash, atveriet komandu uzvedni, ierakstiet bash
un akceptējiet licences līgumu. Kad Bash instalē, tas veic dažas izmaiņas jūsu sistēmā:
- Tiek lejupielādēts Ubuntu lietotāja režīma attēls.
- Slēpta mape, kas atrodas
% localappdata% \ lxss \
ir izveidots. - Saīsne tiek novietota uz darbvirsmas.
Lai palaistu Bash, tagad varat doties uz komandu uzvedni vai izmantot darbvirsmas saīsnes ikonu.
Pēc veiksmīgas Bash instalēšanas sistēma liks jums izveidot Unix lietotājvārdu un paroli. Šis lietotājvārds un parole ir domāta Bash un nekādā veidā nav saistīta ar jūsu Windows vidi.
Darba sākšana ar komandām
Kad esat nonācis Bash, jums ir dažas pieejamas komandas, lai pārvaldītu WSL un Ubuntu attēlu.
lxrun
: WSL instances pārvaldīšanailxrun / instalēt
: Lai sāktu lejupielādes un instalēšanas procedūrulxrun / atinstalēt
: Lai atinstalētu Ubuntu attēlulxrun / update
: Lai atjauninātu WSL pakotnes indeksulxrun / setdefaultuser
: Lai iestatītu noklusējuma Bash Ubuntu lietotājam
Bash operētājsistēmā Windows, protams, arī ļauj izpildīt daudzas “tradicionālās” Bash komandas. Piemēram:
grep
: Lai atrastu līnijas, kas atbilst paraugamsed
: Lai aizstātu virkniatbalss
: Vērtības izvade ekrānāvar = 2
: Lai izveidotu mainīgo domēnam$ var
=!=
: Salīdzināt nelielus tekstu fragmentus
Navigācijas komandas
Navigācijai varat izmantot arī Windows DOS komandu cd
lai pārvietotos mapju struktūrā.
cd temp
: Maina darba direktoriju uz mapi ar nosaukumu tempCD \
: Jūs aizvedat uz saknes direktoriju. Tā kā Ubuntu nav diskdziņu, piemēram, Windows, saknes direktorijs būtu augstākā līmeņa direktorijs.cd ..
: Uzvedne tiek pacelta vienu līmeni uz augšu (tas ir, uz vecāku direktoriju)cd ~
: Aizved jūs uz mājas direktoriju
Tomēr cd
programmā PowerShell ir nedaudz atšķirīgs Ubashu Bash. WSL vidē jūsu Windows diski tiek glabāti / mnt
mapi, un kā apakšmapi tiek izmantots diska nosaukums. Kad izmantojat cd
komandu, jums attiecīgi jāmaina ceļš.
Parādīt komandas
Lai pārbaudītu direktorija ceļu un saturu, ir daži piemēri:
pwd
: Ekrānā izdrukā ceļu vai direktoriju, kurā atrodatiesls
: Parāda failus direktorijā
Palīdzības komandas
Ja vēlaties izprast katras komandas funkcionalitāti un ar to saistītos parametrus, cilvēks
komandu var izmantot.
Tips cilvēks
un tas parādīs kopsavilkumu par to, kam ir paredzēta komanda, un saistītos parametrus. Tas ir līdzīgs PowerShell palīdzība
komandu.
Komandu rediģēšana
Viena no Bash priekšrocībām ir tā, ka jūs strādājat ar vienkāršu tekstu. Tas nozīmē, ka jums nav jājaucas ar reģistra vai programmas iestatījumiem. Neatkarīgi no tā, vai vēlaties mainīt sāknēšanas secību vai tīmekļa servera konfigurāciju, vienkārši rediģējiet atbilstošo teksta failu. Lai efektīvi veiktu rediģēšanas uzdevumus, jums ir nepieciešams labs teksta redaktors. Bash piedāvā jaudīgus redaktorus, kas atvieglo jūsu darbu. Daži labie Bash pieejamo teksta redaktoru piemēri ir nano
un vi
.
Iepakojuma pārvaldība Bashā
Tā kā jūs būtībā izmantojat Linux, jums tagad ir pieejamas arī pakotņu pārvaldības komandas apt-get
. Daži piemēri:
sudo apt-get atjauninājums
: Atsvaidzina to krātuvju sarakstu, no kurām jāizvelksudo apt-get jauninājums
: Atjaunina visu programmatūru uz jaunāko versijuapt-cache meklēšanas lietotnes_nosaukums
: Meklē konkrētas lietotnes repozitorijāsudo apt-get instalēt apt-name
: Lejupielādē un instalē konkrēto lietotni
sudo
ir sagatavots visām komandām, lai ļautu palaist komandu citam lietotājam, kā noklusējuma virslietotāju (vai administratoru). Tas ir līdzīgs operētājsistēmas Windows “palaist kā administrators” tehnikai.
Tīkla komandas
Lai lejupielādētu failus no servera vai vietrāža URL, izmantojot HTTP, tagad varat izmantot čokurošanās
komandu. Šī komanda ir līdzīga PowerShell komandai Izsaukt WebRequest
cmdlet.
Līdzīgi varat izveidot savienojumu ar citu attālo Linux datoru un palaist tajā komandas. Tā kā tagad esam Linux, mums beidzot ir īsts SSH klients, ar kuru strādāt. Tā vietā, lai izmantotu Cygwin vai pašreizējo Windows OpenSSH ieviešanas beta versiju, mēs tagad varam SSH palaist dabiski, izmantojot ssh
komanda:
ssh lietotājvārds @ abc.com
Kamēr mēs esam par OpenSSH tēmu, mums tagad ir arī sākotnējā iespēja droši kopēt failus, izmantojot SCP, izmantojot iebūvēto scp
komanda arī:
scp localfile lietotājvā[email protected]: remotedirectory / remotefile
Izmantojot Bash operētājsistēmā Windows, jums tagad ir daudz citu funkciju:
- Tādi rīki kā Git, Python un Ruby tieši sistēmā Windows
- Komandrindas redaktori, piemēram, emacs un vi
- Piekļuve Windows failu sistēmai no Bash vides
- Linux lietotāju atbalsts
- Symlink atbalsts
- Uzstādīšana uzglabāšanai caur
/ mnt
Kādi ir Bash bieži izmantotie gadījumi sistēmā Windows?
Pašlaik daudzi izstrādātāji izmanto Windows un Linux rīkus, kas nozīmē, ka viņiem ir jāveic dubultā sāknēšana vai jāpalaiž Linux virtuālajā mašīnā, lai iegūtu CLI iespējas. Kad viņi var palaist šos rīkus sistēmā Windows, tad Windows kļūst par viņu galveno darbvirsmu. Tādā gadījumā viņiem nav jāpārvieto Linux lietotnes un pakalpojumi uz Windows sistēmām. Kaut arī daži cilvēki ir spējuši palaist Linux GUI lietotnes Windows iekšienē, daudzi cilvēki saņem ērtu Linux CLI, lai veiktu vienkāršus uzdevumus, neiegādājoties īpašu Azure Linux mašīnu vai vienkāršiem mērķiem pārejot uz Mac ierīci. Tā kā Bash skriptu izveide ir vienkārša, varat automatizēt izstrādes uzdevumus, piemēram, vietņu dublēšanu Apache.
Piemēram, daudzi izstrādātāji izmanto GitHub versiju kontroles uzdevumiem. Lai piekļūtu GitHub operētājsistēmā Windows, jums jāinstalē GitHub for Windows, pēc tam izmaiņu veikšanai jāizmanto comm un push komandas. Pārmaiņus jums ir jālejupielādē Git utilīta, kas ir garlaicīgs process. Izmantojot Windows Bash, jūsu darbs kļūst vienkāršs:
apt-get install gitgit apņemties
git push
Arī sadaļā Bash jums nav nepieciešami trešo pušu rīki, lai strādātu ar tradicionālajiem Linux failu tipiem, piemēram, GZIPed tarballs (tar.gz faili).
Kādi ir Bash izmantošanas trūkumi sistēmā Windows?
Bash operētājsistēmā Windows joprojām ir beta versijā un satur dažas aptuvenas malas. Korporācija Microsoft saka, ka Bash operētājsistēmā Windows, iespējams, pašlaik nevar pilnībā izpildīt visus jūsu skriptus. Tomēr Microsoft uzmanīgi uzrauga veiktspēju un atsauksmes, un aktīvi veic izmaiņas šajā risinājumā.
Otrkārt, Bash operētājsistēmā Windows tika izveidots attīstības kopienai. Tas nebija paredzēts Windows vides pārvaldībai. Lai gan jūs varat darīt tādas darbības kā palaist servera dēmonus WSL, tas nepiedāvā pilnas pilnas Linux virtuālās mašīnas iespējas. Ja jūs plānojat palaist servera procesus ar ražošanas slodzi Ubuntu, jums vajadzētu meklēt citas alternatīvas pilnas Linux operētājsistēmas darbināšanai.
Visbeidzot, Bash operētājsistēmā Windows nodrošina Linux iespējas Windows. Tomēr Linux rīki nevarēs mijiedarboties ar Windows rīkiem un lietojumprogrammām. Tas nozīmē, ka nav raksturīgas starpplatformu iespējas to raksturīgo arhitektūras atšķirību dēļ.
Bash operētājsistēmā Windows joprojām ir topošajā stadijā. Lai gan šim risinājumam ir daži ierobežojumi, Microsoft cītīgi strādā pie papildu iespēju pievienošanas, lai izdzēstu šīs atšķirības un padarītu Windows par platformu Nr. 1 jebkura veida attīstības projektam. Sekojiet šim Microsoft projektam. Ņemot vērā Microsoft jauno nostāju atvērtā koda pasaulē, laika gaitā Bashs noteikti padarīs Bash par pirmās klases pilsoni.
Saistītie raksti
- Būtiska rokasgrāmata PowerShell operētājsistēmai Windows, Windows Server un Exchange
- 10 svarīgi PowerShell drošības skripti Windows administratoriem
- Viss par PowerShell nodrošinātājiem un moduļiem
- Go pro: PowerShell enerģijas lietotāja rokasgrāmata