Preporučeno, 2024

Izbor Urednika

Kako Linux Bash Shell radi na Windows 10

S izdanjem Anniversary Update za Windows 10, Microsoft je najavio Windows Subsystem for Linux (WSL) - način za pokretanje stvarnog, izvornog Basha na Windows 10, koji podržava izvršavanje izvornih binarnih Linuxa. To čini pokretanjem Ubuntu Linux slike na vrhu sustava Windows.

To znači da možete pokrenuti Linux alate naredbenog retka kao što su ls, grep, top i chmod . Budući da pokrećete izvorni Ubuntu ispod, pokretanje lsb-release -a dat će vam sljedeći izlaz:

Možete koristiti apt-get i prijatelje za instaliranje uslužnih programa kao što su vim, git, screen, tmux ili čak igrati igru nethack:

Imajte na umu, međutim, da je ovaj sustav u beta fazi i da nije namijenjen radnim opterećenjima poslužitelja. To je samo alat za programere (i entuzijaste) za testiranje svojih Linux-centric aplikacija na Windows bez izmjena. Ovo također nije alat namijenjen pokretanju Linux GUI aplikacija ili okruženja kao što su Gnome ili KDE, iako je to moguće i s određenim hakovima. Nakon što smo to razjasnili, pogledajmo kako Linux ljuska radi u sustavu Windows 10.

Windows podsustav za Linux (WSL)

Prema službenoj dokumentaciji, “WSL je skup komponenti koje omogućuju pokretanje izvornih izvršnih datoteka za Linux ELF64 na Windowsima”. To čini tako da implementira virtualizirano Linux kernel sučelje na vrhu kernela Windowsa NT. To jest, ne koristi nikakav kod iz stvarnog Linux kernela - kad god aplikacija napravi Linux-specifični sistemski poziv (syscall), WSL ga prevodi u ekvivalentni Windows syscall, koji tada obavlja sva teška dizanja.

Razlike u odnosu na virtualne strojeve i Cygwin

Pogledajmo sada kako je Linux Bash Shell na Windows 10 drugačiji u odnosu na virtualne strojeve i Cygwin.

Virtualni strojevi

Možda razmišljate: “Pa, zašto koristiti ovo? Zašto jednostavno ne koristite Linux VM u Windowsima? ”

U usporedbi s virtualnim strojem, WSL koristi manje resursa . Također vam omogućuje da radite s vašim datotekama kao što biste to radili na Linuxu, dok ćete imati potpuni pristup temeljnom Windows datotečnom sustavu bez potrebe za oslanjanjem na dijeljene mape ili mrežne dijelove.

Cygwin

Još jedna popularna metoda pokretanja popularnih alata sličnih Linux / Unixu u sustavu Windows je Cygwin. Najveća razlika između ova dva pristupa je da Cygwin nije način za pokretanje izvornih Linux binarnih datoteka na Windowsu. On nudi samo skup GNU i Open Source alata koji pružaju funkcionalnost sličnu Linux distribuciji u sustavu Windows.

S druge strane, WSL alati su izvorni Linux ELF-64 kompilirani binarni programi koji se izvode u sustavu Windows. Na primjer, pokretanje naredbe apt-get install emacs u WSL-u preuzet će i instalirati iste datoteke kao na Ubuntu 14.04 instalaciji, iz službenih skladišta Ubuntua.

Korisnici, dozvole i sustavi datoteka u WSL-u

Hijerarhija datotečnog sustava

WSL se instalira pod trenutnim korisnikovim %LocalAppData%\lxss\rootfs . Ovo je poznato kao WSL okruženje i djeluje kao Linux “ / ” (root) direktorij. Na primjer, ako je vaše korisničko ime na Windowsu beebom, korijenski direktorij Linuxa bit će smješten u C:\Users\beebom\AppData\Local\lxss\rootfs. To znači da svaki Windows korisnik može imati vlastito WSL okruženje i može vršiti promjene kao što su apt-get install softverski paketi, bez utjecaja na druge Windows korisnike.

Moguće je pristupiti Windows datotečnom sustavu u WSL-u. Svi pogoni su montirani pod /mnt. Na primjer, C:\ je montiran pod /mnt/c, D:\ je montiran pod /mnt/d, itd.

Korisnici i dozvole

Kada prvi put instalirate WSL, od vas će se tražiti da stvorite novog zadanog Linux korisnika. Ovaj korisnik ne mora imati isto ime kao trenutni Windows korisnik i općenito se tretira kao zasebna cjelina. Možete čak stvoriti više Linux korisnika, koje kontrolira jedan korisnik sustava Windows.

Moguće je dobiti root prava pomoću naredbe sudo . Imajte na umu da biti root u WSL-u utječe samo na korisnička prava unutar Linux okruženja i datotečnog sustava - oni nemaju utjecaja na odobrene Windows povlastice. Na primjer, WSL sesija s Windows administratorskim ovlastima može cd /mnt/c/Users/Administrator dok Bash sesija bez administratorskih povlastica vidjeti Dopuštenje odbijeno. Unosom sudo cd /mnt/c/Users/Administrator neće odobriti pristup administratorskom direktoriju jer su dozvole ograničene sustavom Windows.

Značajke datotečnog sustava specifične za Linux

Linux je sustav osjetljiv na velika i mala slova . To znači da se photo.png i Photo.png tretiraju kao dvije različite datoteke. Iako Windows prema zadanim postavkama nije osjetljiv na velika i mala slova, ipak je svjestan . Što znači da dok se photo.png i Photo.png ne tretiraju kao dvije različite datoteke, sigurno je svjestan razlike u slučaju.

WSL rukuje osjetljivošću slučaja baš kao i na Linuxu. Moguće je čak stvoriti dvije datoteke čije se ime razlikuje od slučaja do slučaja izvan WSL okruženja. Imajte na umu, međutim, da mnoge Windows aplikacije ne mogu postupati u takvim situacijama i možda neće moći otvoriti jednu ili obje datoteke.

Slično tome, podržane su i simboličke veze, pod uvjetom da koristite datotečni sustav NTFS. Međutim, simboličke veze će raditi samo unutar WSL-a i ne mogu ih riješiti druge Windows aplikacije.

Linux također podržava gotovo sve posebne znakove unutar naziva datoteka, dok je Windows restriktivniji. WSL, međutim, omogućuje korištenje takvih posebnih znakova, pod uvjetom da su ograničeni na okruženje Linux sustava.

Spremni za pokretanje Linux naredbenog retka u sustavu Windows?

Dakle, na taj način Ubuntu Bash ili Linux Bash Shell, također poznat kao Windows podsustav za Linux, radi na Windows 10 (s ažuriranjem obljetnice). Zajedno sa svojim radom, također smo naučili kako je drugačiji i bolji od tradicionalnih metoda pokretanja Linux specifičnih naredbi na Windowsu. Dakle, ako ste oduvijek željeli koristiti Linux naredbe, započnite i ako imate pitanja, komentare ili savjete, obavezno nas obavijestite u odjeljku komentara.

Top