GNU/Linux >> Linux Esercitazione >  >> Linux

Sviluppo Web e Tecniche Avanzate con Linux su Windows (WSL)

Ho pubblicato più volte sul sottosistema Windows per Linux che ti consente di eseguire Linux su Windows 10 senza una VM. Dai un'occhiata al mio YouTube su Modifica di codice e file sul sottosistema Windows per Linux su Windows 10. C'è solo una regola. Puoi pasticciare con i file Windows da Linux ma non puoi pasticciare con i file Linux da Windows. Altrimenti, impazzisci e divertiti. Ecco alcuni dei miei post precedenti che dovresti controllare:

  • L'anno di Linux sul desktop (Windows) - Suggerimenti e trucchi WSL
  • Configurazione di un ambiente di sviluppo brillante all'interno di Linux su Windows 10
  • Installazione di Fish Shell su Ubuntu su Windows 10
  • Scrittura e debug di applicazioni C++ Linux da Visual Studio utilizzando il "Sottosistema Windows per Linux"
  • Ubuntu ora in Windows Store:aggiornamenti a Linux su Windows 10 e suggerimenti importanti

WSL è piuttosto fantastico anche se il suo accesso al disco è più lento di Linux nativo, mi ritrovo a usarlo ogni giorno. Se vuoi configurare Linux sul tuo computer Windows 10, accendilo, quindi vai su Windows Store e cerca "Linux".

Puoi attivare Linux su Windows 10 digitando "Caratteristiche di Windows" e selezionando "Sottosistema Windows per Linux". Quindi prendi un Linux da Windows Store.

Se preferisci utilizzare PowerShell e farlo in una riga, esegui questa operazione da un prompt di PowerShell amministrativo:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Quindi vai a prenderne uno (o più!) dallo Store:

  • Ubuntu
  • OpenSUSE
  • SLES
  • Kali Linux
  • Debian GNU/Linux

Quando ti trovi in ​​una shell di Windows come PowerShell o CMD potresti voler eseguire Linux e/o passare comodamente da una shell all'altra. Puoi farlo in alcuni modi. Il modo migliore e consigliato è eseguire "wsl.exe" poiché avvierà la distribuzione predefinita. Puoi anche semplicemente digitare il nome della distribuzione. Quindi posso digitare "ubuntu" e accedervi direttamente.

Puoi digitare "bash" ma non è raccomandato se hai cambiato shell. Se hai impostato zsh o fish e digiti bash, proverà comunque a eseguire bash.

Qui ho digitato wslconfig e puoi vedere che ho installato sia Ubuntu che Debian, con Ubuntu come impostazione predefinita quando digito "wsl".

C:\Users\scott>wslconfig /list
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Debian

Ora che so come eseguire wsl da qualsiasi luogo, posso persino inviare roba all'interno e all'esterno di Linux dall'esterno. Ad esempio qui sono in cmd.exe ma sto chiamando i comandi in Linux, che escono, quindi tornano, ecc. Puoi combinare e abbinare come preferisci!

C:\dev>type hello.sh
echo Hello
C:\dev>wsl cat /mnt/c/dev/hello.sh | wsl fromdos | wsl /bin/sh
Hello

Ciò significa che anche quando sono in CMD o PowerShell posso usare i comandi Linux che sono convenienti o familiari. Ad esempio, qui sto inserendo un file di registro di Windows Update in un comando sha1sum del comando Linux. Nota l'uso di - per accettare l'input standard - anche se quell'input proviene da Windows!

C:\Users\scott\Desktop>type WindowsUpdate.log | wsl sha1sum -
3b48adce8f6c9cb816e8845d824dacc0440ca1b8 -

Dolce. C'è una serie di belle tecniche avanzate se vuoi rendere le tue installazioni WSL più intelligenti E configurate automaticamente. Puoi creare un file in /etc/wsl.conf per influenzare il tuo DNS, i metadati e il montaggio di guida.

Quando ci si trova in una shell WSL, l'unità Windows (l'unità principale) si trova in /mnt/c. Quindi ecco il mio desktop Windows visto da WSL:

Ad esempio, la maggior parte dei miei sviluppatori lavora in /mnt/d/github. In questo modo posso usare VS Code da Windows ma eseguire Node/Ruby/Go/Whatever da WSL.

Conservo i miei file sul mio disco Windows, li modifico in VS Code, ma eseguo le cose in WSL. Anche in questo caso, non utilizzare mai le utilità di Windows per accedere e/o modificare i file sul sottosistema WSL/Linux. Inoltre, sii sempre consapevole della tua situazione CR/LF e sii davvero consapevole se eseguirai git sia in Windows che in WSL.

Ecco VS Code in alto, WSL/Ubuntu che esegue Node in basso e l'app del nodo locale in esecuzione in Edge su Windows in basso a destra. Stiamo condividendo i file system e lo spazio delle porte di rete:

Puoi anche condividere variabili di ambiente tra WSL e Windows con una variabile di ambiente speciale chiamata WSLENV. Questo è piuttosto avanzato ma super potente. Leggi questo attentamente. Crei una variabile di ambiente che è un elenco di nomi di altre variabili che vuoi tradurre tra ambienti .

Ciò significa che puoi fare qualcosa del genere. Sono in WSL e ho una variabile di ambiente che punta a una posizione sul filesystem. Ho bisogno che sia corretto in entrambi i mondi.

scott@IRONHEART:/mnt/d$ export MYLINUXPATH=/mnt/d/github/expresstest
scott@IRONHEART:/mnt/d$ export WSLENV=MYLINUXPATH/p
scott@IRONHEART:/mnt/d$ cmd.exe
D:\>echo %MYLINUXPATH%
D:\github\expresstest

Leggilo attentamente. È fantastico ed è molto configurabile.

Ci sono molti utenti di WSL e molti hanno assemblato ottimi elenchi di risorse come Awesome-WSL di Hayden.

Vale anche la pena sottolineare che WSL è solo ora una console tra cui puoi scegliere. Ci sono PowerShell, CMD.exe e una mezza dozzina di Linux. Se lo desideri, puoi persino creare la tua distribuzione Linux personalizzata per la tua azienda. E c'è un intero mondo di console di terze parti che si trovano sopra/sostituiscono conhost.exe in modo da poter avere console con schede, font fantastici, basati sulla tecnologia web, qualunque cosa! Puoi anche scegliere WSL/bash come shell predefinita in Visual Studio Code se lo desideri con Ctrl+~.

Spero che questo ti permetta di iniziare con Linux su Windows. Cosa mi sono perso? Suona nei commenti.

Sponsor :Visualizza in anteprima l'ultimo JetBrains Rider con il suo Assembly Explorer, i sottomoduli Git, le iniezioni del linguaggio SQL, il profiler delle prestazioni integrato e il supporto Unity più avanzato.


Linux
  1. Come accedere ai filesystem Linux in Windows 10 e WSL 2

  2. Interoperabilità Windows e Linux:uno sguardo a Samba

  3. Come catturare Ctrl+C su Windows e Linux con Qt

  4. Advanced Format HDD, enclosure USB e compatibilità Windows/Linux

  5. Crittografa un disco rigido esterno con accesso in lettura e scrittura su Windows e Linux

Bilanciamento del carico con HAProxy, Nginx e Keepalived in Linux

Come installare e configurare Caddy Web Server con PHP su Rocky Linux 8

Installa Windows 10 su Linux con VirtualBox

Come eseguire app della GUI Linux su Windows 10 con WSL e WSLg

L'anno di Linux sul desktop (Windows) - Suggerimenti e trucchi WSL

Ruby on Rails sul servizio app di Azure (siti Web) con Linux (e Ubuntu su Windows 10)