Comandi di base per WSL

I comandi di WSL di seguito sono elencati in un formato supportato da PowerShell o dal prompt dei comandi di Windows. Per eseguire questi comandi da una riga di comando di distribuzione Bash/Linux, è necessario sostituire wsl con wsl.exe. Per un elenco completo dei comandi, eseguire wsl --help. Se non è ancora stato fatto, è consigliabile eseguire l'aggiornamento alla versione di WSL installata da Microsoft Store per ricevere gli aggiornamenti WSL non appena sono disponibili. Altre informazioni sull'installazione di WSL tramite Microsoft Store.

Installazione

wsl --install

Installare WSL e la distribuzione Ubuntu predefinita di Linux. Ulteriori informazioni. È anche possibile usare questo comando per installare distribuzioni di Linux aggiuntive eseguendo wsl --install <Distribution Name>. Per un elenco valido dei nomi di distribuzione, eseguire wsl --list --online.

Le opzioni includono:

  • --distribution: specificare la distribuzione di Linux da installare. È possibile trovare le distribuzioni disponibili eseguendo wsl --list --online.
  • --no-launch: installare la distribuzione di Linux, ma non avviarla automaticamente.
  • --web-download: eseguire l'installazione da un'origine online anziché usare Microsoft Store.

Quando WSL non è installato, le opzioni includono:

  • --inbox: installa WSL usando il componente Windows anziché Microsoft Store. Gli aggiornamenti di WSL verranno ricevuti tramite gli aggiornamenti di Windows, anziché essere inviati tramite push quando disponibili tramite lo Store.
  • --enable-wsl1: abilita WSL 1 durante l'installazione della versione di Microsoft Store di WSL abilitando anche il componente facoltativo "sottosistema Windows per Linux".
  • --no-distribution: non installare una distribuzione durante l'installazione di WSL.

Nota

Se si esegue WSL in Windows 10 o versione precedente, potrebbe essere necessario includere il -d flag con il --install comando per specificare una distribuzione: wsl --install -d <distribution name>.

Elencare le distribuzioni di Linux disponibili

wsl --list --online

Vedere un elenco delle distribuzioni di Linux disponibili tramite lo Store online. Questo comando può essere immesso anche come: wsl -l -o.

Elencare le distribuzioni di Linux installate

wsl --list --verbose

Vedere un elenco delle distribuzioni di Linux installate nel computer Windows, incluso lo stato (se la distribuzione è in esecuzione o arrestata) e la versione di WSL che esegue la distribuzione (WSL 1 o WSL 2). Confronto tra WSL 1 e WSL 2. Questo comando può essere immesso anche come: wsl -l -v. Le opzioni aggiuntive che è possibile usare con il comando list includono: --all per elencare tutte le distribuzioni, --running per elencare solo le distribuzioni attualmente in esecuzione o --quiet per visualizzare solo i nomi delle distribuzioni.

Impostare la versione di WSL su 1 o 2

wsl --set-version <distribution name> <versionNumber>

Per specificare la versione di WSL (1 o 2) in cui è in esecuzione una distribuzione di Linux, sostituire <distribution name> con il nome della distribuzione e sostituire <versionNumber> con 1 o 2. Confronto tra WSL 1 e WSL 2. WSL 2 è disponibile solo in Windows 11 o Windows 10, versione 1903, build 18362 o successive.

Avviso

Il passaggio tra WSL 1 e WSL 2 può richiedere molto tempo e causare errori a causa delle differenze tra le due architetture. Per le distribuzioni con progetti di grandi dimensioni, è consigliabile eseguire il backup dei file prima di tentare una conversione.

Impostare la versione predefinita di WSL

wsl --set-default-version <Version>

Per impostare una versione predefinita di WSL 1 o WSL 2, sostituire <Version> con il numero 1 o 2. Ad esempio, wsl --set-default-version 2. Il numero rappresenta la versione di WSL per impostazione predefinita per le nuove installazioni di distribuzione Linux. Confronto tra WSL 1 e WSL 2. WSL 2 è disponibile solo in Windows 11 o Windows 10, versione 1903, build 18362 o successive.

Impostare la distribuzione predefinita di Linux

wsl --set-default <Distribution Name>

Per impostare la distribuzione di Linux predefinita che i comandi WSL useranno per l'esecuzione, sostituire <Distribution Name> con il nome della distribuzione di Linux preferita.

Cambiare la directory in Home

wsl ~

È possibile usare ~ con wsl per iniziare nella directory Home dell'utente. Per passare da qualsiasi directory a Home dall'interno di un prompt dei comandi di WSL, è possibile usare il comando : cd ~.

Eseguire una distribuzione di Linux specifica da PowerShell o CMD

wsl --distribution <Distribution Name> --user <User Name>

Per eseguire una distribuzione di Linux specifica con un utente specifico, sostituire <Distribution Name> con il nome della distribuzione di Linux preferita (ad esempio. Debian) e <User Name> con il nome di un utente esistente (ad esempio root). Se l'utente non esiste nella distribuzione di WSL, verrà visualizzato un errore. Per stampare il nome utente corrente, usare il comando whoami.

Aggiornare WSL

wsl --update

Aggiornare WSL all'ultima versione. Le opzioni includono:

  • --web-download: scaricare l'ultimo aggiornamento da GitHub anziché da Microsoft Store.

Controllare lo stato di WSL

wsl --status

Vedere informazioni generali sulla configurazione di WSL, ad esempio il tipo di distribuzione predefinito, la distribuzione predefinita e la versione del kernel.

Controllare la versione di WSL

wsl --version

Controllare le informazioni sulla versione relative a WSL e ai suoi componenti.

Comando help

wsl --help

Vedere un elenco di opzioni e comandi disponibili con WSL.

Eseguire come utente specifico

wsl --user <Username>

Per eseguire WSL come un utente specificato, sostituire <Username> con il nome di un utente esistente nella distribuzione di WSL.

Modificare l'utente predefinito per una distribuzione

<DistributionName> config --default-user <Username>

Modificare l'utente predefinito per l'accesso alla distribuzione. L'utente deve già esistere all'interno della distribuzione per diventare l'utente predefinito.

Ad esempio: ubuntu config --default-user johndoe cambia l'utente predefinito per la distribuzione Ubuntu con l'utente "johndoe".

Nota

In caso di problemi nel determinare il nome della distribuzione, usare il comando wsl -l.

Avviso

Questo comando non funziona per le distribuzioni importate, perché queste distribuzioni non hanno un'utilità di avvio eseguibile. È invece possibile modificare l'utente predefinito per le distribuzioni importate usando il file /etc/wsl.conf. Vedere le opzioni di smontaggio automatico nella documentazione sulla configurazione delle impostazioni avanzate.

Arresta

wsl --shutdown

Termina immediatamente tutte le distribuzioni in esecuzione e la macchina virtuale di utilità leggera WSL 2. Questo comando può essere necessario nelle istanze che richiedono il riavvio dell'ambiente di macchina virtuale WSL 2, ad esempio la modifica dei limiti di utilizzo della memoria o la modifica del file wslconfig.

Termina

wsl --terminate <Distribution Name>

Per terminare la distribuzione specificata o arrestarne l'esecuzione, sostituire <Distribution Name> con il nome della distribuzione.

Identificare l'indirizzo IP

  • wsl hostname -i per l'indirizzo IP della distribuzione di Linux installata tramite WSL 2 (l'indirizzo della macchina virtuale WSL 2)
  • cat /etc/resolv.conf per l'indirizzo IP del computer Windows come visto da WSL 2 (la macchina virtuale WSL 2)

Esportare una distribuzione

wsl --export <Distribution Name> <FileName>

Esporta uno snapshot della distribuzione specificata come nuovo file di distribuzione. L'impostazione predefinita è tar format. Il nome file può essere - per l'input standard. Le opzioni includono:

  • --vhd: specifica che la distribuzione di esportazione deve essere un file con estensione vhdx anziché un file tar (supportato solo con WSL 2)

Importare una distribuzione

wsl --import <Distribution Name> <InstallLocation> <FileName>

Importa il file tar specificato come nuova distribuzione. Il nome file può essere - per l'input standard. Le opzioni includono:

  • --vhd: specifica che la distribuzione di importazione deve essere un file con estensione vhdx anziché un file tar (supportato solo con WSL 2)
  • --version <1/2>: specifica se importare la distribuzione come distribuzione WSL 1 o WSL 2

Importare una distribuzione sul posto

wsl --import-in-place <Distribution Name> <FileName>

Importa il file vhdx specificato come nuova distribuzione. Il disco rigido virtuale deve essere formattato nel tipo di file system ext4.

Annullare la registrazione o disinstallare una distribuzione di Linux

Anche se è possibile installare le distribuzioni di Linux tramite Microsoft Store, non è possibile procedere nello stesso modo per la disinstallazione.

Per annullare la registrazione e disinstallare una distribuzione di WSL:

wsl --unregister <DistributionName>

Se si sostituisce <DistributionName> con il nome della distribuzione di Linux di destinazione, la distribuzione verrà annullata da WSL in modo che possa essere reinstallata o pulita. Attenzione: dopo l'annullamento della registrazione, tutti i dati, le impostazioni e il software associati alla distribuzione andranno persi definitivamente. Con la reinstallazione da Microsoft Store viene installata una copia pulita della distribuzione. Ad esempio, wsl --unregister Ubuntu rimuove Ubuntu dalle distribuzioni disponibili in Sottosistema Windows per Linux. L'esecuzione di wsl --list rivelerà che non è più elencata.

È anche possibile disinstallare l'app della distribuzione di Linux nel computer Windows come qualsiasi altra applicazione dello Store. Per ripetere l'installazione, trovare la distribuzione in Microsoft Store e scegliere "Avvia".

Montare un disco o un dispositivo

wsl --mount <DiskPath>

Per collegare e montare un disco fisico in tutte le distribuzioni di WSL2, sostituire <DiskPath> con il percorso della directory o del file in cui si trova il disco. Vedere Montare un disco Linux in WSL 2. Le opzioni includono:

  • --vhd: specifica che <Disk> fa riferimento a un disco rigido virtuale.
  • --name: montare il disco usando un nome personalizzato per il punto di montaggio
  • --bare: collegare il disco a WSL2, ma non montarlo.
  • --type <Filesystem>: tipo di file system da usare durante il montaggio di un disco. Se non specificato, per impostazione predefinita viene usato ext4. Questo comando può anche essere immesso come: wsl --mount -t <Filesystem>. È possibile rilevare il tipo di file system usando il comando: blkid <BlockDevice>, ad esempio: blkid <dev/sdb1>.
  • --partition <Partition Number>: numero di indice della partizione da montare, se non specificato per impostazione predefinita è l'intero disco.
  • --options <MountOptions>: sono disponibili alcune opzioni specifiche del file system che possono essere incluse quando si monta un disco. Ad esempio, le opzioni di montaggio ext4 come: wsl --mount -o "data-ordered" o wsl --mount -o "data=writeback. Tuttavia, al momento sono supportate solo le opzioni specifiche del file system. Le opzioni generiche, come ro, rw o noatime, non sono supportate.

Nota

Se si esegue un processo a 32 bit per accedere a wsl.exe (uno strumento a 64 bit), può essere necessario eseguire il comando nel modo seguente: C:\Windows\Sysnative\wsl.exe --command.

Smontare i dischi

wsl --unmount <DiskPath>

Smontare un disco specificato nel percorso del disco. Se non viene specificato un percorso del disco, questo comando smonterà e scollegherà TUTTI i dischi montati.

Comandi di WSL deprecati

wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]

Questi comandi erano la sintassi WSL originale per la configurazione delle distribuzioni di Linux installate con WSL, ma sono stati sostituiti con la sintassi dei comandi wsl o wsl.exe.