GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Webentwicklung und fortgeschrittene Techniken mit Linux unter Windows (WSL)

Ich habe mehrere Male über das Windows-Subsystem für Linux gepostet, mit dem Sie Linux unter Windows 10 ohne VM ausführen können. Schauen Sie sich mein YouTube unter Bearbeiten von Code und Dateien auf dem Windows-Subsystem für Linux unter Windows 10 an. Es gibt nur eine Regel. Sie können mit Windows-Dateien von Linux herumspielen, aber Sie können nicht mit Linux-Dateien von Windows herumspielen. Ansonsten verrückt werden und genießen. Hier sind einige meiner früheren Beiträge, die Sie sich ansehen sollten:

  • Das Jahr von Linux auf dem (Windows-)Desktop – WSL-Tipps und Tricks
  • Einrichten einer glänzenden Entwicklungsumgebung innerhalb von Linux unter Windows 10
  • Installieren von Fish Shell auf Ubuntu unter Windows 10
  • Schreiben und Debuggen von Linux-C++-Anwendungen von Visual Studio aus mit dem „Windows-Subsystem für Linux“
  • Ubuntu jetzt im Windows Store:Updates für Linux unter Windows 10 und wichtige Tipps

WSL ist ziemlich fantastisch, obwohl der Festplattenzugriff langsamer ist als natives Linux, ich benutze es jeden Tag. Wenn Sie Linux auf Ihrem Windows 10-Rechner einrichten möchten, schalten Sie es einfach ein, gehen Sie dann zum Windows Store und suchen Sie nach „Linux.“

Sie können Linux unter Windows 10 aktivieren, indem Sie „Windows-Funktionen“ eingeben und „Windows-Subsystem für Linux“ aktivieren. Dann holen Sie sich ein Linux aus dem Windows Store.

Wenn Sie PowerShell lieber in einer Zeile verwenden möchten, tun Sie dies einfach über eine Admin-PowerShell-Eingabeaufforderung:

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

Dann hol dir eines (oder mehrere!) davon aus dem Shop:

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

Wenn Sie sich in einer Windows-Shell wie PowerShell oder CMD befinden, möchten Sie vielleicht Linux ausführen und/oder bequem zwischen Shells springen. Sie können das auf verschiedene Arten tun. Der beste und empfohlene Weg ist das Ausführen von "wsl.exe", da dies Ihre Standarddistribution startet. Sie können auch einfach den Namen der Distribution eingeben. Ich kann also "ubuntu" eingeben und direkt dorthin gelangen.

Sie können "bash" eingeben, aber das wird nicht empfohlen, wenn Sie die Shell geändert haben. Wenn Sie zsh oder fish eingerichtet haben und bash eingeben, wird es immer noch versuchen, bash auszuführen.

Hier habe ich wslconfig eingegeben und Sie können sehen, dass ich sowohl Ubuntu als auch Debian installiert habe, mit Ubuntu als Standard, wenn ich „wsl“ eingebe.

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

Jetzt, da ich weiß, wie man wsl von überall aus ausführt, kann ich sogar Dinge in Linux von außen hinein- und hinausleiten. Zum Beispiel bin ich hier in cmd.exe, aber ich rufe Befehle in Linux auf, die herauskommen, dann wieder hineinkommen usw. Sie können mischen und anpassen, wie Sie möchten!

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

Das bedeutet, dass ich selbst in CMD oder PowerShell Linux-Befehle verwenden kann, die mir bequem oder vertraut sind. Hier leite ich beispielsweise eine Windows Update-Protokolldatei in einen Linux-Befehl sha1sum ein. Beachten Sie die Verwendung von - um die Standardeingabe zu akzeptieren - obwohl diese Eingabe von Windows stammt!

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

Süss. Es gibt eine Reihe netter fortgeschrittener Techniken, wenn Sie Ihre WSL-Installationen intelligenter UND automatisch konfiguriert machen möchten. Sie können eine Datei in /etc/wsl.conf erstellen, um Ihr DNS, Ihre Metadaten und Ihr Laufwerks-Mounting zu beeinflussen.

Wenn Sie sich in einer WSL-Shell befinden, befindet sich Ihr Windows-Laufwerk (Ihr Hauptlaufwerk) unter /mnt/c. Hier ist also mein Windows-Desktop, wie er von der WSL aus angezeigt wird:

Die meisten meiner Entwickler arbeiten zum Beispiel in /mnt/d/github. Auf diese Weise kann ich VS Code von Windows verwenden, aber Node/Ruby/Go/Whatever von WSL ausführen.

Ich bewahre meine Dateien auf meinem Windows-Laufwerk auf, bearbeite sie in VS Code, führe die Dinge jedoch in WSL aus. Verwenden Sie auch hier niemals Windows-Dienstprogramme, um auf Dateien im WSL/Linux-Subsystem zuzugreifen und/oder diese zu bearbeiten. Achten Sie außerdem immer auf Ihre CR/LF-Situation und seien Sie sich wirklich bewusst, wenn Sie Git sowohl in Windows als auch in WSL ausführen.

Hier ist VS Code oben, WSL/Ubuntu, auf dem Node ausgeführt wird, und die lokale Knoten-App, die in Edge unter Windows unten rechts ausgeführt wird. Wir teilen Dateisysteme und Netzwerkportspace:

Sie können sogar Umgebungsvariablen zwischen WSL und Windows mit einer speziellen Umgebungsvariablen namens WSLENV teilen. Das ist ziemlich fortgeschritten, aber super mächtig. Lesen Sie dies sorgfältig durch. Sie erstellen eine Umgebungsvariable, die eine Liste mit Namen anderer Variablen ist, die zwischen Umgebungen übersetzt werden sollen .

Das heißt, Sie können so etwas tun. Ich bin in WSL und habe eine Umgebungsvariable, die auf einen Speicherort im Dateisystem zeigt. Ich brauche es, um in beiden Welten richtig zu sein.

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

Lesen Sie das sorgfältig durch. Es ist großartig und sehr konfigurierbar.

Es gibt viele Benutzer von WSL und viele haben großartige Listen mit Ressourcen wie Awesome-WSL von Hayden zusammengestellt.

Es ist auch erwähnenswert, dass WSL nur eine Konsole ist, aus der Sie wählen können. Es gibt PowerShell, CMD.exe und ein halbes Dutzend Linux. Sie können sogar Ihre eigene benutzerdefinierte Linux-Distribution für Ihr Unternehmen erstellen, wenn Sie möchten. Und es gibt eine ganze Welt von Konsolen von Drittanbietern, die auf conhost.exe sitzen oder diese ersetzen, sodass Sie Konsolen mit Registerkarten, coolen Schriftarten, auf Web-Technologie basierenden Konsolen haben können, was auch immer! Sie können sogar WSL/bash als Ihre Standard-Shell in Visual Studio Code auswählen, wenn Sie möchten, mit Strg+~.

Ich hoffe, dies hilft Ihnen beim Einstieg in Linux unter Windows. Was habe ich verpasst? Ton aus in den Kommentaren.

Sponsor :Vorschau auf den neuesten JetBrains Rider mit Assembly Explorer, Git-Submodulen, SQL-Sprachinjektionen, integriertem Performance-Profiler und erweitertem Unity-Support.


Linux
  1. Zugriff auf Linux-Dateisysteme in Windows 10 und WSL 2

  2. Installieren Sie Linux Mint mit Windows 8 | Dual-Boot-Windows 8 und Linux Mint 12

  3. Windows- und Linux-Interoperabilität:Ein Blick auf Samba

  4. Wie man Strg+C unter Windows und Linux mit Qt abfängt

  5. Verschlüsseln Sie eine externe Festplatte mit Lese- und Schreibzugriff sowohl unter Windows als auch unter Linux

Lastenausgleich mit HAProxy, Nginx und Keepalived unter Linux

So installieren und konfigurieren Sie den Caddy Web Server mit PHP unter Rocky Linux 8

Installieren Sie Windows 10 unter Linux mit VirtualBox

So führen Sie Linux-GUI-Apps unter Windows 10 mit WSL und WSLg aus

Das Jahr von Linux auf dem (Windows-)Desktop - WSL-Tipps und Tricks

Ruby on Rails auf Azure App Service (Websites) mit Linux (und Ubuntu auf Windows 10)