GNU/Linux >> Tutoriales Linux >  >> Linux

Una alianza maravillosamente profana:comandos reales de Linux para PowerShell con envoltorios de funciones WSL

Publiqué recientemente sobre ¿Cuál es la diferencia entre una consola, una terminal y un shell? El mundo de Windows es interesante, y un poco extraño y desconocido para las personas que no usan Windows. Puede usar Ubuntu o Mac y ha elegido su shell como zsh o bash o pwsh, pero luego llega a Windows y estamos saltando entre los shells (¡y ahora los sistemas operativos con WSL!) pestaña por pestaña.

Si está utilizando un shell de Windows como PowerShell porque le gusta su motor basado en .NET Core y su potente lenguaje de secuencias de comandos, es posible que aún se pierda los comandos comunes de shell * nix como ls, grep, sed y más.

No importa qué shell esté usando en Windows (powershell, yori, cmd, lo que sea), siempre puede llamar a su instancia predeterminada de Ubuntu con "comando wsl", así que "wsl ls" o "wsl grep", pero sería bueno hacer que se integren de forma más natural y cómoda.

Ahora hay una nueva serie de "contenedores de funciones" que hacen que los comandos de Linux estén disponibles directamente en PowerShell para que pueda realizar fácilmente la transición entre varios entornos.

Esto puede parecer extraño, pero nos permite crear increíbles comandos canalizados que entran y salen de Windows y Linux, PowerShell y bash. En realidad, es bastante sorprendente y muy natural si usted, como yo, no es confesional en su elección de sistema operativo y shell preferido.

¡Estos contenedores de funciones están muy bien diseñados e incluso exponen la finalización de TAB en todos los sistemas operativos! ¡Eso significa que puedo escribir comandos de Linux en PowerShell y la finalización de TAB viene!

Es muy fácil de configurar. Del Github de Mike Battista

  • Instalar el núcleo de PowerShell
  • Instalar el subsistema de Windows para Linux (WSL)
  • Instalar el módulo WslInterop con Install-Module WslInterop
  • Importar comandos con Import-WslCommand ya sea desde su perfil para acceso persistente o bajo demanda cuando necesite un comando (por ejemplo, Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim" )

Hará su módulo de instalación solo uno, y luego ejecutará el perfil $ del bloc de notas y agregará solo esa última línea. Asegúrese de cambiarlo para exponer los comandos de WSL/Linux que desee. Una vez que haya terminado, puede simplemente abrir PowerShell Core y mezclar y combinar sus comandos.

Del blog, "Con estos contenedores de funciones en su lugar, ahora podemos llamar a nuestros comandos favoritos de Linux de una manera más natural sin tener que prefijarlos con wsl o preocúpese por cómo las rutas de Windows se traducen a rutas de WSL:"

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

¡Es algo realmente genial y felicitaciones a Mike por compartirlo con nosotros! Ve a probarlo ahora. https://github.com/mikebattista/PowerShell-WSL-Interoperabilidad

Patrocinador: ¿Te gusta C#? ¡Nosotros también! Es por eso que hemos desarrollado un IDE .NET rápido, inteligente y multiplataforma que le brinda aún más poder de codificación. Análisis de código inteligente, finalización de código enriquecido, búsqueda y navegación instantáneas, un depurador avanzado... Con JetBrains Rider, todo lo que necesita está al alcance de su mano. Codifique C# a la velocidad del pensamiento en Linux, Mac o Windows. ¡Pruebe JetBrains Rider hoy mismo!


Linux
  1. 3 consejos para imprimir con Linux

  2. Hoja de trucos para los comandos comunes de Linux

  3. 8 comandos de Linux para una gestión de procesos eficaz

  4. Explicación del subsistema de Windows para Linux, WSL y WSL2

  5. Comandos de Linux que debe conocer, ejecute Podman en Windows y más consejos para administradores de sistemas

14 comandos básicos de Tar en Linux con ejemplos para principiantes

4 Comandos Stat en Linux con Ejemplo para Usuarios Principiantes

La guía definitiva del subsistema de Windows para Linux (Windows WSL)

Instalar Windows 10 en Linux con VirtualBox

Cómo ejecutar aplicaciones GUI de Linux en Windows 10 con WSL y WSLg

Desarrollo Web y Técnicas Avanzadas con Linux sobre Windows (WSL)