Hostwinds Tutoriels

Résultats de recherche pour:


Table des matières


Commencer avec WSL
Systèmes de fichiers WSL et Windows
Commande WSL et Windows Du
Mélange des commandes Linux et Windows

Comment utiliser le sous-système Windows pour Linux (WSL)

Mots clés: Cloud Servers,  Dedicated Server 

Commencer avec WSL
Systèmes de fichiers WSL et Windows
Commande WSL et Windows Du
Mélange des commandes Linux et Windows

Le sous-système Windows pour Linux (WSL) permet au fonctionnement des exécutables binaires Linux nativement sur Windows 10 et plus ainsi que Windows Server 2019 et plus.WSL utilise un véritable noyau Linux via un sous-ensemble de fonctionnalités Hyper-V.Pour apprendre à installer WSL pour Windows, voir Comment exécuter nativement Linux sur Windows 10 et plus.

Dans ce tutoriel, nous commencerons avec quelques exemples simples et nous culminerons avec l'utilisation de commandes Linux, PowerShell et DOS (CMD.EXE).

Commencer avec WSL

Pour démarrer, ouvrez votre distribution Linux installée comme suit:

Étape 1: Sélectionnez le Début Menu, puis sélectionnez la distribution Linux que vous avez installée - pour cet exemple, nous avons installé Ubuntu.

Vous devriez maintenant être à l'invite de commande Linux pour votre distribution:

Une chose à remarquer immédiatement est le nombre de processus en cours - 12 dans ce cas.Cela met en évidence le fait que, en ce qui concerne Linux, il fonctionne sur sa propre "machine".Windows, dans ce cas, exécute en fait 236 processus (y compris WSL):

Cet exemple met en évidence le fait que vous pouvez exécuter des commandes PowerShell à partir de l'environnement WSL Linux.Dans ce qui précède, notez que les citations autour de la commande PowerShell (toutes les commandes WSL PowerShell ne nécessitent pas de citations, comme dans powershell.exe get-process).Ce comportement de machine virtuelle peut également être vu en exécutant le Linux Haut commande:

Sur la ligne quatre de ce qui précède, nous voyons qu'il y a 11911.9 MIB (ou héritage MB) de mémoire "physique".Pour déterminer la mémoire physique réelle du système, vous pouvez exécuter les commandes Windows suivantes à partir de WSL:

systeminfo.exe | finstr.exe

Cela montre qu'il y a en fait 15 289 Mo de mémoire physique:

En d'autres termes, un certain pourcentage de la mémoire physique de Windows a été alloué à la machine virtuelle Linux.

Ensuite, nous examinerons les systèmes WSL Linux et Windows Files et comment ils sont exposés les uns aux autres.

Systèmes de fichiers WSL et Windows

Depuis le WSL, exécutez les commandes suivantes:

cd /
ls -lah

Par exemple:

Il s'agit d'une liste de répertoire root Linux typique.Cependant, si nous regardons dans le mnt Répertoire, nous pouvons voir comment le système de fichiers Windows est exposé via WSL (Commandes de notes):

Dans ce qui précède, nous voyons des dossiers Windows standard tels que les fichiers de programme, les utilisateurs, les fenêtres, etc.

Maintenant, du côté de Windows, nous pouvons accéder au système de fichiers WSL comme suit:

1. Open Windows Explorer et dans la barre d'adresse, saisissez le lecteur réseau \\ wsl $, comme montré:

Notez que l'image ci-dessus implique que vous pouvez installer plusieurs distributions Linux en même temps, ce qui est en effet le cas.

2. Double-cliquez sur la distribution Linux que vous avez installée (Ubuntu dans cet exemple).Cela donne accès au système de fichiers WSL:

Commande WSL et Windows Du

Ensuite, examinons une commande Linux que Windows devrait vraiment avoir - la commande DU.Dans Windows, il peut être difficile de trier les fichiers et les répertoires par taille.Pour Linux, cette tâche est relativement simple:

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

Un exemple suit:

Pour ce qui précède:

  • Du -ash 2> & 1 Renvoie les informations sur la taille du fichier / répertoire, ignorez toutes les erreurs d'autorisation.
  • tri -n -r Trie la liste des fichiers / répertoires par taille, du plus petit au plus grand.
  • tête -N 5 Renvoie les 5 meilleurs fichiers / répertoires les plus importants.

Maintenant, ne serait-ce pas bien si Windows pouvait faire ça?Eh bien, grâce à WSL, ça peut maintenant.À partir d'une invite de commande Windows surélevée (CMD.EXE), exécutez ce qui suit:

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

Il en résulte une sortie similaire à:

Noter la WSL précédant chaque commande Linux.Cela est nécessaire pour faire savoir à Windows que nous exécutons une commande Linux (à partir de votre distribution installée) et non une commande Windows mal formée.

Ensuite, creusons un peu plus profondément en ce qui concerne la combinaison des commandes Linux, PowerShell et DOS (cmd.exe).

Mélange des commandes Linux et Windows

Voici un exemple de mélange de commandes à l'invite de commande WSL Linux.Cela combine Linux, PowerShell et DOS:

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

Nous exécutons d'abord le Get-Childitem Commande PowerShell, puis tuyau dans le dos Findstr commande, et enfin tuyau dans le linux awk commande.Pour mieux comprendre le flux de commande, nous commencerons par un représentant Get-Childitem production:

Nous utilisons ensuite le Findstr Commande dos pour sélectionner la sortie contenant "Karlito":


Enfin, nous sélectionnons la deuxième colonne à l'aide du Linux awk commande:

Ensuite, nous exécuterons une commande similaire à partir de l'invite de commande PowerShell, comme indiqué:

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

Encore une fois, nous examinerons cette étape par étape, en commençant par la sortie représentative de Get-Childitem:

Nous trouvons ensuite les fichiers / répertoires contenant "Karlito:

Notez les six colonnes ci-dessus (les données PM / AM sont considérées comme une colonne).Pour cette raison, nous devons changer le awk Commande comme suit:

Observer le \ caractère avant le $6 dans le awk commande.Parce que le $ Le caractère a une signification particulière dans PowerShell, nous devons donc nous échapper \, comme montré.

Le dernier exemple exécute la même commande mais à partir de l'invite de commande Windows (cmd.exe):

Notez l'utilisation de powershell.exe Pour exécuter la commande PowerShell et WSL Pour exécuter la commande Linux.

Pour conclure, en utilisant WSL pour attacher une distribution Linux à Windows, vous étendez la puissance et les capacités de Windows ainsi que pour avoir un shell Linux pratique au bout des doigts.Et, espérons-le, les informations présentées dans ce tutoriel amélioreront votre avis de commande et votre efficacité.

Écrit par Karlito Bonnevie  /  juin 17, 2022