# Microsoft Coreutils — GNU Coreutils Reimplemented in Rust for Windows > A Rust reimplementation of GNU coreutils by Microsoft, bringing standard Unix command-line utilities natively to Windows with full Unicode and path support. ## Install Save in your project root: # Microsoft Coreutils — GNU Coreutils Reimplemented in Rust for Windows ## Quick Use ```bash # Install via winget winget install Microsoft.Coreutils # Or download the installer from GitHub Releases # Use standard Unix commands on Windows ls -la cat file.txt | sort | uniq -c ``` ## Introduction Microsoft Coreutils is a Rust-based reimplementation of the GNU coreutils, bringing standard Unix command-line utilities natively to Windows. Unlike WSL or Cygwin-based approaches, these are native Windows executables that understand Windows paths, Unicode filenames, and NTFS features out of the box. The project aims to give Windows developers the same command-line productivity as Unix users. ## What Microsoft Coreutils Does - Provides native Windows implementations of ls, cat, sort, grep, and dozens more - Handles Windows-native paths (backslashes, drive letters, UNC) correctly - Supports full Unicode filenames and console output natively - Integrates with PowerShell, CMD, and Windows Terminal seamlessly - Ships as a single installer with all utilities included ## Architecture Overview Each utility is implemented as a standalone Rust binary compiled for Windows. The project uses Rust's standard library for cross-platform I/O while adding a Windows-specific layer for path normalization, console API integration, and NTFS metadata handling. The build system produces both individual executables and a combined installer package. Packaging uses winget manifests and MSI for enterprise deployment. ## Self-Hosting & Configuration - Install via winget or download the MSI installer from GitHub Releases - Add the install directory to your PATH for global availability - Configure aliases in PowerShell profile for any naming conflicts - Build from source with Rust toolchain and cargo on Windows - Update via winget upgrade for automatic version management ## Key Features - Native Windows executables with no Unix compatibility layer required - Full UTF-16 and Unicode path support across all utilities - NTFS-aware file operations including symlinks and alternate data streams - Compatible with PowerShell pipelines and Windows scripting - Memory-safe implementation in Rust with modern error handling ## Comparison with Similar Tools - **WSL** — runs Linux binaries in a VM; Coreutils are native Windows executables - **Cygwin** — POSIX compatibility layer with overhead; Coreutils run without a layer - **Git Bash** — bundles MinGW coreutils; Microsoft Coreutils have better Windows integration - **BusyBox-w32** — single binary with limited features; Coreutils provide full GNU compatibility - **uutils/coreutils** — community Rust coreutils; Microsoft Coreutils focus on Windows packaging ## FAQ **Q: Does it replace PowerShell built-in commands?** A: No, it supplements them. You can alias or use full paths to choose which tool to invoke. **Q: Are all GNU coreutils included?** A: The most commonly used utilities are implemented, with coverage expanding in each release. **Q: Does it work on Windows Server?** A: Yes, it runs on Windows 10, 11, and Windows Server 2019+. **Q: Can I use it in CI/CD pipelines on Windows runners?** A: Yes, the winget or MSI install works in automated environments including GitHub Actions Windows runners. ## Sources - https://github.com/microsoft/coreutils - https://github.com/microsoft/coreutils/blob/main/README.md --- Source: https://tokrepo.com/en/workflows/asset-40b88a17 Author: AI Open Source