Med utgivelsen av jubileumsoppdateringen for Windows 10 kunngjorde Microsoft at Windows Subsystem for Linux (WSL) - en måte å kjøre ekte, native Bash på Windows 10, som støtter kjøring av native Linux-binærfiler. Det gjør dette ved å kjøre et brukermodus Ubuntu Linux-bilde på toppen av Windows.
Dette betyr at du kan kjøre Linux kommandolinjeverktøy som ls
, grep
, topp
og chmod
. Siden du kjører ekte Ubuntu under, kjører lsb-frigjøring -a
vil gi deg følgende utdata:
Du kan bruke apt-get
og venner for å installere verktøy som vim
, git
, skjerm
, tmux
, eller til og med spille en omgang nethack:
Husk imidlertid at dette systemet er i beta og ikke beregnet på serverbelastninger. Det er bare et verktøy for utviklere (og entusiaster) for å teste ut sine Linux-sentriske applikasjoner på Windows uten endringer. Dette er heller ikke et verktøy ment å kjøre Linux GUI-applikasjoner eller miljøer som Gnome eller KDE, selv om det også er mulig med visse hacks. Etter å ha fjernet det, la oss ta en titt på hvordan Linux-skallet fungerer i Windows 10.
Windows Subsystem for Linux (WSL)
I følge den offisielle dokumentasjonen er “WSL en samling av komponenter som gjør det mulig for innfødte Linux ELF64-binærfiler å kjøre på Windows”. Det gjør det ved å implementere et virtualisert Linux-kjernegrensesnitt på toppen av Windows NT-kjernen. Det vil si at den ikke bruker noen kode fra selve Linux-kjernen - når et program foretar et Linux-spesifikt systemanrop (syscall), oversetter WSL det til tilsvarende Windows-syscall, som deretter gjør alt tungt løft.
Forskjeller fra virtuelle maskiner og Cygwin
La oss nå se på hvordan Linux Bash Shell på Windows 10 er forskjellig i forhold til virtuelle maskiner og Cygwin.
Virtuelle maskiner
Du tenker kanskje, “Vel, hvorfor bruke dette? Hvorfor ikke bare bruke en Linux-VM i Windows? ”
Sammenlignet med en virtuell maskin, WSL bruker færre ressurser. Det lar deg også jobbe med filene dine som på Linux, samtidig som du gir deg full tilgang til det underliggende Windows-filsystemet uten å måtte stole på delte mapper eller nettverksaksjer..
Cygwin
En annen populær metode for å kjøre populære Linux / Unix-lignende verktøy på Windows er Cygwin. Den største forskjellen mellom de to tilnærmingene er at Cygwin er ikke en måte å kjøre native Linux-binærfiler på på Windows. Det gir bare et sett med GNU- og Open Source-verktøy som gir funksjonalitet lignende til en Linux-distribusjon på Windows.
På den andre siden, WSL-verktøy er innfødt Linux ELF-64 samlet binære filer som kjører på Windows. For eksempel å kjøre en apt-get installer emacs
kommandoen i WSL vil laste ned og installere de samme filene som på en Ubuntu 14.04-installasjon, fra de offisielle Ubuntu-repositoriene.
Brukere, tillatelser og filsystemer i WSL
Filsystemhierarki
WSL er installert under gjeldende bruker % LocalAppData% \ lxss \ rootfs
katalog. Dette er kjent som WSL-miljø og fungerer som Linux “/
"(rotkatalogen. For eksempel hvis brukernavnet ditt på Windows er beebom
, Linux-rotkatalogen ligger i C: \ Users \ beebom \ AppData \ Local \ lxss \ rootfs.
Dette betyr at hver Windows-bruker kan ha sitt eget WSL-miljø, og kan gjøre endringer som apt-get install
programvarepakker, uten å påvirke andre Windows-brukere.
Det er mulig å få tilgang til det underliggende Windows-filsystemet i WSL. Alle stasjoner er montert under / mnt.
For eksempel, C: \
er montert under / mnt / c
, D: \
er montert under / mnt / d
, etc.
Brukere og tillatelser
Når du først installerer WSL, blir du bedt om å opprette en ny standard Linux-bruker. Denne brukeren trenger ikke ha samme navn som den nåværende Windows-brukeren, og behandles som en separat enhet generelt. Du kan til og med opprette flere Linux-brukere, kontrollert av en enkelt Windows-bruker.
Det er mulig å få tak i rot
privilegier ved hjelp av sudo
kommando. Husk at det å være rot
i WSL påvirker bare brukerens rettigheter i Linux-miljøet og filsystemet - de har ingen innvirkning på de tildelte Windows-rettighetene. For eksempel kan en WSL-økt med Windows-administratorrettigheter cd / mnt / c / Brukere / administrator
mens en Bash-økt uten administratorrettigheter vil se Tillatelse nektet. Skrive sudo cd / mnt / c / brukere / administrator
vil ikke gi tilgang til administratorens katalog siden tillatelsene er begrenset av Windows.
Linux-spesifikke filsystemfunksjoner
Linux er en store og små bokstaver system. Det betyr det photo.png
og Photo.png
behandles som to forskjellige filer. Mens Windows ikke er tilfelle følsom som standard er det fortsatt tilfelle klar over. Noe som betyr at mens photo.png
og Photo.png
behandles ikke som to forskjellige filer, det er det absolutt klar over av forskjellen i saken.
WSL håndterer saksfølsomhet akkurat som på Linux. Det er til og med mulig å lage to filer hvis navn bare skiller seg fra sak til sak utenfor WSL-miljøet. Vær imidlertid oppmerksom på at mange Windows-applikasjoner ikke kan håndtere slike situasjoner og kanskje ikke kan åpne en eller begge filene.
på samme måte, symbolske lenker støttes, forutsatt at du kjører et NTFS-filsystem. Imidlertid fungerer symbolske lenker bare inne i WSL og kan ikke løses av andre Windows-applikasjoner.
Linux støtter også nesten alle spesielle karakterer inne i filnavn, mens Windows er mer restriktivt. WSL tillater imidlertid bruk av slike spesialtegn, forutsatt at de er begrenset til Linux-systemets miljø.
SE OGSÅ: Slik synkroniserer du OneDrive-kontoen din på en Linux-datamaskin
Klar til å kjøre Linux Command Line på Windows?
Så det er slik Ubuntu Bash eller Linux Bash Shell, også kjent som Windows Subsystem for Linux, fungerer på Windows 10 (med jubileumsoppdateringen). Sammen med arbeidet, lærte vi også hvordan det er annerledes og bedre enn de tradisjonelle metodene for å kjøre Linux-spesifikke kommandoer på Windows. Så hvis du alltid har ønsket å bruke Linux-kommandoer, kom i gang, og hvis du har spørsmål, kommentarer eller tips, sørg for å gi oss beskjed i kommentarfeltet.