[Explained] Hur man använder Linux-kommandon på Windows

By rik

Utvecklares dilemma: Windows eller Linux?

Som utvecklare ställs du ofta inför valet mellan Windows, med dess breda utbud av verktyg, spel och programvara, och Linux, som anses vara särskilt lämpligt för utvecklingsarbete. Om du bara har en dator, tvingas du att välja ett operativsystem.

Om du istället vill använda två operativsystem, finns det alternativ som dual-boot, vilket kan vara riskfyllt och komplicerat, eller virtuella maskiner, som kan medföra prestandaförluster. Lyckligtvis finns det en lösning som låter dig slippa välja – varför inte ha båda systemen samtidigt?

Windows erbjuder numera möjligheten att utnyttja kraften i både Linux och Windows på samma dator. Inifrån Windows kan du köra Linux-applikationer och kommandon. Just möjligheten att köra Linux-kommandon direkt i Windows förändrar spelplanen.

För det första får du det bästa från två världar på en och samma maskin, helt utan extra kostnad. Du kan dra nytta av all programvara som finns i Windows, dess snygga design och användarvänlighet, samtidigt som du får tillgång till Linux kommandorad. Detta ger dig möjligheten att automatisera uppgifter, jobba med olika open-source verktyg och komma åt dina Windows-filer och körbara filer direkt från ett bash-skal.

Dessutom kan du, genom att köra Linux-kommandon i Windows, enkelt installera och hantera din programvara med hjälp av Linux pakethanterare. Det gör det lättare att jobba med plattformsoberoende projekt och använda Linux-verktyg som SSH, grep, sed och awk.

Slutligen, genom att använda Linux-kommandon i Windows får Windows-användare en mjukare introduktion till Linux, vilket underlättar övergången till att använda Linux som operativsystem fullt ut, om det skulle bli nödvändigt. Verktyget som möjliggör detta är Windows Subsystem för Linux.

Windows Subsystem för Linux (WSL)

Windows Subsystem för Linux (WSL) är en funktion i Windows som först lanserades 2016. Med WSL kan du installera en fullständig Linux-distribution direkt i Windows och köra Linux filsystem, kommandoradsverktyg, grafiska applikationer och verktyg utan att behöva installera en virtuell maskin eller använda dual-boot för att växla mellan Linux och Windows.

För att använda WSL behöver du Windows 11 eller Windows 10 version 2004 eller senare, med build 19041 eller högre. WSL stöder både x64- och ARM-processorer.

WSL gör det möjligt att installera olika Linux-distributioner som Ubuntu, OpenSUSE, Kali, Debian, Fedora, Fedora remix och Arch Linux. Alla dessa distributioner kan laddas ner och installeras från Microsoft Store.

Med WSL får du en integrerad Linux-upplevelse i Windows där du kan anropa Linux-körbara filer från Windows, visa Linux-filer från Windows och tvärtom. Du kan även anropa Windows körbara filer och få tillgång till Windows-filer direkt från Linux Bash Shell.

Hur Windows Subsystem för Linux fungerar

Under ytan är WSL varken en emulator eller en virtualiserare. Istället fungerar WSL som ett kompatibilitetslager mellan Windows och Linux. Rent tekniskt låter WSL dig köra omodifierade ELF64 Linux-binärfiler och ger en integrerad användarupplevelse.

För att uppnå detta tillhandahåller WSL ett av Microsoft utvecklat Linux-kärngränssnitt, som ligger ovanpå Windows-kärnan. Denna Linux-kärna körs inuti Windows och är baserad på kärnteknologin i Hyper-V.

Hyper-V är en inbyggd hypervisor, en programvara som kan skapa och köra virtuella maskiner. Hyper-V tillhandahåller hårdvaruvirtualisering, vilket innebär att virtuella maskiner körs på virtuell hårdvara. WSL bygger på denna kärnteknologi, vilket ger förbättrad filsystemprestanda och bättre stöd för Linux-applikationer.

För att kunna köra omodifierade ELF64 Linux-binärfiler översätter WSL Linux-systemanrop från Linux-binärfilerna till Windows-systemanrop, vilket gör att de kan köras med nativ hastighet.

På Linux-kärngränssnittet som körs i Windows, och tillhandahålls av WSL, kan olika Linux-distributioner installeras. Dessa distributioner skapar en containerliknande miljö med alla beroenden och pakethanterare som behövs för att köra Linux-applikationer. Linux-applikationer körs sedan inuti dessa distributioner.

Varför använda Windows Subsystem för Linux?

Om du tidigare har använt en virtuell maskin för att köra Linux i Windows, kanske du undrar vad WSL kan erbjuda som inte en virtuell maskin kan. För det första använder WSL färre datorresurser än att köra en virtuell maskin.

WSL kräver betydligt mindre lagring och minne och har inte ett lika stort fotavtryck på CPU-användningen som en virtuell maskin. Med WSL kan du också komma åt dina Windows-filer från Linux, vilket gör att du kan använda Linux-kommandoradsverktyg på samma filer som du använder i dina Windows-applikationer.

En annan viktig fördel med WSL är hur enkelt det är att köra Linux. Virtualisering kan vara komplicerat, och WSL eliminerar detta. Dessutom är det enkelt att installera en mängd olika Linux-distributioner och även byta mellan dem.

För utvecklare ger WSL det bästa av två världar. Du kan köra Linux och få tillgång till alla unika programmeringsverktyg och open-source resurser som är utvecklade för Linux, samtidigt som du kan utnyttja alla funktioner i Windows.

Med WSL slipper du även kompatibilitetsproblem eftersom du använder verktyg som i vissa fall bara fungerar i Linux. Dessutom blir det snabbare och enklare att växla mellan de två operativsystemen utan krånglig installation eller extra dator.

Ett enkelt sätt att komma igång med Linux-kommandon är att installera Windows Subsystem for Linux på din dator.

Hur man installerar Windows Subsystem för Linux

1. Se till att din dator uppfyller kraven: en 64-bitars dator med Windows 11 eller Windows 10 version 2004 eller senare (Windows 10 version build 19041 eller högre). Kontrollera även att du har internetuppkoppling.

2. Öppna startmenyn, sök efter Powershell och välj ”Kör som administratör” för att öppna med administrativa rättigheter.

3. I PowerShell anger du följande kommando:

wsl --install

Kommandot kommer att aktivera alla funktioner som behövs för att köra WSL och utföra nödvändiga uppdateringar. Först kommer en virtuell maskinplattform att installeras och sedan kommer WSL att installeras. Ha tålamod då detta kan ta en stund.

4. När processen är klar kan du verifiera att WSL har installerats genom att köra ’wsl –install’ igen. Om en hjälpsida för WSL visas, har installationen lyckats.

5. Nästa steg är att installera en Linux-distribution som ska användas med WSL. För att visa alla tillgängliga distributioner, skriver du in följande kommando i PowerShell:

wsl --list --online

Du kommer då att få en lista över tillgängliga distributioner:

6. Från listan kan du installera valfri Linux-distribution genom att ange följande kommando:

wsl --install -d <distribution NAME>

För att till exempel installera Ubuntu 22.04 Long Term Support, kör följande kommando:

wsl --install -d Ubuntu-22.04

Vänta tills processen är klar. Du kommer sedan att se ett meddelande om att installationen har lyckats. Ett Ubuntu terminalfönster kommer även att öppnas:

Ange användarnamn och lösenord för att konfigurera din miljö. Kom ihåg att när du skriver ditt lösenord i Linux-terminalen, visas inga tecken på skärmen. Din inmatning registreras dock.

Ett alternativ till att installera en distribution från Powershell är att öppna Microsoft Store och söka efter WSL. Du kommer då att se alla tillgängliga distributioner. Klicka på ”Hämta” för att installera önskad distribution.

7. Efter att du angett användarnamn och lösenord kan du komma åt Ubuntu i Windows enligt nedan:

Nu kan du börja använda dina favorit Linux-kommandon.

Din installerade Linux-distribution kan du lätt hitta i startmenyn när du vill öppna den.

I Utforskaren ser du även en ny lagringsplats som heter ”Linux” där alla dina distributioner och Linux-filer lagras.

Windows Subsystem för Linux är ett utmärkt sätt att köra Linux-kommandon i Windows. Om du inte kan installera WSL på din dator, förmodligen för att den inte uppfyller kraven, finns det alternativa emulatorer som kan hjälpa dig att köra Linux-kommandon i Windows. Vi ska nu titta på två sådana alternativ.

Använd Linux-kommandon i Windows med Cygwin

Cygwin är en stor samling av GNU- och open-source verktyg som tillsammans ger funktionalitet som liknar en Linux-distribution i Windows.

Cygwin är en UNIX-emulator som tillhandahåller en UNIX-skalmiljö i Windows och ger dig tillgång till många verktyg från Linux-ekosystemet.

Som deras slogan antyder, syftar Cygwin till att ge en Linux-känsla i Windows. Dock låter Cygwin inte dig köra Linux-applikationer i Windows. Cygwin fungerar med alla x86_64-versioner av Windows, från och med Windows 7.

Så här installerar du Cygwin:

1. Gå till deras installationssida ladda ner filen ’setup-x86_64.exe’ och kör den.

2. Gå igenom de första stegen i installationsguiden genom att klicka på ”Nästa” för att behålla standardvalen. Detta kommer att behålla nedladdningskällan som internet, använda standard root- och paketkatalog och använda systemproxyinställningarna.

3. När du kommer till sidan för att välja en plats att ladda ner Cygwin-paket från, klicka på någon av de tillhandahållna länkarna och klicka på ”Nästa”.

4. När du väljer paketen som ska installeras, behåll standardvalen. Kontrollera under ”View” att ”Category” är valt och klicka sedan på ”Nästa”. Då kommer du till sidan för att granska och bekräfta ändringarna. Klicka på ”Nästa” för att påbörja installationen av Cygwin.

5. Vänta tills installationsprocessen är klar.

6. Klicka på ”Slutför” för att avsluta installationen. Du kan avmarkera rutorna om du inte vill skapa en Cygwin-ikon på skrivbordet eller i Start-menyn.

7. Du kan hitta Cygwins ikon i startmenyn eller på skrivbordet. Dubbelklicka för att starta Cygwin.

8. Cygwin öppnas med ett bash-skalfönster där du kan börja använda Linux-kommandon precis som om du befann dig på en Linux-maskin.

Använd Linux-kommandon i Windows med QEMU

QEMU är en generisk maskinemulator och virtualiserare med öppen källkod. QEMU används ofta som en systememulator, som tillhandahåller en virtuell modell av en annan maskin där du kan köra ett annat operativsystem än det du använder.

För att installera QEMU:

1. Gå till nedladdningssidan och ladda ner QEMU setup .exe-filen för 64-bitars datorer och kör den när nedladdningen är klar.

2. Du kommer att se installationsfönstret för QEMU-guiden. Klicka på ”Nästa” för att fortsätta. På de följande sidorna, godkänn licensavtalet, klicka på ”Nästa” för att installera de valda standardkomponenterna och välj din installationsplats eller lämna den förinställda ’Lokal Disk C’. För enkelhetens skull, ändra inte din installationsplats.

3. Vänta tills installationen är klar och klicka på ”Slutför”.

4. Nästa steg är att lägga till filsökvägen till där QEMU installerades till miljövariabeln. För att göra detta, gå till ”Den här datorn” -> ”Lokal disk C” -> ”Programfiler” -> ”qemu” enligt bilden:

5. Markera och kopiera filsökvägen till där QEMU är installerat på din dator.

6. Öppna Windows inställningar, klicka på ”System”, bläddra i den vänstra menyn och välj ”Om”. På sidan ”Om” klickar du på ”Avancerade systeminställningar” för att öppna fönstret ”Systemegenskaper”.

7. Klicka på ”Miljövariabler” i fönstret ”Systemegenskaper” under fliken ”Avancerat”.

8. På sidan ”Miljövariabler” dubbelklickar du på ”Sökväg” för att lägga till sökvägen där QEMU installerades.

9. Klicka på ”Ny” och klistra in sökvägen du kopierade och klicka på ”OK” för att lägga till den. Klicka på ”OK” i fönstren för ”Miljövariabler” och ”Systemegenskaper” för att spara ändringarna och stänga fönstren.

10. För att bekräfta att QEMU har installerats och att sökvägen har lagts till i miljövariablerna, öppnar du PowerShell och kör följande kommando:

qemu-img --help

Om båda processerna har lyckats, kommer du att se ett fönster som visar versionen av qemu-img som är installerad och dess hjälpsida.

11. För att börja emulera ett Linux-operativsystem, behöver du ladda ner .iso-avbildningen av den Linux-distribution du vill emulera med QEMU. Navigera sedan från Powershell till lagringsplatsen för .iso-filen och kör följande kommando:

qemu-system-x86_64.exe -boot d -cdrom <linux_distro_name> -m <RAM_TO_ALLOCATE>

För att emulera Ubuntu 22.04.3 från en iso-fil jag har laddat ner, skulle jag navigera till platsen där .iso-filen finns och köra följande:

qemu-system-x86_64.exe -boot d -cdrom ubuntu-22.04.3-desktop-amd64.iso -m 2048

Detta öppnar ett bash-skalfönster där du kan börja använda Linux-kommandon.

Slutsats

När du använder Linux i Windows är det viktigt att komma ihåg att även om du kan komma åt Windows-filer från Linux och vice versa, kan filsökvägar behöva justeras.

Vissa operativsystemsspecifika kommandon kanske inte fungerar som förväntat, filrättigheter hanteras annorlunda mellan de två systemen och du måste hantera resursallokeringen för de två systemen för att säkerställa att båda har tillräckligt för att fungera sömlöst. Se även till att alltid säkerhetskopiera viktiga filer om något går fel.

Du kan även utforska möjligheterna med WSL2, dess installationsprocess och hur du använder den effektivt.