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

Eine wunderbar unheilige Allianz – echte Linux-Befehle für PowerShell mit WSL-Funktionswrappern

Ich habe kürzlich etwas über Was ist der Unterschied zwischen einer Konsole, einem Terminal und einer Shell gepostet? Die Welt von Windows ist interessant – und für Nicht-Windows-Leute ein wenig seltsam und ungewohnt. Sie verwenden vielleicht Ubuntu oder Mac und haben Ihre Shell wie zsh oder bash oder pwsh ausgewählt, aber dann kommen Sie zu Windows und wir springen Tab für Tab zwischen Shells (und jetzt Betriebssystemen mit WSL!) hin und her /P>

Wenn Sie eine Windows-Shell wie PowerShell verwenden, weil Ihnen die .NET Core-basierte Engine und die leistungsstarke Skriptsprache gefallen, vermissen Sie möglicherweise immer noch gängige *nix-Shell-Befehle wie ls, grep, sed und mehr.

Egal, welche Shell Sie in Windows verwenden (Powershell, yori, cmd, was auch immer), Sie können Ihre Standard-Ubuntu-Instanz immer mit "wsl command", also "wsl ls" oder "wsl grep" aufrufen, aber es wäre schön zu machen diese natürlicher und bequemer integriert.

Jetzt gibt es eine neue Reihe von „Funktions-Wrappern“, die Linux-Befehle direkt in PowerShell verfügbar machen, sodass Sie problemlos zwischen mehreren Umgebungen wechseln können.

Das mag seltsam erscheinen, aber es ermöglicht uns, erstaunliche Pipe-Befehle zu erstellen, die sich in und aus Windows und Linux, PowerShell und Bash bewegen. Es ist eigentlich ziemlich erstaunlich und sehr natürlich, wenn Sie, wie ich, bei der Wahl des Betriebssystems und der bevorzugten Shell konfessionslos sind.

Diese Funktionswrapper sind sehr übersichtlich gestaltet und zeigen sogar die TAB-Vervollständigung über Betriebssysteme hinweg an! Das heißt, ich kann Linux-Befehle in PowerShell eingeben und die TAB-Vervollständigung kommt mit!

Es ist super einfach einzurichten. Von Mike Battistas Github

  • Installieren Sie PowerShell Core
  • Installieren Sie das Windows-Subsystem für Linux (WSL)
  • Installieren Sie das WslInterop-Modul mit Install-Module WslInterop
  • Befehle importieren mit Import-WslCommand entweder aus Ihrem Profil für dauerhaften Zugriff oder bei Bedarf, wenn Sie einen Befehl benötigen (z. B. Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim" )

Sie machen Ihr Install-Module nur einmal und führen dann Notepad $profile aus und fügen nur eine einzige letzte Zeile hinzu. Stellen Sie sicher, dass Sie es ändern, um die gewünschten WSL/Linux-Befehle verfügbar zu machen. Sobald Sie fertig sind, können Sie PowerShell Core einfach öffnen und Ihre Befehle mischen und anpassen!

Aus dem Blog:„Mit diesen Funktions-Wrappern können wir jetzt unsere bevorzugten Linux-Befehle auf natürlichere Weise aufrufen, ohne ihnen wsl voranstellen zu müssen oder machen Sie sich Gedanken darüber, wie Windows-Pfade in WSL-Pfade übersetzt werden:"

  • man bash
  • less -i $profile.CurrentUserAllHosts
  • ls -Al C:\Windows\ | less
  • grep -Ein error *.log
  • tail -f *.log

Es ist eine wirklich geniale Sache und ein großes Lob an Mike, dass er es mit uns geteilt hat! Probieren Sie es jetzt aus. https://github.com/mikebattista/PowerShell-WSL-Interop

Sponsor: Wie C#? Wir auch! Aus diesem Grund haben wir eine schnelle, intelligente, plattformübergreifende .NET-IDE entwickelt, die Ihnen noch mehr Programmierleistung bietet. Clevere Codeanalyse, umfassende Codevervollständigung, sofortige Suche und Navigation, ein fortschrittlicher Debugger ... Mit JetBrains Rider haben Sie alles, was Sie brauchen, immer zur Hand. Programmieren Sie C# in Gedankengeschwindigkeit unter Linux, Mac oder Windows. Probieren Sie JetBrains Rider noch heute aus!


Linux
  1. 3 Tipps zum Drucken mit Linux

  2. Spickzettel für allgemeine Linux-Befehle

  3. 8 Linux-Befehle für effektives Prozessmanagement

  4. 20 grundlegende Linux-Befehle für Anfänger mit Beispielen erklärt

  5. 10 Linux-Befehle für die Netzwerkdiagnose

14 grundlegende Tar-Befehle in Linux mit Beispielen für Neulinge

4 Stat-Befehle in Linux mit Beispiel für Anfänger

Der ultimative Leitfaden zum Windows-Subsystem für Linux (Windows WSL)

Installieren Sie Windows 10 unter Linux mit VirtualBox

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

Webentwicklung und fortgeschrittene Techniken mit Linux unter Windows (WSL)