Hostwinds Tutorial

Cerca risultati per:


Sommario


Iniziare con WSL
File system WSL e Windows
Comando WSL e Windows Du
Mescolando i comandi Linux e Windows

Come utilizzare il sottosistema Windows per Linux (WSL)

Tag: Cloud Servers,  Dedicated Server 

Iniziare con WSL
File system WSL e Windows
Comando WSL e Windows Du
Mescolando i comandi Linux e Windows

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 Come eseguire nativamente Linux su Windows 10 e superiore.

In questo tutorial, inizieremo con alcuni esempi semplici e culmineremo con i comandi Linux, PowerShell e DOS (CMD.EXE) insieme.

Iniziare con WSL

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.

File system WSL e Windows

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:

Comando WSL e Windows Du

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:

  • Du -ash 2> & 1 Restituisce le informazioni sulla dimensione del file/directory, ignora eventuali errori di autorizzazione.
  • sort -n -r Ordina l'elenco del file/directory per dimensione, dalla più piccola al più grande.
  • testa -n 5 Restituisce i primi 5 file/directory più grandi.

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).

Mescolando i comandi Linux e Windows

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