Ohjelmointi

Löydä Bashin teho Windowsissa

Microsoft Windows voi olla hallitseva pelaaja työpöydällä, mutta nopeasti kasvava avoimen lähdekoodin ohjelmistomarkkinat - etenkin järjestelmänvalvojan ja kehittäjien työkalujen osalta - suosii selvästi Linuxia. Puhumattakaan matkaviestinmarkkinoista, joissa Android käyttää Linux-muunnelmia. Jos olet kehittäjä Windowsissa, rumpu Linux-ominaisuuksien hyödyntämiseksi tulee yhä kovemmaksi.

Vuosien varrella Microsoft on ottanut käyttöön useita kiertotapoja Linux-ominaisuuksien käyttämiseen Windowsissa, kuten PowerShell SSH: n ja Cygwinin ja MSYS: n kanssa. Linuxin käyttäminen virtuaalikoneessa on toinen vaihtoehto. Mutta virtuaalikoneet kuluttavat huomattavan määrän resursseja eivätkä tarjoa ensiluokkaista Linux-kokemusta, koska et voi esimerkiksi muokata paikallisia tiedostoja tai saada täyttä pääsyä paikallisiin asemiin.

Kun IT-maailma on kääntymässä kohti Linuxia monissa projekteissa, Microsoft on keksinyt uuden tarjouksen hyödyntääkseen näitä kasvavia markkinoita. Bash Windowsissa on vastaus. Tässä opastamme sinut Bashin asentamiseen Windowsiin ja annamme sinulle maun siitä, mitä voit tehdä - ja miksi tekisit sen - Linux-komentorivillä.

Katsaus Bashiin Windowsissa

Bash Windowsissa on uusi ominaisuus, joka on lisätty Windows 10: een. Microsoft on yhdessä Canonicalin eli Ubuntu Linuxin luojien kanssa rakentanut tämän uuden infrastruktuurin Windowsissa nimeltä Windows Subsystem for Linux (WSL). Sen avulla kehittäjät voivat käyttää täydellistä Ubuntun CLI: tä ja apuohjelmia. Alkuperäisen Linux-kokemuksen ansiosta kehittäjät voivat suorittaa Linux-komentoja Windowsissa, mukaan lukien pääsy paikallisiin tiedostoihin ja asemiin. Koska Linux on natiivisti integroitu Windowsiin, kehittäjät saavat joustavuuden työskennellä saman tiedoston kanssa Linuxissa ja Windowsissa. Yksinkertaisesti sanottuna Bash Windowsissa tuo Ubuntun käyttäjämaan Windowsiin miinus Linux-ydin.

Bash vs. PowerShell

Microsoftilla on jo komentokuori PowerShellissä. Joten miten Bash Windowsissa eroaa? PowerShell on Microsoftin kokoonpanonhallintakehys tehtävien automatisointiin. Sitä käytetään Windowsin hallintaan API-suuntautuneella arkkitehtuurillaan. Bash puolestaan ​​luottaa enimmäkseen tekstitiedostoihin automatisointia ja kehitystä varten. Nämä kaksi eroavat sekä kohdennuksesta että muotoilusta. Esimerkiksi, kun luet tiedostot hakemistoon käyttämällä Ls -komento, PowerShell näyttää tuloksen tiedosto-objekteina, kun taas Bash Windowsissa näyttää tuloksen merkkijonoina. Onneksi Windows-järjestelmänvalvojille voit työskennellä molempien ratkaisujen kanssa rinnakkain ja saada molempien maailmojen parhaat puolet.

Yksi varoituksen sana: PowerShellillä on aliaksia, joiden avulla voit ajatella käytät perinteisiä Bash-komentoja, kun tosiasiassa käytät PowerShell-cmdlet-komentoja. Tämä saattaa laukaista joitain ihmisiä. Esimerkiksi, Ls on aliaksen nimi Get-ChildItem komento. Samoin, pwd on aliaksen nimi Hae sijainti ja CD on aliaksen nimi Aseta sijainti. Käytä luetteloa kaikista PowerShellin aliaksista Get-Alias cmdlet.

Bash Windows tarjoaa useita etuja avoimen lähdekoodin kehittäjille. Tuomalla alkuperäiset Linux-ominaisuudet Windowsiin Bash Windows -järjestelmässä poistaa tarpeen suorittaa kaksoiskäynnistys Ubuntulla Linux-ominaisuuksien käyttämiseksi. Sinun ei tarvitse käyttää Mac OS X: ää, suorittaa virtuaalikonetta tai luoda kiertotapoja Cygwinin avulla. Se antaa tarvittavan työkalusarjan koodin kirjoittamiseen ja rakentamiseen skenaarioihisi ja käyttöympäristöihisi. Käyttämällä Windowsin tiedostojärjestelmää Bashista voit työskennellä samojen tiedostojen kanssa Windows- tai Linux-käyttöliittymällä.

Kuinka Microsoft siirsi Bashin Windowsiin?

Huhtikuun 2016 koontikokouksessa Microsoft ilmoitti Windows-alijärjestelmän Linuxille (WSL) monien yllätyksenä. Bash on syntynyt kumppanuudesta Canonicalin kanssa, ja sen mukana toimitettiin ensin Windows 10 Anniversary Update. Se tulee kahteen osaan: ydinosajärjestelmään ja pakettiin. Ydinalijärjestelmä on jo osa Windows 10 Insider Builds -sovellusta ja tarjoaa Linux-sovellusliittymän Windowsissa, mikä tarkoittaa, että voit ladata Linux-kirjastoja ja suoritettavia tiedostoja natiivisti. Canonical tarjoaa ohjelmistopaketin vaihtoehtona. Tämä ohjelmistopaketti tarjoaa Linux-ympäristöön tarvittavat Bash- ja CLI-työkalut.

Bashin asentaminen

Jotta Bash voidaan suorittaa Windowsissa, järjestelmän on suoritettava x64 Windows 10 Anniversary Update Build 14393 tai uudempi. Löydät rakennuksen kirjoittamalla Winver komentoruudussa.

Jos koontiversio on alle 14393, et voi asentaa Bashia.

Ota Bash käyttöön tuetussa koontiversiossa ottamalla ensin kehittäjätila käyttöön. Voit tehdä sen siirtymällä Asetuksiin, napsauttamalla Kehittäjille ja valitsemalla Kehittäjätila-valintanappi. Kun tämä on tehty, sinua pyydetään vahvistamaan.

Kun tämä on tehty, Windows-alijärjestelmä Linuxille -ominaisuuden on oltava käytössä. Helpoin tapa tehdä tämä on PowerShell-cmdlet:

Ota käyttöön-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Voit avata Bashin Windowsissa avaamalla komentokehotteen, kirjoittamalla lyödäja hyväksy lisenssisopimus. Kun Bash asentuu, se suorittaa muutamia muutoksia järjestelmään:

  • Ubuntun käyttäjätilakuva ladataan.
  • Piilotettu kansio, joka sijaitsee osoitteessa % localappdata% \ lxss \ on luotu.
  • Pikakuvake sijoitetaan työpöydälle.

Voit suorittaa Bashin joko siirtymällä komentokehotteeseen tai käyttämällä työpöydän pikakuvaketta.

Bashin onnistuneen asennuksen jälkeen järjestelmä kehottaa sinua luomaan Unix-käyttäjänimen ja salasanan. Tämä käyttäjänimi ja salasana on tarkoitettu Bashille, eivätkä ne liity millään tavalla Windows-ympäristöön.

Komennojen käytön aloittaminen

Kun olet Bashissa, sinulla on muutama käytettävissä oleva komento WSL: n ja Ubuntu-kuvan hallitsemiseksi.

  • lxrun: WSL-ilmentymän hallintaan
  • lxrun / install: Aloita lataaminen ja asentaminen
  • lxrun / uninstall: Ubuntu-kuvan poistaminen
  • lxrun / päivitys: WSL-pakettihakemiston päivittäminen
  • lxrun / setdefaultuser: Bash-oletusarvon asettaminen Ubuntun käyttäjälle

Bash Windowsissa, tietysti, antaa sinun tietysti suorittaa monia "perinteisiä" Bash-komentoja. Esimerkiksi:

  • grep: Voit etsiä viivoja, jotka sopivat kuvioon
  • sed: Merkkijonon korvaaminen
  • kaiku: Arvon tuottaminen näytölle
  • var = 2: Luodaan muuttuja kohteelle $ var
  • =!=: Verrata pieniä tekstikatkelmia

Navigointikomennot

Voit käyttää navigointia varten myös Windowsin DOS-komentoa CD navigoida kansiorakenteessa.

  • CD-lämpötila: Vaihtaa työkansion hakemistoon nimeltä temp
  • CD\: Siirtää juurihakemistoon. Koska Ubuntulla ei ole aseman kirjaimia, kuten Windows, juurihakemisto olisi ylätason hakemisto.
  • CD..: Vie kehotteen yhden tason ylöspäin (ts. Päähakemistoon)
  • cd ~: Siirtää kotihakemistoon

Kuitenkin, CD PowerShellissä on hieman erilainen Ubashun Bashissa. WSL-ympäristössä Windows-asemat tallennetaan / mnt kansion ja aseman nimeä käytetään alikansiona. Kun käytät CD komennon, sinun tulisi muuttaa polkua vastaavasti.

Näytä komennot

Seuraavassa on muutama esimerkki hakemiston polun ja sisällön tarkistamiseksi:

  • pwd: Tulostaa polun tai hakemiston näytölle
  • Ls: Näyttää tiedostot hakemistossa

Apukomennot

Jos haluat ymmärtää kunkin komennon toiminnot ja niihin liittyvät parametrit, mies komentoa voidaan käyttää.

Tyyppi mies ja se näyttää yhteenvedon komennolle ja siihen liittyvistä parametreista. Tämä on samanlainen kuin PowerShell auta komento.

Komentojen muokkaaminen

Yksi Bashin eduista on, että työskentelet pelkkän tekstin kanssa. Tämä tarkoittaa, että sinun ei tarvitse sotkea rekisterin tai ohjelman asetusten kanssa. Halusitpa muuttaa käynnistysjärjestystä tai verkkopalvelimen kokoonpanoa, muokkaa vastaavaa tekstitiedostoa. Tarvitset hyvän tekstieditorin, jotta muokkaustehtävät voidaan suorittaa tehokkaasti. Bash tarjoaa tehokkaat toimittajat, jotka tekevät työstäsi helppoa. Muutamia hyviä esimerkkejä Bashissa olevista tekstieditorista ovat nano ja vi.

Pakettien hallinta Bashissa

Koska käytät pääasiassa Linuxia, sinulla on nyt myös paketinhallintakomennot saatavilla muodossa apt-get. Muutama esimerkki:

  • sudo apt-get -päivitys: Päivittää luettelon arkistoista, joista vedetään
  • sudo apt-get -päivitys: Päivittää kaikki ohjelmistot uusimpaan versioon
  • apt-välimuisti etsi sovelluksen_nimi: Hakee tietyn sovelluksen arkistosta
  • sudo apt-get install apt-nimi: Lataa ja asentaa tietyn sovelluksen

sudo on valmiiksi liitetty kaikkiin komentoihin, jotta voit suorittaa komennon toisen käyttäjän alla, pääkäyttäjä (tai järjestelmänvalvoja) oletuksena. Se on samanlainen kuin Windowsin ”järjestelmänvalvojana” -tekniikka.

Verkkokäskyt

Voit nyt ladata tiedostoja HTTP: n kautta palvelimelta tai URL-osoitteesta kiemura komento. Tämä komento on samanlainen kuin PowerShell Invoke-WebRequest cmdlet.

Vastaavasti voit muodostaa yhteyden toiseen Linux-etätietokoneeseen ja suorittaa komennot siinä. Koska olemme nyt Linuxissa, meillä on vihdoin todellinen SSH-asiakas, jonka kanssa voimme työskennellä. Sen sijaan, että käytämme Cygwiniä tai OpenSSH-toteutuksen Windows-versiota, voimme nyt suorittaa SSH: n natiivisti ssh komento:

ssh käyttäjänimi @ abc.com

Vaikka olemme OpenSSH: n aiheessa, meillä on myös alkuperäinen kyky kopioida tiedostoja turvallisesti SCP: n kautta sisäänrakennetun scp komento samoin:

scp localfile käyttäjä[email protected]: remotedirectory / remotefile

Bashin avulla Windowsissa sinulla on nyt paljon muita ominaisuuksia ulottuvillasi:

  • Työkalut, kuten Git, Python ja Ruby suoraan Windowsissa
  • Komentorivieditorit, kuten emacs ja vi
  • Windows-tiedostojärjestelmän käyttö Bash-ympäristöstä
  • Linux-käyttäjätuki
  • Symlink-tuki
  • Säilytysasennus kautta / mnt

Mitkä ovat Bashin yleiset käyttötapaukset Windowsissa?

Tällä hetkellä monet kehittäjät käyttävät Windows- ja Linux-työkaluja, mikä tarkoittaa, että heidän on suoritettava kaksoiskäynnistys tai suoritettava Linux virtuaalikoneessa saadakseen CLI-ominaisuudet. Kun he voivat käyttää näitä työkaluja Windowsissa, Windowsista tulee heidän ensisijainen työpöydänsä. Siinä tapauksessa heidän ei tarvitse siirtää Linux-sovelluksia ja -palveluja Windows-järjestelmiin. Vaikka jotkut ihmiset ovat pystyneet suorittamaan Linux-käyttöliittymäsovelluksia Windowsin sisällä, monet ihmiset saavat kätevän Linux-käyttöliittymän suorittamaan yksinkertaisia ​​tehtäviä ostamatta omistettua Linux-konetta Azuresta tai siirtymällä Mac-laitteeseen yksinkertaisia ​​tarkoituksia varten. Koska komentosarjojen tekeminen on helppoa Bashissa, voit automatisoida kehitystehtäviä, kuten verkkosivustojen varmuuskopioinnin Apache-palvelussa.

Esimerkiksi monet kehittäjät käyttävät GitHubia versionhallintatehtäviin. Päästäksesi GitHubiin Windowsissa, sinun on asennettava GitHub for Windows, ja tehtävä sitten muutokset sitoutus- ja työntökomennoilla. Vaihtoehtoisesti sinun on ladattava Git-apuohjelma, joka on ikävä prosessi. Bashin avulla Windowsissa työsi yksinkertaistuu:

apt-get install git

git sitoutua

git push

Bash-kohdassa ei myöskään tarvita kolmannen osapuolen työkaluja työskennellessä perinteisten Linux-tiedostotyyppien kanssa, kuten GZIPed tarballs (tar.gz-tiedostot).

Mitkä ovat Bashin käytön haitat Windowsissa?

Bash Windowsissa on edelleen beta-versiossa ja sisältää joitain karkeita reunoja. Microsoft sanoo, että Windows Bash ei välttämättä suorita kaikkia komentosarjojasi tällä hetkellä. Microsoft kuitenkin seuraa tarkasti suorituskykyä ja palautetta ja tekee ennakoivasti muutoksia tähän ratkaisuun.

Toiseksi Bash Windowsissa tuotiin kehitysyhteisölle. Sitä ei ole suunniteltu Windows-ympäristöjen hallintaan. Vaikka voit tehdä asioita, kuten suorittaa palvelindemonteja WSL: ssä, se ei tarjoa täyden Linux-virtuaalikoneen kaikkia ominaisuuksia. Jos aiot suorittaa palvelinprosesseja tuotantokuormituksilla Ubuntussa, sinun tulee etsiä muita vaihtoehtoja täyden Linux-käyttöjärjestelmän käyttämiseen.

Lopuksi Bash on Windows tuo Linux-ominaisuudet Windowsiin. Linux-työkalut eivät kuitenkaan voi olla vuorovaikutuksessa Windowsin työkalujen ja sovellusten kanssa. Tämä ei tarkoita alustojen välisiä ominaisuuksia niiden luontaisten arkkitehtuurierojen takia.

Bash Windowsissa on edelleen syntymässä. Vaikka tälle ratkaisulle on joitain rajoituksia, Microsoft pyrkii innokkaasti lisäämään lisäominaisuuksia näiden erojen poistamiseksi ja tekemään Windowsista alustan jokaiselle kehitysprojektille. Pidä silmällä tätä Microsoftin projektia. Microsoftin uuden asenteen myötä avoimen lähdekoodin maailmassa Bashista tulee varmasti ensiluokkainen kansalainen Windowsissa ajan myötä.

Aiheeseen liittyvät artikkelit

  • Tärkeä opas PowerShellille Windowsille, Windows Serverille ja Exchangelle
  • 10 välttämätöntä PowerShell-suojauskoodia Windows-järjestelmänvalvojille
  • Kaikki PowerShell-palveluntarjoajista ja -moduuleista
  • Go pro: Tehokäyttäjän opas PowerShelliin