Comment accéder aux fichiers sur le sous-système Windows pour Linux – Examen de la virtualisation

Comment accéder aux fichiers sur le sous-système Windows pour Linux

Tom installe et utilise Edge DX pour surveiller son instance WSL Linux et explique comment accéder aux fichiers depuis et vers les systèmes Windows.

Le sous-système Windows pour Linux (WSL) vous permet d’exécuter Linux sur Windows sans avoir à installer d’hyperviseur et à exécuter une instance Linux dans une machine virtuelle (VM). Pour activer WSL et installer Linux sur votre système Windows, il vous suffit d’entrer quelques commandes dans la ligne de commande et de redémarrer votre système – c’est tout.

Cette intégration avec Windows vous permet d’accéder au riche ensemble d’outils proposés par Linux. Cependant, Windows dispose également d’un riche ensemble d’outils et, en fait, de nombreux outils de manipulation et de présentation des données ne fonctionneront que sous Windows. Dans cet article, j’examinerai à quel point il est facile de lire et d’écrire des fichiers vers et depuis WSL et le système Windows sur lequel il s’exécute.

Si vous souhaitez apprendre à installer WSL à l’aide de la ligne de commande, puis accéder aux fichiers à partir du système Windows de base, assurez-vous de consulter mon article précédent ici. J’ai également beaucoup écrit sur WSL dans le passé, y compris des articles que vous pouvez trouver ici et ici.

Surveillance par un tiers
Avant de regarder les fichiers sur WSL, je voulais voir si un logiciel tiers pouvait fonctionner avec et, si oui, quel type de ressources (par exemple, CPU, RAM, etc.) il consommerait. Comme je travaille pour ControlUp, j’étais également curieux de savoir si Edge DX, leur outil de surveillance des terminaux, fonctionnerait avec lui. J’ai pu installer l’agent en mode utilisateur Edge DX sans aucune difficulté ainsi que l’instance Ubuntu WSL. Vous pouvez en savoir plus sur Edge DX dans cette série d’articles.

L’instance WSL a été présentée sur le portail Edge DX sans aucun problème. J’ai remarqué que l’instance avait ~ 3 Go de moins (13 Go) de RAM que le système Windows (16 Go), mais elle avait le même nombre de cœurs de processeur (4).

[Click on image for larger view.]

Utilisation du système de fichiers
Les fichiers sont présentés depuis/vers le système WSL Linux de différentes manières selon la distribution que vous utilisez. Les exemples ci-dessous sont avec Ubuntu, et si vous utilisez une distribution différente, vos résultats peuvent différer.

L’une des fonctionnalités intéressantes est que WSL Ubuntu monte automatiquement le lecteur C: sous /mnt/c. J’ai vu quels systèmes de fichiers étaient montés et de quel type de systèmes de fichiers il s’agissait en entrant monter. Cela a montré beaucoup de systèmes de fichiers avec le C: étant de type 9p. 9p est une façon intéressante de monter le lecteur C: et il faudrait un blog entier pour disséquer ses nuances ; pour les besoins de cet article, cependant, il vous suffit de savoir que cela fonctionne.

[Click on image for larger view.]

Je suis entré cd /mnt/c/ et alors ls qui montrait le répertoire C:. Certains fichiers m’ont donné un permission refusée message.

[Click on image for larger view.]

la df rapporte la commande sur l’utilisation de l’espace disque du système de fichiers. Pour voir la taille du système de fichiers et combien d’espace libre il restait, j’ai entré df – h /mnt/c. Cela correspondait à ce que j’ai vu sur mon système Windows.

[Click on image for larger view.]

Accéder aux fichiers Windows à partir de Linux
J’avais des scripts bash stockés dans un répertoire de Windows. J’ai navigué dans le répertoire en entrant:

cd /mnt/c/Users/Fenton/Dropbox/ControlUp/CUp_2022/CUp_2022_05/EDx_Scripts.

Je pouvais voir tous les scripts qui avaient un SMS extension.

[Click on image for larger view.]

Lorsque j’ai essayé d’exécuter l’un des scripts, j’ai reçu le message d’erreur suivant :

/bin/bash^M : mauvais interpréteur : aucun fichier ou répertoire de ce type

la ^ M à la fin du chemin m’a indiqué que Windows mettait un retour chariot à la fin de la ligne.

J’ai vérifié cela en saisissant chat -v Linux_List_Printers.txt.

[Click on image for larger view.]

Pour corriger le problème, j’ai affiché le script dans Notepad ++ et l’ai enregistré avec seulement un saut de ligne, puis j’ai pu l’exécuter sans aucun problème. Comme j’avais maintenant Linux sur le système, j’ai découvert que je pouvais également supprimer le CR en saisissant l’une des options suivantes :

sed ‘s/r$//’ fichier.txt > fichier.sh

ou

tr -d ‘r’ < fichier.txt > fichier.sh

Accéder aux fichiers Linux depuis Windows
Je n’avais aucune idée de l’endroit où mes fichiers Linux étaient présentés à Windows, mais comme je sais que de nombreuses commandes Windows sont accessibles depuis WSL, j’ai entré explorer.exe sur la ligne de commande WSL et, un peu à ma grande surprise, l’explorateur de fichiers ne s’est pas lancé. Cependant, après avoir quitté mon utilisateur racine Linux et ressaisi la commande, j’étais dans le répertoire personnel de l’utilisateur : \wsl$Ubuntuhomeuser01.

[Click on image for larger view.]

J’ai remarqué que le chemin d’accès au répertoire avait un \wsl$ préfixe, j’ai donc ouvert un autre explorateur de fichiers et entré \wsl$ dans la fenêtre du chemin. Cela a fait apparaître le dossier Ubuntu, et je pouvais alors accéder à mes fichiers Linux.

[Click on image for larger view.]

Dans cet article, j’ai installé et utilisé Edge DX pour surveiller mon instance WSL Linux et j’ai examiné comment accéder aux fichiers depuis et vers les systèmes Windows. Dans les versions précédentes de Windows, j’avais franchi des étapes assez importantes pour obtenir une interface graphique compatible avec WSL. Je vais regarder et voir si des améliorations ont été apportées avec la dernière version de WSL.

A propos de l’auteur


Tom Fenton a acquis une vaste expérience informatique pratique au cours des 25 dernières années dans une variété de technologies, les 15 dernières années se concentrant sur la virtualisation et le stockage. Il travaille actuellement en tant que directeur du marketing technique pour ControlUp. Il a précédemment travaillé chez VMware en tant que développeur de cours senior, ingénieur de solutions et dans le groupe de marketing concurrentiel. Il a également travaillé comme ingénieur senior en validation au sein du groupe Taneja, où il a dirigé le laboratoire de service de validation et a joué un rôle déterminant dans le démarrage de sa pratique vSphere Virtual Volumes. Il est sur Twitter @vDoppler.



.