Les commandes Linux envahissent Windows

Les commandes Linux envahissent Windows


Dans une démarche visant à faire de Windows une plateforme de choix pour les développeurs, Microsoft annonce la disponibilité générale de Coreutils for Windows. C’est un ensemble d’outils en ligne de commande, piliers de l’écosystème Linux, directement et nativement sur le système d’exploitation Windows.

Comment cette intégration fonctionne-t-elle ?

Plutôt que de porter les outils GNU, Microsoft s’est appuyé sur une réécriture multiplateforme des GNU Coreutils en Rust. Le groupe de Redmond maintient sa propre version, qui regroupe les coreutils, findutils et une implémentation de grep dans un seul binaire pour plusieurs appels, coreutils.exe.

Ce binaire unique utilise des hardlinks du système de fichiers NTFS. Pour chaque commande comme ls.exe ou cp.exe, un lien dur qui pointe vers coreutils.exe est créé. Lorsque l’utilisateur exécute l’une de ces commandes, le binaire principal s’exécute et détermine quelle fonction appeler en se basant sur le nom du fichier qui a été lancé.

Les avantages pour les développeurs

Le principal bénéfice est la portabilité des scripts et des habitudes de travail. Les développeurs n’ont plus besoin de jongler entre WSL, Git Bash ou Cygwin pour utiliser des commandes familières.

D’après Microsoft,  » les commandes, flags et pipelines fonctionnent de la même manière « , ce qui permet aux scripts existants d’être réutilisés sans modification.

Des pipelines classiques du monde Linux peuvent désormais s’exécuter directement dans un shell Windows. L’installation se fait via une simple commande WinGet : winget install Microsoft.Coreutils.

Des limites ou des conflits à prévoir

Microsoft a délibérément omis plusieurs utilitaires qui dépendent de fonctionnalités POSIX non disponibles sur Windows, comme chmod, chown, ou kill. Ces outils offriraient peu d’avantages sur Windows ou pourraient perturber les scripts existants.

Des conflits de noms peuvent en outre survenir avec les commandes intégrées de l’Invite de commandes ou de PowerShell.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.