- Exécute nativement sous Windows des utilitaires cœur de type UNIX, permettant de réutiliser tels quels les mêmes commandes et pipelines que sous Linux/macOS/WSL
- Build maintenu par Microsoft qui regroupe uutils/coreutils, findutils, grep dans un binaire multicall unique
- Les mêmes commandes/flags/pipelines fonctionnent de la même manière, ce qui permet de porter des scripts existants sans modification
- L’objectif est de rendre les passages entre Linux/macOS/WSL/conteneurs/Windows sans friction
- PowerShell 7.4 ou supérieur requis (
~est recommandé à partir de la 7.6)- Certaines commandes ont le même nom que des commandes intégrées de CMD ou PowerShell ; leur exécution dépend donc de l’ordre du PATH et de la table des alias
- Commandes non fournies :
dir/expand/more(conflit avec des commandes DOS intégrées),kill(pas de signaux),timeout(dépend dekill),whoami(conflit avec la commande intégrée de Windows) findetsortsont des ports intégrés des commandes DOS d’origine,hostnameest un sur-ensemble de la commande intégrée de Windows
- Des différences d’environnement propres à Windows subsistent
NULest utilisé à la place de/dev/null, les signaux POSIX ne sont pas pris en charge (seulCtrl+Cfonctionne)- Les séparateurs de chemin
/et\\sont tous deux acceptés, et les permissions de fichiers reposent sur des ACL plutôt que sur les bits POSIX - Les fins de ligne CRLF sont généralement gérées de manière transparente, mais des différences peuvent apparaître dans des comportements basés sur les octets comme
uniq - La lecture des liens symboliques fonctionne normalement, mais la création de nouveaux liens symboliques nécessite le mode développeur ou un terminal avec élévation de privilèges
- Les concepts propres à POSIX (
chmod,chown,id,who, etc.) ainsi que les commandes inutiles sous Windows (dircolors,shred,uname, etc.) sont volontairement exclus - Licence MIT : implémenté en Rust + PowerShell + Inno Setup
4 commentaires
La combinaison de 'PowerShell' et de 'Coreutils for Windows' semble risquer d'apporter une nouvelle fragmentation.
Seulement maintenant. Et en plus, l’avoir fait de façon incomplète, ça donne des frissons tant ça fait ressentir l’incompétence de MS.
Pourrait-on l’intégrer complètement à Linux ?
Résumé : il est possible d’utiliser
ls,grep,find,cp,mv,cat, ... sous Windows !