Skip to content
tutorials

Windows CLI vient de recevoir sa plus grande mise à niveau

Fatigué de vous battre avec les commandes maladroites de PowerShell ? Microsoft vient de publier un ensemble natif d'outils UNIX qui vous feront vous sentir comme chez vous sur Windows.

Dani Roth
Windows CLI vient de recevoir sa plus grande mise à niveau

La ligne de commande que vous attendiez

Les développeurs Windows sont constamment confrontés à des frictions avec les commandes PowerShell verbeuses. La mémoire musculaire exige ls, cat, cp, mais le système requiert Get-ChildItem, Get-Content, Copy-Item. Cette disparité force un changement de contexte, entravant le flux de travail et gaspillant un temps précieux à traduire des commandes UNIX concises en de longs cmdlets PowerShell. Une expérience de ligne de commande native et familière manquait cruellement.

Microsoft offre désormais la solution définitive : Microsoft Coreutils. Ce port natif, maintenu par Microsoft, du projet uutils/coreutils comble directement le fossé de la ligne de commande. Basé sur une réimplémentation en Rust de GNU Coreutils, il s'exécute nativement dans votre environnement Windows, ne nécessitant ni WSL ni couche de virtualisation. Obtenez de puissantes fonctionnalités UNIX sans surcoût.

Installez avec WinGet install Microsoft.Coreutils et débloquez instantanément une suite de commandes essentielles. Accédez à des outils familiers tels que :

  • cat
  • grep
  • find
  • xargs
  • sort

Ceux-ci fonctionnent directement à l'intérieur de votre Windows Terminal existant. Cela offre une productivité immédiate, exploitant votre mémoire musculaire UNIX établie avec les mêmes drapeaux, pipes et scripts que vous avez déjà écrits pour Linux ou WSL. Votre ligne de commande vient de recevoir une mise à niveau significative.

Votre mémoire musculaire est de retour

Récupérez votre mémoire musculaire de la ligne de commande. Installez Microsoft.Coreutils avec une simple commande : WinGet install Microsoft.Coreutils. Ce package est une version maintenue par Microsoft du projet uutils/coreutils, une réimplémentation en Rust de GNU Coreutils. Vous accédez immédiatement à des exécutables essentiels de style UNIX comme cat, grep, find, xargs et sort, tous fonctionnant nativement sur Windows sans couche de virtualisation. Cela apporte vos commandes préférées directement à CMD ou PowerShell.

Exécutez des scripts puissants avec les mêmes drapeaux et pipes sur lesquels vous comptez sous Linux ou WSL. Par exemple, trouvez tous les fichiers TypeScript contenant une chaîne 'TODO' spécifique en utilisant find . -name "*.ts" | xargs grep "TODO". Cette commande fonctionne précisément comme vous l'attendez, démontrant que vos scripts existants et votre mémoire musculaire se traduisent parfaitement. On a l'impression que rien n'a changé, et c'est le but.

Protégez votre héritage. Microsoft a regroupé des ports des commandes DOS originales sort et find aux côtés des nouvelles versions Unix. Cette conception intelligente évite les ruptures dans les anciens scripts CMD qui reposent sur la syntaxe de style DOS, leur permettant de s'exécuter simultanément. Les commandes DOS traditionnelles et les commandes Unix modernes coexistent désormais, offrant une compatibilité ascendante complète sans compromis.

Les pièges PowerShell à éviter

Les alias intégrés de PowerShell créent un piège critique. Des commandes comme ls, cat et rm maintiennent la précédence, exécutant les cmdlets natifs de PowerShell plutôt que les exécutables Coreutils nouvellement installés. Appeler ls invoque toujours Get-ChildItem en coulisses. Pour accéder à la commande UNIX, vous devez appeler explicitement ls.exe ou effacer l'alias PowerShell existant pour cette commande.

Anticipez les limitations avec le piping. Le pipeline basé sur les objets de PowerShell peut corrompre les flux binaires lors de l'interaction avec des exécutables natifs. Par exemple, des commandes telles que xargs et find peuvent rencontrer des problèmes avec leur entrée ou sortie attendue, car la gestion de la sortie de PowerShell entre souvent en conflit avec leurs attentes de flux binaire. Cela peut entraîner un comportement inattendu ou une corruption des données.

Comprenez qu'il ne s'agit pas d'un environnement POSIX complet. Des commandes cruciales comme chmod et chown sont entièrement absentes, non simulées ou émulées. Windows gère les permissions de fichiers via des listes de contrôle d'accès (ACLs), fondamentalement différentes des bits de permission utilisés dans les systèmes de type UNIX. Vous ne pouvez pas manipuler directement les permissions POSIX ; ce sont des binaires natifs, pas un environnement Linux complet.

Cet article vous plaît ? Recevez-en un comme celui-ci chaque matin.

un e-mail par jour · désinscription en deux clics · aucun traqueur tiers

Tueur de WSL ? Pas tout à fait.

Coreutils fournit des GNU Coreutils robustes à Windows, mais ce n'est pas un remplacement de WSL. Comprenez cette distinction : Coreutils fournit des binaires natifs, améliorant la ligne de commande Windows existante pour plus de commodité et un accès direct à des commandes familières de type Unix, et non une émulation complète d'environnement Linux. Surtout, ne vous attendez pas à ce que des fonctionnalités POSIX comme chmod ou chown fonctionnent ; celles-ci sont intentionnellement omises, car Windows s'appuie sur les ACLs, et non sur les bits de permission, ce qui signifie que cet outil simplifie votre flux de travail sans virtualiser un OS entier.

Idéal pour les scripts rapides au quotidien, Coreutils excelle dans l'automatisation des tâches où une instance WSL complète introduit une surcharge inutile. Exécutez des commandes familières en une ligne comme find . -name "*.ts" | xargs grep "TODO" directement dans PowerShell ou CMD, permettant une manipulation rapide des fichiers, le traitement de texte et le filtrage de données à l'aide de commandes que vous connaissez déjà, sans changement de contexte. Intégrez ces commandes de manière transparente dans les scripts batch ou les flux de travail PowerShell existants.

La publication de Coreutils par Microsoft représente un changement stratégique significatif, non pas une simple commodité, mais un engagement clair à améliorer l'expérience de développement native sur Windows. En fournissant des outils Unix maintenus par Microsoft sur Windows, l'écart entre les plateformes se réduit considérablement, offrant aux développeurs un accès immédiat à une mémoire musculaire multiplateforme. Cela fait de Windows un environnement plus puissant et polyvalent pour le développement moderne, soulignant le dévouement de Microsoft à un écosystème ouvert et intégré.

Questions fréquemment posées

Qu'est-ce que Microsoft Coreutils ?

C'est un package d'utilitaires de ligne de commande UNIX natifs pour Windows, maintenu par Microsoft, basé sur une réimplémentation moderne en Rust des classiques GNU Coreutils.

Ai-je encore besoin de WSL après avoir installé Coreutils ?

Oui, pour un environnement Linux complet. Coreutils fournit des binaires de commande spécifiques mais n'est pas un système complet conforme à POSIX avec des fonctionnalités comme la gestion des permissions (chmod).

Comment utiliser la vraie commande ls au lieu de l'alias PowerShell ?

Vous devez soit appeler l'exécutable directement (ls.exe), soit supprimer l'alias PowerShell pour ls en utilisant la commande Remove-Item alias:ls dans votre session ou votre profil.

Est-ce mieux que Git Bash ?

C'est différent. Coreutils fournit des binaires Windows natifs qui s'intègrent directement dans CMD ou PowerShell, tandis que Git Bash fournit un environnement d'émulation Bash séparé.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only