Hostwinds Tutorials

Zoekresultaten voor:


Inhoudsopgave


Aan de slag met WSL
WSL- en Windows -bestandssystemen
WSL en Windows DU -opdracht
Linux- en Windows -opdrachten mixen

Hoe Windows Subsystem te gebruiken voor Linux (WSL)

Trefwoorden: Cloud Servers,  Dedicated Server 

Aan de slag met WSL
WSL- en Windows -bestandssystemen
WSL en Windows DU -opdracht
Linux- en Windows -opdrachten mixen

Het Windows -subsysteem voor Linux (WSL) maakt het mogelijk om Linux binaire uitvoerbare bestanden native op Windows 10 en hoger, evenals Windows Server 2019 en hoger te gebruiken.WSL gebruikt een echte Linux-kernel via een subset van hyper-V-functies.Zie om WSL te installeren voor Windows, zie Windows -subsysteem voor Linux: hoe u WSL installeert en configureren.

In deze zelfstudie beginnen we met een aantal eenvoudige voorbeelden en culmineren met het gebruik van Linux-, PowerShell- en DOS -opdrachten (cmd.exe).

Aan de slag met WSL

Open om uw geïnstalleerde Linux -distributie als volgt te starten:

Stap 1: Selecteer de Begin Menu en selecteer vervolgens de Linux -distributie die u hebt geïnstalleerd - voor dit voorbeeld hebben we Ubuntu geïnstalleerd.

U moet nu bij de Linux -opdrachtprompt zijn voor uw distributie:

Een ding om onmiddellijk op te merken is het aantal loopprocessen - 12 in dit geval.Dit benadrukt het feit dat, wat Linux betreft, het op zijn eigen "machine" draait.Windows heeft in dit geval eigenlijk 236 processen (inclusief WSL):

Dit voorbeeld benadrukt het feit dat u PowerShell -opdrachten uit de WSL Linux -omgeving kunt uitvoeren.Let in het bovenstaande op de citaten rond het PowerShell -opdracht (niet alle WSL PowerShell -opdrachten vereisen citaten, zoals in PowerShell.exe Get-Process).Dit virtuele machinegedrag kan ook worden gezien door de Linux uit te voeren top opdracht:

Op regel vier van het bovenstaande zien we dat er 11911,9 MIB (of Legacy MB) van "fysiek" geheugen is.Om het feitelijke fysieke geheugen van het systeem te bepalen, kunt u de volgende Windows -opdrachten uitvoeren vanuit WSL:

systeminfo.exe | finstr.exe

Dit laat zien dat er eigenlijk 15.289 MB fysiek geheugen is:

Met andere woorden, een deel van het fysieke geheugen van Windows is toegewezen aan de Linux -virtuele machine.

Vervolgens zullen we de WSL Linux- en Windows -bestanden -systemen onderzoeken en hoe ze aan elkaar worden blootgesteld.

WSL- en Windows -bestandssystemen

Voer vanuit de WSL de volgende opdrachten uit:

cd /
ls -lah

Bijvoorbeeld:

Dit is een typische Linux -hoofdmaplijst.Als we echter binnen de mnt Directory, we kunnen zien hoe het Windows -bestandssysteem wordt blootgesteld via WSL (Note Commands):

In het bovenstaande zien we standaard Windows -mappen zoals programmabestanden, gebruikers, Windows, enz.

Nu, aan de Windows -kant van dingen, hebben we als volgt toegang tot het WSL -bestandssysteem:

1. Open Windows Explorer en typ in de adresbalk het netwerkaandrijving \\ wsl $, zoals getoond:

Merk op dat de bovenstaande afbeelding impliceert dat u meerdere Linux -distributies tegelijkertijd kunt installeren, wat inderdaad het geval is.

2. Dubbelklik op de Linux-distributie die u hebt geïnstalleerd (ubuntu in dit voorbeeld).Dit biedt toegang tot het WSL -bestandssysteem:

WSL en Windows DU -opdracht

Laten we vervolgens een Linux -opdracht onderzoeken die Windows echt zou moeten hebben - de DU -opdracht.In Windows kan het een uitdaging zijn om zowel bestanden als mappen op grootte te sorteren.Voor Linux is deze taak relatief eenvoudig:

du -aSh 2>&1 | sort -n -r | head -n 5

Een voorbeeld volgt:

Voor het bovenstaande:

  • Du -ASH 2> & 1 Retourneert informatie/directory -formaatinformatie, negeer eventuele toestemmingsfouten.
  • sort -n -r Sorteert de bestand/directory -lijst op grootte, van het kleinst naar de grootste.
  • Hoofd -n 5 Retourneert de top 5 grootste bestanden/mappen.

Zou het nu niet leuk zijn als Windows dit zou kunnen doen?Nou, dankzij WSL kan het nu.Voer vanuit een verhoogde Windows -opdrachtprompt (cmd.exe) het volgende uit:

wsl du -aSh 2>&1 | wsl sort -n -r | wsl head -n 5

Dit resulteert in output vergelijkbaar met:

Merk op WSL Voorafgaand aan elke Linux -opdracht.Dit is vereist om Windows te laten weten dat we een Linux -opdracht uitvoeren (vanuit uw geïnstalleerde distributie) en geen misvormde Windows -opdracht.

Laten we vervolgens iets dieper ingaan op het combineren van Linux-, PowerShell- en DOS (CMD.EXE) -opdrachten.

Linux- en Windows -opdrachten mixen

Hier is een voorbeeld van het mixen van opdrachten bij de WSL Linux -opdrachtprompt.Dit combineert Linux, PowerShell en Dos:

powershell.exe Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | awk '{print $2}'

We runnen eerst de Get-ChildItem PowerShell -commando en leid dat vervolgens in de DOS Findstr commando, en uiteindelijk in de linux awk opdracht.Om de opdrachtstroom beter te begrijpen, beginnen we met vertegenwoordiger Get-ChildItem Uitvoer:

We gebruiken vervolgens de Findstr DOS -opdracht om de uitvoer met "Karlito" te selecteren:


Ten slotte selecteren we de tweede kolom met behulp van de Linux awk opdracht:

Vervolgens voeren we een soortgelijk opdracht uit van de PowerShell -opdrachtprompt, zoals getoond:

Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | wsl awk '{ print \$6 }'

Nogmaals, we zullen deze stap voor stap bekijken, beginnend met representatieve uitvoer van Get-ChildItem:

Vervolgens vinden we de bestanden/mappen met "Karlito:

Let op de zes bovenstaande kolommen (de PM/AM -gegevens worden beschouwd als een kolom).Daarom moeten we de awk commando als volgt:

Observeer de \ karakter voor de $6 in de awk opdracht.Omdat de $ karakter heeft een speciale betekenis in PowerShell, dus we moeten ontsnappen \, zoals getoond.

Het laatste voorbeeld voert dezelfde opdracht uit, maar van de Windows -opdrachtprompt (cmd.exe):

Let op het gebruik van powershell.exe om het PowerShell -opdracht uit te voeren en WSL om de opdracht Linux uit te voeren.

Concluderend, door WSL te gebruiken om een Linux -verdeling aan Windows te koppelen, breidt u de stroom en mogelijkheden van Windows uit en heeft u een handige Linux -shell binnen handbereik.En hopelijk zal de informatie die in deze zelfstudie wordt gepresenteerd uw command Savvy en efficiëntie verbeteren.

Geschreven door Karlito Bonnevie  /  juni- 17, 2022