Priporočena, 2024

Izbira Urednika

Kako Linux Bash Shell deluje na Windows 10

Z izdajo posodobitve obletnice za operacijski sistem Windows 10 je Microsoft objavil podsistem Windows za Linux (WSL) - način za zagon pravega, izvornega Basha v sistemu Windows 10, ki podpira izvajanje izvornih binarnih datotek Linuxa. To počne tako, da na vrhu operacijskega sistema Windows zažene sliko Ubuntu Linux.

To pomeni, da lahko zaženete orodja za ukazno vrstico Linuxa, kot so ls, grep, top in chmod . Ker pod njim uporabljate pristen Ubuntu, vam bo lsb-release -a omogočil naslednje rezultate:

Uporabite lahko apt-get in prijatelje, da namestite pripomočke, kot so vim, git, screen, tmux ali celo igranje igre nethack:

Ne pozabite pa, da je ta sistem v beta različici in da ni namenjen delovnim obremenitvam strežnika. To je samo orodje za razvijalce (in navdušence), da preizkusijo svoje Linux-osredotočene aplikacije na Windows brez sprememb. To tudi ni orodje, ki je namenjeno za izvajanje aplikacij ali okolij Linuxa, kot so Gnome ali KDE, čeprav je to mogoče tudi z nekaterimi hekerji. Ko smo to razjasnili, si poglejmo, kako lupina Linuxa deluje v sistemu Windows 10.

Podsistem Windows za Linux (WSL)

V skladu z uradno dokumentacijo »WSL je zbirka komponent, ki omogočajo, da izvorni binarne kode za Linux ELF64 tečejo v sistemu Windows«. To počne z uvedbo virtualiziranega vmesnika jedra Linuxa na jedru Windows NT. To pomeni, da ne uporablja nobene kode iz dejanskega jedra Linuxa - vsakič, ko aplikacija vzpostavi sistemski klic, specifičen za Linux (syscall), ga WSL prevede v ustrezen Windows syscall, ki nato opravi vse teže.

Razlike od virtualnih strojev in Cygwin

Zdaj pa si poglejmo, kako je Linux Bash Shell na Windows 10 drugačen v primerjavi z virtualnimi stroji in Cygwinom.

Virtualni stroji

Morda razmišljate: »No, zakaj uporabiti to? Zakaj ne bi uporabili Linux VM v operacijskem sistemu Windows? ”

V primerjavi z navideznim strojem WSL porabi manj virov . Omogoča vam tudi delo z datotekami, kot bi jih uporabljali v Linuxu, hkrati pa vam omogoča popoln dostop do osnovnega datotečnega sistema Windows, ne da bi se morali zanašati na mape v skupni rabi ali omrežne skupne rabe.

Cygwin

Še en priljubljen način izvajanja priljubljenih Linux / Unix podobnih orodij v sistemu Windows je Cygwin. Največja razlika med obema pristopoma je, da Cygwin ni način za zagon izvornih binarnih datotek Linuxa v sistemu Windows. Zagotavlja le nabor orodij GNU in Open Source, ki zagotavljajo funkcionalnost, podobno Linux distribuciji v sistemu Windows.

Po drugi strani pa so orodja WSL izvirni Linux ELF-64, prevedeni v Windows. Na primer, zagon ukaza apt-get install emacs v WSL bo prenesel in namestil iste datoteke kot na Ubuntu 14.04 namestitvi iz uradnih skladišč Ubuntuja.

Uporabniki, dovoljenja in datotečni sistemi v WSL

Hierarhija datotečnega sistema

WSL je nameščen pod %LocalAppData%\lxss\rootfs . Ta je znan kot okolje WSL in deluje kot Linux ( / root) imenik. Na primer, če je vaše uporabniško ime v operacijskem sistemu Windows beebom, bo korenska mapa Linuxa locirana v C:\Users\beebom\AppData\Local\lxss\rootfs. To pomeni, da lahko vsak uporabnik sistema Windows ima svoje lastno okolje WSL in lahko spremeni apt-get install pakete apt-get install, ne da bi prizadel druge uporabnike operacijskega sistema Windows.

Dostop do osnovnega datotečnega sistema Windows je možen v WSL. Vsi pogoni so nameščeni pod /mnt. Na primer, C:\ je nameščen pod /mnt/c, D:\ je nameščen pod /mnt/d, itd.

Uporabniki in dovoljenja

Ko prvič namestite WSL, vas bo pozval, da ustvarite novega privzetega uporabnika Linuxa. Ni nujno, da ima ta uporabnik isto ime kot trenutni uporabnik operacijskega sistema Windows in ga na splošno obravnava kot ločeno entiteto. Ustvarite lahko celo več uporabnikov Linuxa, ki jih nadzoruje en uporabnik sistema Windows.

Možnosti root je mogoče pridobiti s pomočjo ukaza sudo . Imejte v mislih, da je root v WSL vpliva le na uporabniške pravice v okolju Linux in datotečni sistem - ne vplivajo na podeljene pravice Windows. Na primer, seja WSL s skrbniškimi pravicami za Windows lahko cd /mnt/c/Users/Administrator medtem ko se Bash seja brez skrbniških privilegijev prikaže Dovoljenje zavrnjeno. Vnašanje sudo cd /mnt/c/Users/Administrator ne bo omogočilo dostopa do imenika skrbnika, ker so dovoljenja za Windows omejena.

Funkcije datotečnega sistema, specifične za Linux

Linux je sistem, ki upošteva velike in male črke . To pomeni, da se photo.png in Photo.png obravnavata kot dve različni datoteki. Medtem ko Windows po privzetku ni občutljiv na velikost velikih in malih črk, je še vedno seznanjen s primeri. Kar pomeni, da medtem ko photo.png in Photo.png nista obravnavana kot dve različni datoteki, se zagotovo zavedata razlike v primeru.

WSL obravnava občutljivost primerov, prav tako kot pri Linuxu. Mogoče je celo ustvariti dve datoteki, katerih ime se razlikuje le v primeru izven okolja WSL. Ne pozabite pa, da številne aplikacije Windows ne morejo ravnati v takšnih situacijah in morda ne bodo mogle odpreti ene ali obeh datotek.

Podobno so podprte tudi simbolne povezave, če uporabljate datotečni sistem NTFS. Vendar pa bodo simbolne povezave delovale samo znotraj WSL in jih ne morejo rešiti druge aplikacije Windows.

Linux podpira skoraj vse posebne znake znotraj imen datotek, medtem ko je Windows bolj omejevalen. WSL pa dovoljuje uporabo takih posebnih znakov, pod pogojem, da so omejeni na okolje Linux sistema.

Pripravljen za zagon Linuxove ukazne vrstice v operacijskem sistemu Windows?

Torej, tako Ubuntu Bash ali Linux Bash Shell, znan tudi kot Windows podsistem za Linux deluje na Windows 10 (s posodobitvijo obletnice). Poleg dela smo se naučili tudi, kako je drugačen in boljši od tradicionalnih načinov izvajanja ukazov, specifičnih za Linux, v sistemu Windows. Torej, če ste vedno želeli uporabljati ukaze Linuxa, začnite in če imate vprašanja, komentarje ali nasvete, nas obvestite v oddelku za komentarje.

Top