Hostwinds Tutoriales

Resultados de búsqueda para:


Tabla de contenido


Comenzando con WSL
Sistemas de archivos WSL y Windows
Comando wsl y windows du
Mezclar comandos de Linux y Windows

Cómo usar el subsistema de Windows para Linux (WSL)

Etiquetas: Cloud Servers,  Dedicated Server 

Comenzando con WSL
Sistemas de archivos WSL y Windows
Comando wsl y windows du
Mezclar comandos de Linux y Windows

El subsistema de Windows para Linux (WSL) permite la ejecución de ejecutables binarios de Linux de forma nativa en Windows 10 y superior, así como Windows Server 2019 y superior.WSL utiliza un verdadero kernel de Linux a través de un subconjunto de funciones Hyper-V.Para aprender a instalar WSL para Windows, ver Cómo ejecutar de forma nativa Linux en Windows 10 y superior.

En este tutorial, comenzaremos con algunos ejemplos directos y culminaremos con el uso de los comandos de Linux, PowerShell y Dos (CMD.EXE) juntos.

Comenzando con WSL

Para iniciar, abra su distribución de Linux instalada de la siguiente manera:

Paso 1: Selecciona el comienzo Menú, luego seleccione la distribución de Linux que instaló; para este ejemplo, hemos instalado Ubuntu.

Ahora debería estar en el símbolo del sistema Linux para su distribución:

Una cosa a notar de inmediato es el número de procesos de ejecución: 12 en este caso.Esto resalta el hecho de que, en lo que respecta a Linux, se está ejecutando por su propia "máquina".Windows, en este caso, en realidad está ejecutando 236 procesos (incluido WSL):

Este ejemplo resalta el hecho de que puede ejecutar comandos PowerShell desde el entorno WSL Linux.En lo anterior, tenga en cuenta las citas alrededor del comando PowerShell (no todos los comandos de WSL PowerShell requieren citas, como en PowerShell.exe Get-Process).Este comportamiento de la máquina virtual también se puede ver ejecutando el Linux parte superior dominio:

En la línea cuatro de lo anterior, vemos que hay 11911.9 MIB (o Legacy MB) de memoria "física".Para determinar la memoria física real del sistema, puede ejecutar los siguientes comandos de Windows desde WSL:

systeminfo.exe | finstr.exe

Esto muestra que en realidad hay 15.289 MB de memoria física:

En otras palabras, se ha asignado cierto porcentaje de la memoria física de Windows a la máquina virtual de Linux.

A continuación, examinaremos los sistemas de archivos WSL Linux y Windows y cómo están expuestos entre sí.

Sistemas de archivos WSL y Windows

Desde el WSL, ejecute los siguientes comandos:

cd /
ls -lah

Por ejemplo:

Este es un típico listado de directorio raíz de Linux.Sin embargo, si miramos dentro del mnt Directorio, podemos ver cómo el sistema de archivos de Windows está expuesto a través de WSL (comandos de nota):

En lo anterior, vemos carpetas estándar de Windows como archivos de programa, usuarios, Windows, etc.

Ahora, en el lado de Windows de las cosas, podemos acceder al sistema de archivos WSL de la siguiente manera:

1. Abra Windows Explorer y en la barra de direcciones, escriba la unidad de red \\ wsl $, como se muestra:

Tenga en cuenta que la imagen de arriba implica que puede tener múltiples distribuciones de Linux instaladas al mismo tiempo, que de hecho es el caso.

2. Haga doble clic en la distribución de Linux que instaló (Ubuntu en este ejemplo).Esto proporciona acceso al sistema de archivos WSL:

Comando wsl y windows du

A continuación, examinemos un comando Linux que Windows realmente debería tener: el comando DU.En Windows, puede ser difícil ordenar tanto los archivos como los directorios por tamaño.Para Linux, esta tarea es relativamente sencilla:

du -aSh 2>&1 | sort -n -r | head -n 5

Sigue un ejemplo:

Para lo anterior:

  • du -ash 2> y 1 Devuelve información sobre el tamaño del archivo/directorio, ignore los errores de permiso.
  • sort -n -r Ordene la lista de archivos/directorio por tamaño, de más pequeño a más grande.
  • cabeza -n 5 Devuelve los 5 archivos/directorios más grandes.

Ahora, ¿no sería bueno si Windows pudiera hacer esto?Bueno, gracias a WSL, ahora puede.Desde un símbolo elevado del sistema de Windows (cmd.exe), ejecute lo siguiente:

wsl du -aSh 2>&1 | wsl sort -n -r | wsl head -n 5

Esto da como resultado una salida similar a:

Nota la WSL anterior a cada comando Linux.Esto se requiere para que Windows sepa que estamos ejecutando un comando Linux (desde su distribución instalada) y no un comando Windows malformado.

A continuación, cavemos un poco más profundo con respecto a la combinación de los comandos de Linux, PowerShell y DOS (CMD.EXE).

Mezclar comandos de Linux y Windows

Aquí hay un ejemplo de comandos de mezcla en el símbolo del sistema WSL Linux.Esto combina Linux, PowerShell y Dos:

powershell.exe Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | awk '{print $2}'

Primero dirigimos el Get-Childitem Comando PowerShell, luego encídelo en el DOS Findstr comando, y finalmente encídelo en el Linux asombrar dominio.Para comprender mejor el flujo de comando, comenzaremos con el representante Get-Childitem producción:

Luego usamos el Findstr Comando DOS para seleccionar la salida que contiene "Karlito":


Finalmente, seleccionamos la segunda columna usando el Linux asombrar dominio:

A continuación, ejecutaremos un comando similar desde el símbolo del sistema PowerShell, como se muestra:

Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | wsl awk '{ print \$6 }'

Nuevamente, veremos este paso a paso, comenzando con la salida representativa de Get-Childitem:

A continuación, encontramos los archivos/directorios que contienen "Karlito:

Tenga en cuenta las seis columnas anteriores (los datos de PM/AM se consideran una columna).Debido a esto, necesitamos cambiar el asombrar Comando de la siguiente manera:

Observar la \ personaje antes del $6 en el asombrar dominio.Porque el $ El personaje tiene un significado especial en PowerShell, por lo que debemos escapar de usar \, como se muestra.

El último ejemplo ejecuta el mismo comando pero desde el símbolo del sistema de Windows (cmd.exe):

Tenga en cuenta el uso de powershell.exe Para ejecutar el comando PowerShell y WSL Para ejecutar el comando Linux.

Para concluir, mediante el uso de WSL para adjuntar una distribución de Linux a Windows, extiende la alimentación y las capacidades de Windows, además de tener una práctica caparazón de Linux a su alcance.Y, con suerte, la información presentada en este tutorial mejorará su conocimiento y eficiencia de su comando.

Escrito por Karlito Bonnevie  /  junio 17, 2022