Soovitatav, 2020

Toimetaja Valik

Kuidas Linux Bash Shell töötab Windows 10-s

Windows 10-aastase aastapäeva värskenduse avaldamisega teatas Microsoft Windowsi Linuxi alamsüsteemist (WSL), mis võimaldab käivitada reaalset ja loomulikku Bashi Windows 10-s, mis toetab natiivsete Linuxi binaarfailide käivitamist. See toimib, kui käivitate Windowsi peale kasutajarežiimi Ubuntu Linuxi kujutise.

See tähendab, et saate käivitada Linuxi käsurea tööriistu nagu ls, grep, top ja chmod . Kuna allpool töötab ehtne Ubuntu, annab lsb-release -a käivitamine järgmise väljundi:

apt-get ja sõprade abil saate installeerida selliseid utiliite nagu vim, git, screen, tmux või isegi mängida nethack: mängu nethack:

Pidage siiski meeles, et see süsteem on beetaversioonis ja ei ole mõeldud serveri töökoormuseks. See on ainult vahend arendajatele (ja entusiastidele) oma Linuxi-kesksete rakenduste testimiseks Windowsis ilma muudatusteta. See ei ole ka vahend, mis on mõeldud Linuxi GUI rakenduste või keskkondade nagu Gnome või KDE käivitamiseks, kuigi see on ka teatud häkkidega võimalik. Olles selle välja selgitanud, vaatame, kuidas Linuxi kest töötab Windows 10-s.

Windowsi allsüsteem Linuxile (WSL)

Ametliku dokumentatsiooni kohaselt on „WSL komponentide kogum, mis võimaldab Linuxi ELF64 kohalikel binääridel töötada Windowsis”. See toimib, rakendades Windows NT kerneli peal virtualiseeritud Linuxi tuuma liidest. See tähendab, et ta ei kasuta ühtegi koodi tegelikust Linuxi kernelist - kui rakendus teeb Linuxispetsiifilise süsteemi kõne (syscall), tõlgib WSL selle samaväärse Windowsi süsteemile, mis seejärel teeb kõik rasket tõstmist.

Erinevused virtuaalsetest masinatest ja Cygwinist

Vaatame nüüd, kuidas Linux Bash Shell Windows 10-s on erinev võrreldes virtuaalsete masinate ja Cygwiniga.

Virtuaalsed masinad

Te võite mõelda: "Noh, miks seda kasutada? Miks mitte ainult kasutada Linuxi VM-i Windowsis? "

Võrreldes virtuaalse masinaga kasutab WSL vähem ressursse . Samuti võimaldab see töötada oma failidega, nagu oleksite Linuxis, andes samas täieliku juurdepääsu Windows-põhisele failisüsteemile, ilma et peaksite tuginema jagatud kaustadele või võrgus aktsiatele.

Cygwin

Teine populaarne meetod populaarsete Linux / Unix-tüüpi tööriistade käitamiseks Windowsis on Cygwin. Suurim erinevus nende kahe lähenemise vahel on see, et Cygwin ei ole viis Linuxi binääride käivitamiseks Windowsis. See pakub ainult komplekti GNU ja Open Source tööriistu, mis pakuvad funktsionaalsust, mis sarnaneb Linuxi Linuxi levitamisele.

Teisest küljest on WSL-i tööriistad Linuxis kasutatavad natiivsed Linuxi ELF-64 binaarfailid. Näiteks allalaaditakse apt-get install emacs käsk WSL-is ja installitakse samad failid nagu Ubuntu 14.04 installimisel ametlikest Ubuntu hoidlatest.

WSL-i kasutajad, load ja failisüsteemid

Failisüsteemi hierarhia

WSL on installitud praeguse kasutaja %LocalAppData%\lxss\rootfs kataloogi alla. Seda nimetatakse WSL-keskkonnaks ja see toimib Linuxi “root” kataloogina. Näiteks, kui teie kasutajanime Windowsis on beebom, asub Linuxi juurkataloog C:\Users\beebom\AppData\Local\lxss\rootfs. See tähendab, et igal Windowsi kasutajal võib olla oma WSL-i keskkond ja teha muudatusi, näiteks apt-get install tarkvarapakette, ilma et see mõjutaks teisi Windowsi kasutajaid.

WSL-is on võimalik juurde pääseda Windowsi failisüsteemile. Kõik draivid on paigaldatud alla /mnt. Näiteks C:\ on paigaldatud all /mnt/c, D:\ on paigaldatud all /mnt/d jne.

Kasutajad ja õigused

WSLi esmakordsel installimisel palutakse teil luua uus vaikimisi Linuxi kasutaja. See kasutaja ei pea omama sama nime kui praegune Windowsi kasutaja ja seda käsitletakse eraldi üksusena üldiselt. Võite luua isegi mitu Linuxi kasutajat, mida juhib üks Windowsi kasutaja.

Juurdepääsuõigusi on võimalik hankida sudo käsu abil. Pidage meeles, et WSL-i juurimine mõjutab ainult kasutaja õigusi Linuxi keskkonnas ja failisüsteemis - need ei mõjuta antud Windowsi õigusi. Näiteks võib Windowsi administraatori õigustega WSL-seanss cd /mnt/c/Users/Administrator samas kui administraatori õigusi omav Bash-seanss näeb luba keelatud. sudo cd /mnt/c/Users/Administrator kirjutamine ei anna juurdepääsu administraatori kataloogile, kuna Windows piirab õigusi.

Linuxispetsiifilised failisüsteemi funktsioonid

Linux on tõstutundlik süsteem. See tähendab, et photo.png ja Photo.png käsitletakse kahe erineva failina. Kuigi Windows ei ole vaikimisi tõstutundlik, on see siiski teadlik . See tähendab, et kuigi photo.png ja Photo.png ei käsitleta kahe erineva failina, on see kindlasti erinevusest erinev.

WSL haldab juhtumitundlikkust nagu Linuxis. On isegi võimalik luua kaks faili, mille nimi erineb ainult WSL-i keskkonnast. Pidage siiski meeles, et paljud Windowsi rakendused ei suuda selliseid olukordi lahendada ja ei pruugi avada ühte või mõlemat faili.

Sarnaselt toetatakse sümboolseid linke, kui kasutate NTFS-failisüsteemi. Kuid sümboolsed lingid töötavad ainult WSLi sees ja neid ei saa lahendada teiste Windowsi rakendustega.

Linux toetab ka peaaegu kõiki erimärke failinimede sees, samas kui Windows on piiravam. WSL lubab siiski kasutada selliseid erimärke, tingimusel et need on piiratud Linuxi süsteemiga.

Kas olete valmis Linuxi käsurea käivitamiseks Windowsis?

Niisiis töötab Ubuntu Bash või Linux Bash Shell, mida tuntakse ka Windowsi allsüsteemina Linuxile, operatsioonisüsteemiga Windows 10 (aastapäeva värskendusega). Koos selle tööga saime teada, kuidas see on erinev ja parem kui Linuxispetsiifiliste käskude Windowsis tavapärased töötamisviisid. Seega, kui olete alati tahtnud kasutada Linuxi käske, alustada ja kui teil on küsimusi, kommentaare või näpunäiteid, siis palun andke meile teada kommentaaride osas.

Top