Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Kaip „Linux Bash Shell“ veikia „Windows 10“

Išleidus „Windows 10“ sukaktį, „Microsoft“ paskelbė „ Windows“ posistemį „Linux“ (WSL) - būdą, kaip „Windows 10“ paleisti tikrą ir vietinę „Bash“, kuri palaiko „native Linux“ dvejetainius failus. Tai daroma naudodama „Windows“ naudotojo režimą „Ubuntu Linux“ vaizdą.

Tai reiškia, kad galite paleisti Linux komandinės eilutės įrankius, pvz., ls, grep, top ir chmod . Kadangi jūs naudojate autentišką „Ubuntu“, lsb-release -a “ suteiks jums tokią išvestį:

Galite naudoti apt-get ir draugus, kad įdiegtumėte tokias komunalines paslaugas kaip „ vim, „ git, „ screen, „ tmux ar net žaisti „ nethack: žaidimą nethack:

Atminkite, kad ši sistema yra beta versija ir nėra skirta serverio darbo krūviui. Tai tik įrankis, skirtas kūrėjams (ir entuziastams) išbandyti savo „Linux“ orientuotas programas „Windows“ be pakeitimų. Tai taip pat nėra įrankis, skirtas Linux GUI programoms ar aplinkoms, pvz., Gnome arba KDE, paleisti, nors tai yra įmanoma ir su tam tikrais hacks. Išsiaiškinus, išbandykime, kaip „Linux“ korpusas veikia „Windows 10“.

Windows „Linux“ posistemis (WSL)

Remiantis oficialiais dokumentais, „WSL yra rinkinių, leidžiančių„ Linux “„ ELF64 “binarams paleisti„ Windows “, rinkinys. Tai daroma įgyvendinant virtualizuotą „Linux“ branduolio sąsają ant „Windows NT“ branduolio. Tai reiškia, kad ji nenaudoja jokio kodo iš tikrojo „Linux“ branduolio - kai programa sukuria specifinį „Linux“ sistemos skambutį („syscall“), „WSL“ jį paverčia lygiaverčiu „Windows“ sistemos skambučiu, kuris tada atlieka visą sunkų kėlimą.

Skirtumai nuo virtualių mašinų ir „Cygwin“

Dabar pažiūrėkime, kaip „Linux Bash Shell“ „Windows 10“ skiriasi, palyginti su virtualių mašinų ir „Cygwin“.

Virtualios mašinos

Galbūt galvojate: „Kodėl tai naudoti? Kodėl ne tik naudoti „Linux VM“ sistemoje „Windows“?

Palyginti su virtualia mašina, WSL naudoja mažiau išteklių . Jis taip pat leidžia dirbti su failais, kaip ir „Linux“, tuo pat metu suteikiant visišką prieigą prie pagrindinės „Windows“ failų sistemos, nesiremdami bendrai naudojamais aplankais ar tinklo akcijomis.

Cygwin

Kitas populiarus populiarių Linux / Unix tipo įrankių „Windows“ veikimo būdas yra „Cygwin“. Didžiausias skirtumas tarp dviejų metodų yra tas, kad „ Cygwin“ nėra būdas paleisti „Linux“ dvejetainius „Linux“ binarus . Jame yra tik GNU ir atviro kodo įrankių rinkinys, kuris suteikia funkcionalumą, panašų į „Linux“ platinimą „Windows“.

Kita vertus, „ WSL“ įrankiai yra vietiniai „Linux ELF-64“ kompiliuojami dvejetainiai, kurie veikia „Windows“. Pavyzdžiui, vykdant apt-get install emacs komandą WSL bus atsisiųsti ir įdiegti tuos pačius failus, kaip ir Ubuntu 14.04 diegimo metu, iš oficialių Ubuntu saugyklų.

WSL naudotojai, leidimai ir failų sistemos

Failų sistemos hierarchija

WSL yra įdiegtas pagal dabartinio vartotojo %LocalAppData%\lxss\rootfs katalogą. Tai vadinama WSL aplinka ir veikia kaip „Linux“ (root) katalogas. Pvz., Jei jūsų naudotojo vardas sistemoje „Windows“ yra beebom, „Linux“ šakninis katalogas bus įsikūręs „ C:\Users\beebom\AppData\Local\lxss\rootfs. Tai reiškia, kad kiekvienas „Windows“ naudotojas gali turėti savo WSL aplinką ir gali atlikti pakeitimus, pvz., apt-get install programinės įrangos paketus, nedarant įtakos kitiems „Windows“ vartotojams.

WSL galima pasiekti pagrindinę Windows failų sistemą. Visi diskai yra sumontuoti pagal /mnt. Pavyzdžiui, C:\ yra sumontuotas po /mnt/c, D:\ yra montuojamas po /mnt/d ir tt

Naudotojai ir leidimai

Kai pirmą kartą įdiegiate WSL, jis paragins sukurti naują numatytąjį „Linux“ naudotoją. Šis vartotojas neturi turėti to paties pavadinimo, kaip ir dabartinis „Windows“ vartotojas, ir jis laikomas atskiru subjektu apskritai. Jūs netgi galite sukurti kelis „Linux“ naudotojus, kuriuos valdo vienas „Windows“ naudotojas.

Naudojant sudo komandą galima gauti root teises. Turėkite omenyje, kad WSL root yra tik vartotojo teises Linux aplinkoje ir failų sistemoje - jie neturi įtakos suteiktoms „Windows“ teisėms. Pvz., WSL sesija su „Windows“ administratoriaus teisėmis gali cd /mnt/c/Users/Administrator o „Bash“ sesija be administratoriaus teisių bus rodoma „Permission Denied“. Įrašymas sudo cd /mnt/c/Users/Administrator nesuteiks prieigos prie administratoriaus katalogo, nes „Windows“ apriboja leidimus.

Specifinės „Linux“ rinkmenų sistemos funkcijos

„Linux“ yra didžiosios ir mažosios raidės . Tai reiškia, kad photo.png ir Photo.png yra laikomi dviem skirtingais failais. Nors pagal nutylėjimą „Windows“ nėra didžiosios ir mažosios raidės, ji vis dar žinoma . Tai reiškia, kad nors photo.png ir „ Photo.png nėra laikomi dviem skirtingais failais, tai žinoma apie skirtumą.

WSL tvarko atvejų jautrumą kaip ir Linux. Netgi galima sukurti du failus, kurių pavadinimas skiriasi tik pagal WSL aplinką. Tačiau reikia nepamiršti, kad daugelis „Windows“ programų negali apdoroti tokių situacijų ir gali nepavykti atidaryti vieno ar abiejų failų.

Panašiai palaikomos simbolinės nuorodos, jei naudojate NTFS failų sistemą. Tačiau simbolinės nuorodos veiks tik WSL viduje ir negali būti išspręstos kitomis „Windows“ programomis.

„Linux“ taip pat palaiko beveik visus specialiuosius simbolius failų pavadinimuose, o „Windows“ yra labiau ribojanti. Tačiau WSL leidžia naudoti tokius specialius simbolius, jei jie yra tik „Linux“ sistemos aplinkoje.

Ar pasiruošę paleisti „Linux“ komandų eilutę sistemoje „Windows“?

Taigi, tai, kaip „Ubuntu Bash“ arba „Linux Bash Shell“, taip pat žinomas kaip „Windows“ posistemė „Linux“, veikia „Windows 10“ (su „Anniversary“ atnaujinimu). Kartu su savo darbu mes taip pat sužinojome, kaip jis yra kitoks ir geresnis už tradicinius „Linux“ komandų valdymo būdus. Taigi, jei visada norėjote naudoti „Linux“ komandas, pradėti ir jei turite klausimų, komentarų ar patarimų, įsitikinkite, kad pastabų skyriuje praneškite mums.

Top