Odporúčaná, 2024

Redakcia Choice

Ako Linux Bash Shell funguje na Windows 10

S vydaním výročnej aktualizácie pre systém Windows 10 spoločnosť Microsoft oznámila systém Windows Subsystem for Linux (WSL) - spôsob spustenia reálneho pôvodného systému Bash na systéme Windows 10, ktorý podporuje vykonávanie natívnych linuxových bináriek. Robí to tým, že na vrchole systému Windows beží Ubuntu Linux v užívateľskom režime.

To znamená, že môžete používať nástroje príkazového riadku Linux, ako napríklad ls, grep, top a chmod . Pretože používate skutočné Ubuntu na spodku, spúšťanie lsb-release -a vám poskytne nasledujúci výstup:

apt-get a priateľov môžete použiť na inštaláciu nástrojov, ako je vim, git, screen, tmux alebo dokonca hrať hru nethack:

Majte však na pamäti, že tento systém je vo verzii beta a nie je určený na pracovné záťaže servera. Je to len nástroj pre vývojárov (a nadšencov), aby vyskúšali svoje Linux-centric aplikácie na Windows bez úprav. Toto tiež nie je nástroj určený na spustenie aplikácií alebo prostredí GUI Linuxu, ako je Gnome alebo KDE, hoci to je možné aj s určitými hackami. Po vyriešení tohto problému sa pozrime na to, ako operačný systém Linux funguje v systéme Windows 10.

Podsystém Windows pre systém Linux (WSL)

Podľa oficiálnej dokumentácie je "WSL kolekcia komponentov, ktoré umožňujú spustenie Windows na binárnych súboroch Linux ELF64". Robí to tým, že implementuje virtualizované rozhranie linuxového jadra na vrchole jadra systému Windows NT. To znamená, že z aktuálneho jadra Linuxu nepoužíva žiadny kód - vždy, keď aplikácia robí systémové volanie špecifické pre systém Linux (syscall), WSL ju prekladá na ekvivalentný systém Windows, ktorý potom vykonáva všetky ťažké práce.

Rozdiely medzi virtuálnymi počítačmi a Cygwin

Teraz poďme sa pozrieť na to, ako sa Linux Bash Shell na Windows 10 líši od virtuálnych počítačov a Cygwin.

Virtuálne stroje

Možno si myslíte, "No, prečo to používať? Prečo nie len používať Linux VM v systéme Windows? "

V porovnaní s virtuálnym zariadením používa WSL menej zdrojov . Tiež vám umožňuje pracovať so svojimi súbormi ako v prípade Linuxu, pričom vám poskytne úplný prístup k základnému systému Windows bez toho, aby ste museli spoliehať na zdieľané priečinky alebo sieťové zdieľania.

Cygwin

Ďalšou populárnou metódou používania populárnych nástrojov Linux / Unix v systéme Windows je Cygwin. Najväčší rozdiel medzi týmito dvoma prístupmi spočíva v tom, že program Cygwin nie je spôsob spustenia natívnych linuxových binárnych súborov na Windows. Poskytuje iba súpravu nástrojov GNU a Open Source, ktoré poskytujú funkcie podobné distribúcii Linuxu v systéme Windows.

Na druhej strane nástroje WSL sú nainštalované binárne súbory Linux ELF-64 nainštalované v systéme Windows. Napríklad spustenie príkazu apt-get install emacs vo WSL stiahne a nainštaluje rovnaké súbory ako v inštalácii Ubuntu 14.04 z oficiálnych repozitárov Ubuntu.

Používatelia, oprávnenia a súborové systémy vo WSL

Hierarchia súborových systémov

WSL je nainštalovaný pod %LocalAppData%\lxss\rootfs aktuálneho používateľa. Toto je známe ako prostredie WSL a funguje ako adresár Linux " / " (root). Napríklad, ak je vaše používateľské meno v systéme Windows beebom, koreňový adresár systému Linux sa nachádza v adresári C:\Users\beebom\AppData\Local\lxss\rootfs. To znamená, že každý používateľ systému Windows môže mať svoje vlastné prostredie WSL a môže robiť zmeny, ako napríklad apt-get install softvérové ​​balíky, bez ovplyvnenia ostatných používateľov systému Windows.

Prístup k základnému súborovému systému Windows v systéme WSL je možný. Všetky jednotky sú namontované pod /mnt. Napríklad C:\ je pripojený pod /mnt/c, D:\ je umiestnený pod /mnt/d atď.

Používatelia a povolenia

Keď prvýkrát nainštalujete WSL, zobrazí sa výzva na vytvorenie nového predvoleného používateľa systému Linux. Tento používateľ nemusí mať rovnaký názov ako používateľ v súčasnosti používaný v systéme Windows a považuje sa za samostatnú entitu vo všeobecnosti. Môžete dokonca vytvoriť viacerých používateľov Linuxov, ovládaných jediným používateľom systému Windows.

Je možné získať práva root pomocou príkazu sudo . Majte na pamäti, že root vo WSL má len vplyv na práva používateľa v prostredí Linuxu a súborovom systéme - nemá vplyv na udelené privilégiá systému Windows. Napríklad relácia WSL s privilégiami administrátora systému Windows môže obsahovať cd /mnt/c/Users/Administrator zatiaľ čo relácia Bash bez administrátorských oprávnení by mohla vidieť oprávnenie odmietnuté. Zadanie sudo cd /mnt/c/Users/Administrator neudelí prístup do adresára správcu, pretože povolenia sú obmedzené systémom Windows.

Vlastnosti súborového systému špecifické pre systém Linux

Linux je systém citlivý na veľké a malé písmená . To znamená, že photo.png a Photo.png sa považujú za dva rôzne súbory. Zatiaľ čo v systéme Windows nie je predvolene rozlíšenie veľkých a malých písmen, stále to vedie k prípadu Znamená to, že zatiaľ čo photo.png a Photo.png nie sú považované za dva odlišné súbory, je určite si vedomý rozdielu v prípade.

WSL spracováva citlivosť na veľké a malé písmená rovnako ako na Linuxe. Dokonca je možné vytvoriť dva súbory, ktorých názov sa líši len prípadom mimo prostredia WSL. Majte však na pamäti, že mnohé aplikácie systému Windows nemôžu zvládnuť takéto situácie a nemusí otvoriť jeden alebo oba súbory.

Podobne sú podporované aj symbolické odkazy za predpokladu, že používate súborový systém NTFS. Symbolické prepojenia však budú fungovať len vo vnútri WSL a nemôžu byť vyriešené inými aplikáciami Windows.

Linux tiež podporuje takmer všetky špeciálne znaky vnútri názvov súborov, zatiaľ čo systém Windows je reštriktívnejší. WSL však umožňuje používanie takýchto špeciálnych znakov za predpokladu, že sú obmedzené na prostredie systému Linux.

Pripravený na spustenie linuxového príkazového riadka v systéme Windows?

Takže tak funguje Ubuntu Bash alebo Linux Bash Shell, tiež známy pod názvom Windows Subsystem for Linux na Windows 10 (s aktualizáciou Anniversary). Spolu s jeho prácou sme sa tiež dozvedeli, ako je to iné a lepšie ako tradičné metódy spustenia príkazov špecifických pre systém Linux v systéme Windows. Takže ak ste vždy chceli používať Linuxové príkazy, začnite a ak máte otázky, pripomienky alebo tipy, dajte nám vedieť v sekcii komentárov.

Top