Um Windows zur bevorzugten Plattform für Entwickler zu machen, kündigt Microsoft die allgemeine Verfügbarkeit von Coreutils für Windows an. Dabei handelt es sich um eine Reihe von Befehlszeilentools, Säulen des Linux-Ökosystems, direkt und nativ auf dem Windows-Betriebssystem.

Wie funktioniert diese Integration?

Anstatt GNU-Tools zu portieren, setzte Microsoft auf eine plattformübergreifende Neufassung der GNU Coreutils in Rust. Die Redmond-Gruppe unterhält eine eigene Version, die die Coreutils vereintfindutils und eine grep-Implementierung in einer einzigen Binärdatei für mehrere Aufrufe, coreutils.exe.

Diese einzigartige Binärdatei verwendet Hardlinks aus dem NTFS-Dateisystem. Für jede Bestellung gerne ls.exe Oder cp.exeein fester Link, der darauf hinweist coreutils.exe entsteht. Wenn der Benutzer einen dieser Befehle ausführt, wird die Hauptbinärdatei ausgeführt und bestimmt anhand des Namens der gestarteten Datei, welche Funktion aufgerufen werden soll.

Vorteile für Entwickler

Der Hauptvorteil ist die Portabilität von Skripten und Arbeitsgewohnheiten. Entwickler müssen nicht mehr zwischen WSL, Git Bash oder Cygwin jonglieren, um vertraute Befehle zu verwenden.

Laut Microsoft „ Befehle, Flags und Pipelines funktionieren auf die gleiche Weise „, wodurch vorhandene Skripte ohne Änderungen wiederverwendet werden können.

Klassische Pipelines aus der Linux-Welt können jetzt direkt in einer Windows-Shell ausgeführt werden. Die Installation erfolgt über einen einfachen WinGet-Befehl: Winget installiert Microsoft.Coreutils.

Es sind Einschränkungen oder Konflikte zu erwarten

Microsoft hat bewusst auf mehrere Dienstprogramme verzichtet, die von POSIX-Funktionen abhängen, die unter Windows nicht verfügbar sind, wie z chmod, chownOder töten. Diese Tools würden unter Windows kaum Vorteile bringen oder bestehende Skripte stören.

Darüber hinaus können Namenskonflikte mit integrierten Eingabeaufforderungs- oder PowerShell-Befehlen auftreten.