Programmēšana

Atklājiet Bash spēku Windows operētājsistēmā

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 bashun 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īšanai
  • lxrun / instalēt: Lai sāktu lejupielādes un instalēšanas procedūru
  • lxrun / atinstalēt: Lai atinstalētu Ubuntu attēlu
  • lxrun / update: Lai atjauninātu WSL pakotnes indeksu
  • lxrun / 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 paraugam
  • sed: Lai aizstātu virkni
  • atbalss: 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 temp
  • CD \: 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ā atrodaties
  • ls: 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āizvelk
  • sudo apt-get jauninājums: Atjaunina visu programmatūru uz jaunāko versiju
  • apt-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 git

git 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
$config[zx-auto] not found$config[zx-overlay] not found