GNU/Linux >> Tutoriels Linux >  >> Linux

Une alliance merveilleusement impie - De vraies commandes Linux pour PowerShell avec des wrappers de fonction WSL

J'ai récemment posté sur Quelle est la différence entre une console, un terminal et un shell ? Le monde de Windows est intéressant - et un peu étrange et inconnu des non-Windows. Vous pouvez utiliser Ubuntu ou Mac et vous avez choisi votre shell comme zsh ou bash ou pwsh, mais ensuite vous arrivez à Windows et nous sautons entre les shells (et maintenant les systèmes d'exploitation avec WSL !) onglet par onglet.

Si vous utilisez un shell Windows comme PowerShell parce que vous aimez son moteur basé sur .NET Core et son puissant langage de script, vous risquez de manquer les commandes communes * nix shell comme ls, grep, sed et plus encore.

Quel que soit le shell que vous utilisez dans Windows (powershell, yori, cmd, peu importe), vous pouvez toujours appeler votre instance Ubuntu par défaut avec "wsl command" donc "wsl ls" ou "wsl grep" mais ce serait bien de intégrez-les plus naturellement et confortablement.

Il existe désormais une nouvelle série de "fonction wrappers" qui rendent les commandes Linux disponibles directement dans PowerShell afin que vous puissiez facilement passer d'un environnement à l'autre.

Cela peut sembler étrange, mais cela nous permet de créer des commandes canalisées incroyables qui entrent et sortent de Windows et Linux, PowerShell et bash. C'est en fait assez étonnant et très naturel si vous, comme moi, êtes non confessionnel dans votre choix de système d'exploitation et de shell préféré.

Ces wrappers de fonctions sont très bien conçus et exposent même la complétion TAB sur tous les systèmes d'exploitation ! Cela signifie que je peux taper des commandes Linux dans PowerShell et que la complétion TAB arrive !

C'est super facile à mettre en place. Du Github de Mike Battista

  • Installer PowerShell Core
  • Installer le sous-système Windows pour Linux (WSL)
  • Installez le module WslInterop avec Install-Module WslInterop
  • Importer des commandes avec Import-WslCommand soit depuis votre profil pour un accès persistant, soit à la demande lorsque vous avez besoin d'une commande (par exemple Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim" )

Vous ferez votre Install-Module un seul, puis exécuterez le bloc-notes $profile et ajouterez juste cette dernière ligne. Assurez-vous de le modifier pour exposer les commandes WSL/Linux que vous souhaitez. Une fois que vous avez terminé, vous pouvez simplement ouvrir PowerShell Core et mélanger et assortir vos commandes !

Du blog, "Avec ces wrappers de fonction en place, nous pouvons désormais appeler nos commandes Linux préférées de manière plus naturelle sans avoir à les préfixer avec wsl ou vous soucier de la façon dont les chemins Windows sont traduits en chemins WSL : "

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

C'est vraiment génial et bravo à Mike de l'avoir partagé avec nous ! Allez essayer maintenant. https://github.com/mikebattista/PowerShell-WSL-Interop

Parrain : Vous aimez C# ? Nous aussi ! C'est pourquoi nous avons développé un IDE .NET rapide, intelligent et multiplateforme qui vous donne encore plus de puissance de codage. Analyse de code intelligente, complétion de code enrichie, recherche et navigation instantanées, débogueur avancé... Avec JetBrains Rider, tout ce dont vous avez besoin est à portée de main. Codez C# à la vitesse de la pensée sur Linux, Mac ou Windows. Essayez JetBrains Rider dès aujourd'hui !


Linux
  1. Aide-mémoire pour les commandes Linux courantes

  2. Explication du sous-système Windows pour Linux, WSL et WSL2

  3. 10 commandes Linux pour les diagnostics réseau

  4. Commandes Linux indispensables, exécution de Podman sous Windows et autres conseils pour les administrateurs système

  5. Utilisation du sous-système Windows pour Linux (WSL) à partir de Sublime Text

14 commandes Tar de base sous Linux avec des exemples pour les débutants

4 commandes Stat sous Linux avec exemple pour les utilisateurs débutants

Le guide ultime du sous-système Windows pour Linux (Windows WSL)

Installer Windows 10 sur Linux avec VirtualBox

Comment exécuter des applications d'interface graphique Linux sur Windows 10 avec WSL et WSLg

Développement Web et techniques avancées avec Linux sur Windows (WSL)