Hostwinds Tutorial
Cerca risultati per:
Sommario
Tag: Cloud Servers, Dedicated Server
Il sottosistema di Windows per Linux (WSL) consente l'esecuzione di eseguibili binari Linux in modo nativo su Windows 10 e superiore, nonché Windows Server 2019 e superiore.WSL utilizza un vero kernel Linux attraverso un sottoinsieme di funzionalità Hyper-V.Per imparare a installare WSL per Windows, vedi Sottosistema di Windows per Linux: come installare e configurare WSL.
In questo tutorial, inizieremo con alcuni esempi semplici e culmineremo con i comandi Linux, PowerShell e DOS (CMD.EXE) insieme.
Per iniziare, apri la distribuzione Linux installata come segue:
Passo 1: Seleziona il Inizio Menu, quindi selezionare la distribuzione Linux installata, per questo esempio abbiamo installato Ubuntu.
Dovresti ora essere al prompt dei comandi Linux per la tua distribuzione:
Una cosa da notare immediatamente è il numero di processi in esecuzione - 12 in questo caso.Ciò evidenzia il fatto che, per quanto riguarda Linux, è in esecuzione per la propria "macchina".Windows, in questo caso, in realtà esegue 236 processi (incluso WSL):
Questo esempio evidenzia il fatto che è possibile eseguire comandi PowerShell dall'ambiente WSL Linux.In quanto sopra, nota le citazioni intorno al comando PowerShell (non tutti i comandi WSL Powershell richiedono citazioni, come in PowerShell.exe Get-Process).Questo comportamento della macchina virtuale può anche essere visto eseguendo Linux superiore comando:
Sulla riga quattro di quanto sopra, vediamo che c'è 11911,9 MIB (o MB legacy) di memoria "fisica".Per determinare la memoria fisica effettiva del sistema, è possibile eseguire i seguenti comandi di Windows all'interno di WSL:
systeminfo.exe | finstr.exe
Ciò dimostra che in realtà ci sono 15.289 MB di memoria fisica:
In altre parole, una certa percentuale della memoria fisica di Windows è stata assegnata alla macchina virtuale Linux.
Successivamente, esamineremo i sistemi WSL Linux e Windows e come vengono esposti tra loro.
Dal WSL, eseguire i seguenti comandi:
cd /
ls -lah
Per esempio:
Questo è un tipico elenco di directory di radice Linux.Tuttavia, se guardiamo all'interno del mnt Directory, possiamo vedere come il file system di Windows è esposto tramite WSL (comandi Note):
In quanto sopra, vediamo cartelle di Windows standard come file di programma, utenti, Windows, ecc.
Ora, sul lato di Windows, possiamo accedere al file system WSL come segue:
1. Apri Windows Explorer e nella barra degli indirizzi, digita l'unità di rete \\ WSL $, come mostrato:
Si noti che l'immagine sopra implica che è possibile avere più distribuzioni Linux installate contemporaneamente, il che è davvero il caso.
2. Fare doppio clic sulla distribuzione Linux installata (Ubuntu in questo esempio).Ciò fornisce l'accesso al file system WSL:
Successivamente, esaminiamo un comando Linux che Windows dovrebbe davvero avere: il comando DU.In Windows, può essere difficile ordinare sia file e directory per dimensioni.Per Linux, questo compito è relativamente semplice:
du -aSh 2>&1 | sort -n -r | head -n 5
Segue un esempio:
Per quanto sopra:
Ora non sarebbe bello se Windows potesse farlo?Bene, grazie a WSL, ora può.Da un prompt dei comandi Windows elevato (cmd.exe), esegui quanto segue:
wsl du -aSh 2>&1 | wsl sort -n -r | wsl head -n 5
Ciò si traduce in output simile a:
Notare la WSL precedente ogni comando Linux.Questo è necessario per far sapere a Windows che stiamo eseguendo un comando Linux (dalla distribuzione installata) e non un comando Windows malformato.
Successivamente, scaviamo un po 'più in profondità rispetto alla combinazione di comandi Linux, PowerShell e DOS (CMD.EXE).
Ecco un esempio di comandi di miscelazione nel prompt dei comandi WSL Linux.Questo combina Linux, PowerShell e Dos:
powershell.exe Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | awk '{print $2}'
Prima gestiamo il Get-childitem Comando PowerShell, quindi tu pipì nel dos Findstr comanda e infine pipiscilo nel Linux awk comando.Per comprendere meglio il flusso di comando, inizieremo con il rappresentante Get-childitem produzione:
Quindi usiamo il Findstr Comando dos per selezionare l'output contenente "karlito":
Infine, selezioniamo la seconda colonna usando il Linux awk comando:
Successivamente, eseguiremo un comando simile dal prompt dei comandi PowerShell, come mostrato:
Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | wsl awk '{ print \$6 }'
Ancora una volta, guarderemo questo passo per passo, a partire dall'output rappresentativo di Get-childitem:
Successivamente troviamo i file/le directory contenenti "Karlito:
Nota le sei colonne sopra (i dati PM/AM sono considerati una colonna).Per questo motivo, dobbiamo cambiare il awk comando come segue:
Osservare il \ carattere prima del $6 nel awk comando.Perché il $ Il personaggio ha un significato speciale in PowerShell, quindi dobbiamo scappare usando \, come mostrato.
L'ultimo esempio esegue lo stesso comando ma dal prompt dei comandi di Windows (cmd.exe):
Notare l'uso di powershell.exe per eseguire il comando PowerShell e WSL Per eseguire il comando Linux.
Per concludere, utilizzando WSL per collegare una distribuzione Linux a Windows, si estende la potenza e le capacità di Windows e con una pratica shell Linux a portata di mano.E, si spera, le informazioni presentate in questo tutorial miglioreranno il tuo esperto di comando ed efficienza.
Scritto da Karlito Bonnevie / giugno 17, 2022