Introducción
Windows Subsystem for Linux (WSL) es una capa de compatibilidad desarrollada por Microsoft para correr ejecutables de Linux (en formato ELF) nativamente en Windows 10 y Windows Server 2019. Está basado en el descontinuado Windows Subsystem for Android, mejor conocido como «Project Astoria», que estuvo presente en varias builds de Windows 10 Mobile.
A partir de junio de 2019 está disponible WSL versión 2, el cual incorpora cambios importantes, como el uso de un núcleo Linux real.
WSL provee una interfaz que simula un kernel de Linux (sin contener código de Linux propiamente dicho), el cual puede correr aplicaciones de espacio de usuario GNU, por ejemplo, una instalación base de Ubuntu, openSUSE, SUSE Linux Enterprise Server, Debian y Kali Linux. Dicho entorno puede contener una shell Bash, junto con ejecutables de línea de comandos GNU/Linux nativos (sed, awk, etc.), lenguajes de programación (Ruby, Python, etc.), e incluso algunas aplicaciones gráficas (con la ayuda de un servidor X11).
Ejemplos
- https://www.jesusninoc.com/05/25/mostrar-una-cadena-en-bash-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/06/02/crear-un-fichero-mezclando-wsl-touch-ls-y-powershell-read-host/
- https://www.jesusninoc.com/09/10/obtener-informacion-sobre-la-version-de-linux-con-wsl/
- https://www.jesusninoc.com/07/27/find-top-10-largest-files-in-var-directory-including-subdirectories-with-wsl/
Interoperabilidad
El subsistema de Windows para Linux (WSL) mejora continuamente la integración entre Windows y Linux, WSL permite:
- Ejecutar herramientas de Windows (es decir, Notepad.exe) desde una línea de comandos de Linux (es decir, Ubuntu).
- Ejecutar herramientas de Linux (es decir, Grep) desde una línea de comandos de Windows (es decir, PowerShell).
- Comparta variables de entorno entre Linux y Windows. (Desde la compilación 17063+).
Windows a Linux (PowerShell a WSL)
Ejecutar herramientas de Linux (es decir, Grep) desde una línea de comandos de Windows (es decir, PowerShell).
Ejercicios
- https://www.jesusninoc.com/12/15/ejercicios-de-powershell-mostrar-informacion-sobre-el-nucleo-mediante-una-funcion/
- https://www.jesusninoc.com/01/20/ejercicios-de-powershell-crear-un-usuario-en-ubuntu-desde-powershell-con-wsl/
- https://www.jesusninoc.com/01/20/ejercicios-de-powershell-crear-usuarios-leyendo-de-un-fichero-en-ubuntu-desde-powershell-con-wsl/
- https://www.jesusninoc.com/02/01/ejercicios-de-powershell-sacar-el-nombre-los-cinco-grupos-que-mas-caracteres-tienen-en-linux-desde-powershell/
- https://www.jesusninoc.com/03/18/ejercicios-de-wsl-realizar-una-suma-en-wsl-llamando-a-un-script-donde-le-pasamos-dos-valores-desde-powershell/
- https://www.jesusninoc.com/03/18/ejercicios-de-wsl-realizar-una-suma-en-wsl-llamando-a-un-script-de-bash-donde-le-pasamos-dos-valores/
- https://www.jesusninoc.com/03/18/ejercicios-de-powershell-crear-un-interfaz-simple-que-realice-la-operacion-de-suma-resta-y-multiplicacion-mediante-la-llamada-a-un-script-en-bash-utilizando-wsl/
- https://www.jesusninoc.com/03/18/ejercicios-wsl-crear-en-windows-con-powershell-y-wsl-los-mismos-usuarios-que-tenemos-en-linux/
Más información
- https://www.jesusninoc.com/03/19/interoperabilidad-wsl-con-windows-llamar-a-ubuntu-desde-powershell/
- https://www.jesusninoc.com/05/31/combinar-un-cmdlet-de-powershell-con-un-comando-en-bash-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/05/31/combinar-un-cmdlet-de-powershell-con-un-comando-en-bash-mediante-wsl/
Linux a Windows (WSL a PowerShell)
Ejecutar herramientas de Windows (es decir, Notepad.exe) desde una línea de comandos de Linux (es decir, Ubuntu).
Más información
- https://www.jesusninoc.com/05/24/interoperabilidad-wsl-con-windows-llamar-a-powershell-desde-ubuntu/
Programación
Varias formas de desarrollar aplicaciones o scripts desde WSL.
Scripting
Creación de secuencia de comandos o guiones.
Ejemplos
- https://www.jesusninoc.com/06/12/comprobar-con-un-si-un-numero-es-mayor-que-otro-con-wsl-utilizando-una-variable-desde-powershell/
- https://www.jesusninoc.com/06/11/comprobar-con-un-si-un-numero-es-mayor-que-otro-con-wsl-desde-powershell/
- https://www.jesusninoc.com/06/14/ejemplos-de-operaciones-sobre-cadenas-utilizando-wsl-desde-powershell/
- https://www.jesusninoc.com/05/27/ejecutar-un-bucle-for-en-bash-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/06/10/leer-el-contenido-de-un-fichero-mezclando-wsl-while-y-powershell-add-content/
- https://www.jesusninoc.com/06/03/anadir-contenido-a-un-fichero-mezclando-wsl-y-powershell/
- https://www.jesusninoc.com/06/05/anadir-la-fecha-a-un-fichero-mezclando-wsl-cat-y-powershell-get-date/
- https://www.jesusninoc.com/06/06/anadir-la-fecha-a-un-fichero-mezclando-wsl-date-y-powershell-get-content/
- https://www.jesusninoc.com/06/08/anadir-la-fecha-a-un-fichero-mezclando-wsl-date-y-powershell-get-content-2/
C
C es un lenguaje de programación de propósito general originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL.Al igual que B, es un lenguaje orientado a la implementación de sistemas operativos, concretamente Unix.
Más información
- https://www.jesusninoc.com/07/03/compiling-a-c-program-on-the-bash-in-powershell/
- https://www.jesusninoc.com/06/23/compilar-un-programa-en-c-mediante-gcc-gnu-compiler-collection-desde-powershell/
Recursos del sistema operativo
Se pueden gestionar distintos recursos del sistema operativo desde WSL.
El pipe
Quizás la utilidad más potente de la entrada/salida estándar es la posibilidad de encadenar comandos a través del uso de «tuberías» (pipes), que permiten que la salida de un comando sirva como entrada a otro.
Más información
Creación de procesos
Creación y destrucción de procesos.
Más información
Memoria compartida
Creación de zona de memoria para compartir información entre procesos.
Más información
Automatizar
En la web
Más información
- https://www.jesusninoc.com/05/29/descargar-las-imagenes-de-una-pagina-web-con-curl-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/06/13/buscar-archivos-png-en-una-web-con-wsl-windows-subsystem-for-linux-desde-powershell/
- https://www.jesusninoc.com/05/27/descargar-las-imagenes-de-una-pagina-web-con-invoke-webrequest-y-con-curl-mediante-wsl-desde-powershell/
Aplicaciones Open Source
Se pueden instalar y utilizar Open Source para realizar distintas tareas.
Más información
- https://www.jesusninoc.com/05/28/convertir-html-a-epub-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/06/01/crear-y-leer-un-codigo-qr-con-un-comando-en-bash-mediante-wsl-desde-powershell/
- https://www.jesusninoc.com/05/30/combinar-un-cmdlet-de-powershell-con-un-comando-en-bash-mediante-wsl-desde-powershell-para-codificar-datos-de-entrada-en-un-codigo-qr-y-guardarlos-como-png/
- https://www.jesusninoc.com/06/20/extraer-las-palabras-de-un-texto-mediante-aspell-de-linux-desde-powershell-con-wsl/
- https://www.jesusninoc.com/07/26/extraer-las-palabras-que-tengan-mas-de-4-caracteres-de-un-texto-mediante-aspell-de-linux-desde-powershell-con-wsl/
- https://www.jesusninoc.com/06/17/detectar-las-palabras-que-estan-mal-escritas-en-un-articulo-de-un-diario-con-un-comando-en-linux-y-ejecutarlo-con-wsl-windows-subsystem-for-linux-desde-powershell/
- https://www.jesusninoc.com/06/29/detectar-las-palabras-que-estan-mal-escritas-en-varias-noticias-de-un-diario-con-un-comando-en-linux-y-ejecutarlo-con-wsl-windows-subsystem-for-linux-desde-powershell/
- https://www.jesusninoc.com/06/27/comprobar-si-un-texto-contiene-una-palabra-extrayendo-las-palabras-del-texto-mediante-aspell-de-linux-desde-powershell-con-wsl/
- https://www.jesusninoc.com/06/30/comprobar-en-varias-noticias-si-un-texto-contiene-una-palabra-extrayendo-las-palabras-del-texto-mediante-spell-de-linux-desde-powershell-con-wsl/
- https://www.jesusninoc.com/11/26/ejercicios-de-powershell-crear-dos-ficheros-txt-convertirlos-a-pdf-y-juntarlos-con-poppler-utilizando-wsl/
- https://www.jesusninoc.com/12/07/crear-y-leer-un-codigo-de-barras-con-un-comando-en-bash-mediante-wsl-desde-powershell/
Ejercicios
- https://www.jesusninoc.com/03/16/ejercicios-de-powershell-crear-un-qr-con-los-nombres-de-los-usuarios-que-hay-en-el-sistema-y-crear-los-usuarios-nuevamente-leyendo-el-codigo-qr-generado-anteriormente/
- https://www.jesusninoc.com/03/16/ejercicios-de-powershell-crear-una-funcion-que-almacene-los-usuarios-que-estan-en-el-equipo-y-los-guarde-en-formato-qr/
- https://www.jesusninoc.com/03/17/crear-y-leer-un-codigo-qr-mediante-un-comando-en-bash-con-wsl-desde-powershell/
- https://www.jesusninoc.com/03/16/ejercicios-de-powershell-crear-usuarios-en-linux-leyendo-desde-un-codigo-qr-en-powershell-el-nombre-de-los-usuarios-se-obtiene-listando-usuarios-en-el-sistema-desde-powershell-y-convirtiendo-a-codig/
- https://www.jesusninoc.com/03/17/convertir-en-formato-json-un-objeto-de-powershell-y-despues-convertirlo-nuevamente-a-un-codigo-qr-mediante-un-comando-en-bash-con-wsl-comprobar-que-se-lee-correctamente-el-codigo-qr/