Avec la sortie de la mise à jour anniversaire pour Windows 10, Microsoft a annoncé la Sous-système Windows pour Linux (WSL) - un moyen d'exécuter de vrais Bash natifs sur Windows 10, qui prend en charge l'exécution de binaires Linux natifs. Pour ce faire, il exécute une image Ubuntu Linux en mode utilisateur au-dessus de Windows.
Cela signifie que vous pouvez exécuter des outils de ligne de commande Linux tels que ls
, grep
, Haut
et chmod
. Puisque vous exécutez une véritable Ubuntu en dessous, exécutez lsb-release -a
vous donnera la sortie suivante:
Vous pouvez utiliser apt-get
et amis pour installer des utilitaires tels que vigueur
, git
, écran
, tmux
, ou même jouer à un jeu de nethack:
Gardez toutefois à l'esprit que ce système est en version bêta et ne pas destiné aux charges de travail du serveur. Ce n'est qu'un outil pour les développeurs (et les passionnés) pour tester leurs applications centrées sur Linux sur Windows sans modifications. Ce n'est pas non plus un outil destiné à exécuter des applications ou des environnements Linux GUI tels que Gnome ou KDE, bien que cela soit également possible avec certains hacks. Après avoir clarifié cela, jetons un coup d'œil au fonctionnement du shell Linux dans Windows 10.
Sous-système Windows pour Linux (WSL)
Selon la documentation officielle, «WSL est un ensemble de composants qui permet aux binaires Linux ELF64 natifs de s'exécuter sous Windows». Il le fait en implémentant une interface de noyau Linux virtualisée au-dessus du noyau Windows NT. Autrement dit, il n'utilise aucun code du noyau Linux réel - chaque fois qu'une application effectue un appel système spécifique à Linux (syscall), WSL le traduit en appel système Windows équivalent, ce qui fait alors tout le gros du travail.
Différences avec les machines virtuelles et Cygwin
Voyons maintenant en quoi Linux Bash Shell sur Windows 10 est différent de celui des machines virtuelles et de Cygwin..
Machines virtuelles
Vous pensez peut-être: «Eh bien, pourquoi utiliser cela? Pourquoi ne pas simplement utiliser une machine virtuelle Linux sous Windows? »
Comparé à une machine virtuelle, WSL utilise moins de ressources. Il vous permet également de travailler avec vos fichiers comme vous le feriez sous Linux, tout en vous donnant un accès complet au système de fichiers Windows sous-jacent sans avoir à compter sur des dossiers partagés ou des partages réseau.
Cygwin
Une autre méthode populaire pour exécuter des outils de type Linux / Unix populaires sur Windows est Cygwin. La plus grande différence entre les deux approches est que Cygwin n'est pas un moyen d'exécuter des binaires Linux natifs sur Windows. Il ne fournit qu'un ensemble d'outils GNU et Open Source qui fournissent des fonctionnalités similaire à une distribution Linux sous Windows.
D'autre part, Les outils WSL sont natifs de Linux Les binaires compilés ELF-64 s'exécutant sous Windows. Par exemple, exécuter un apt-get installer emacs
commande dans WSL téléchargera et installera les mêmes fichiers que sur une installation Ubuntu 14.04, à partir des référentiels officiels Ubuntu.
Utilisateurs, autorisations et systèmes de fichiers dans WSL
Hiérarchie du système de fichiers
WSL est installé sous l'utilisateur actuel % LocalAppData% \ lxss \ rootfs
annuaire. Ceci est connu comme le Environnement WSL et agit comme le Linux "/
»(Racine) répertoire. Par exemple, si votre nom d'utilisateur sur Windows est beebom
, Le répertoire racine de Linux sera situé dans C: \ Users \ beebom \ AppData \ Local \ lxss \ rootfs.
Cela signifie que chaque utilisateur Windows peut avoir son propre environnement WSL et peut apporter des modifications telles que apt-get installer
progiciels, sans affecter les autres utilisateurs de Windows.
Il est possible d'accéder au système de fichiers Windows sous-jacent dans WSL. Tous les lecteurs sont montés sous / mnt.
Par example, C: \
est monté sous / mnt / c
, RÉ:\
est monté sous / mnt / d
, etc.
Utilisateurs et autorisations
Lorsque vous installez WSL pour la première fois, il vous invite à créer un nouvel utilisateur Linux par défaut. Cet utilisateur n'a pas besoin d'avoir le même nom que l'utilisateur Windows actuel et est traité comme une entité distincte en général. Vous pouvez même créer plusieurs utilisateurs Linux, contrôlés par un seul utilisateur Windows.
Il est possible d'obtenir racine
privilèges utilisant le sudo
commander. Gardez à l'esprit qu'être racine
dans WSL n'affecte que les droits de l'utilisateur dans l'environnement Linux et le système de fichiers - ils n'ont aucun impact sur les privilèges Windows accordés. Par exemple, une session WSL avec des privilèges d'administrateur Windows peut cd / mnt / c / Utilisateurs / Administrateur
tandis qu'une session Bash sans privilèges d'administrateur verrait Autorisation refusée. Dactylographie sudo cd / mnt / c / Utilisateurs / Administrateur
n'accordera pas l'accès au répertoire de l'administrateur car les autorisations sont restreintes par Windows.
Fonctionnalités du système de fichiers spécifiques à Linux
Linux est un sensible aux majuscules et minuscules système. Cela signifie que photo.png
et Photo.png
sont traités comme deux fichiers différents. Alors que Windows n'est pas le cas sensible par défaut, c'est toujours le cas au courant. Ce qui signifie que pendant que photo.png
et Photo.png
ne sont pas traités comme deux fichiers distincts, il est certainement au courant de la différence en cas.
WSL gère le respect de la casse comme sur Linux. Il est même possible de créer deux fichiers dont le nom ne diffère que par cas en dehors de l'environnement WSL. Gardez à l'esprit, cependant, que de nombreuses applications Windows ne peuvent pas gérer de telles situations et peuvent ne pas pouvoir ouvrir l'un ou les deux fichiers.
De même, liens symboliques sont pris en charge, à condition que vous exécutiez un système de fichiers NTFS. Cependant, les liens symboliques ne fonctionneront qu'à l'intérieur de WSL et ne peuvent pas être résolus par d'autres applications Windows.
Linux prend également en charge presque tous caractères spéciaux à l'intérieur des noms de fichiers, tandis que Windows est plus restrictif. WSL, cependant, autorise l'utilisation de tels caractères spéciaux, à condition qu'ils soient limités à l'environnement du système Linux.
VOIR AUSSI: Comment synchroniser votre compte OneDrive sur un ordinateur Linux
Prêt à exécuter la ligne de commande Linux sous Windows?
C'est donc ainsi qu'Ubuntu Bash ou Linux Bash Shell, également connu sous le nom de sous-système Windows pour Linux, fonctionne sur Windows 10 (avec la mise à jour anniversaire). Parallèlement à son fonctionnement, nous avons également appris en quoi il est différent et meilleur que les méthodes traditionnelles d'exécution de commandes spécifiques à Linux sur Windows. Donc, si vous avez toujours voulu utiliser les commandes Linux, lancez-vous et si vous avez des questions, des commentaires ou des conseils, assurez-vous de nous le faire savoir dans la section commentaires.