{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigakyjedivvlug67vjloinbm3oylm5lg5mpfkok27qddkmzl3nbrm",
    "uri": "at://did:plc:ws6dhxzqnqxu5aqxt4kd27oc/app.bsky.feed.post/3mnhjqp55ui72"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreiez3oqsu5ld7ucbjjyt2z7a6vv3stgucuzyj7kk5ojrgklf5c36xm"
    },
    "mimeType": "image/webp",
    "size": 72372
  },
  "description": "Microsoft's Rust-based build runs ls, cp, rm, and dozens more directly in your Windows shell.",
  "path": "/coreutils-for-windows-11-native-linux-commands-without-wsl/",
  "publishedAt": "2026-06-04T11:34:11.000Z",
  "site": "https://allthings.how",
  "tags": [
    "Microsoft Learn documentation",
    "Build 2026"
  ],
  "textContent": "Microsoft has released Coreutils for Windows 11, a native build of the open-source uutils project that brings familiar Linux command-line tools straight into the Windows shell. You no longer need to spin up a full Linux subsystem just to run everyday commands like `ls`, `cp`, or `rm`. The package runs as a single binary that exposes each utility under its standard name, so the same commands, flags, and pipelines you use on Linux and macOS behave the same way on Windows.\n\n⚡\n\nQuick answer: Open Windows Terminal, run winget install Microsoft.Coreutils, then restart the console. Make sure you are on PowerShell 7.4 or newer.\n\n* * *\n\n### What Coreutils for Windows 11 is\n\nCoreutils is a Microsoft-maintained build of uutils/coreutils, a cross-platform reimplementation of GNU Coreutils written in Rust. Microsoft bundles coreutils, findutils, and a newly written grep into one multi-call binary for Windows. The whole point is consistency. The commands developers have built up over years just work inside a normal Windows environment, without translation or workarounds.\n\nMicrosoft announced general availability at Build 2026, describing it as more than 75 familiar Linux-style command-line utilities running natively on Windows 11. The utilities are still marked as preview, so early builds may have occasional bugs. You can read the full overview on the Microsoft Learn documentation.\n\nWindows 11 already shipped some Linux-inspired tools, including `curl`, `tar`, the OpenSSH utilities, and the Windows Package Manager. Coreutils fills the gap left by the core file and text commands that were never available natively before.\n\n* * *\n\n### Commands included in Coreutils\n\nThe build covers the file and text commands most developers reach for first, plus the bundled findutils and grep implementations. Every command supports the standard `--help` flag, so you can check full syntax and options directly in your terminal.\n\nCommand| What it does\n---|---\n`ls`| Lists files and directories\n`cp`| Copies files and folders\n`mv`| Moves or renames files\n`rm`| Deletes files and directories\n`cat`| Prints file contents\n`mkdir`| Creates directories\n`touch`| Creates files or updates timestamps\n`pwd`| Prints the current working directory\n\nThese are only the headline commands. The package also ships integrated ports of the original DOS `sort` and `find`, a shim that keeps existing DOS-style invocations working, and a PowerShell wrapper for glob patterns.\n\n* * *\n\n### How to install Coreutils on Windows 11\n\nThere are two ways to install the package. The fastest route uses winget, the package manager built into Windows 11.\n\n**Step 1:** Open Windows Terminal, Command Prompt, or PowerShell.\n\n**Step 2:** Run the install command.\n\n\n    winget install Microsoft.Coreutils\n\n**Step 3:** Restart the console so the new commands load into your session. Once it reopens, the commands are available without launching a separate Linux environment.\n\nIf you prefer a direct download, grab the installer from the official Coreutils release page. Microsoft publishes both x64 and arm64 builds, so pick the one that matches your hardware.\n\n✅\n\nYou know it worked when a command like ls runs and returns a file listing. If a command is not found after install, the cause is almost always your PATH. Restart the console first, then confirm the install directory sits on your PATH before troubleshooting anything deeper.\n\n* * *\n\n### Shell support and PowerShell 7.4 requirement\n\nCoreutils runs on Command Prompt, PowerShell, and Windows Terminal. One requirement matters above all. PowerShell 7.4 or newer is required, and older PowerShell versions will not work. If you are on an older build, update PowerShell first, then install Coreutils.\n\nWhether a given command actually runs depends on three things. The shell you use, the order of your PATH, and, in PowerShell, the alias table. Several Coreutils command names overlap with shell built-ins, which changes how Windows resolves them.\n\n* * *\n\n### Command conflicts in CMD and PowerShell\n\nSome commands ship and work cleanly, some ship but conflict with a built-in, and a few do not ship at all. When a command conflicts in PowerShell, the built-in alias usually wins. You can call the Coreutils version explicitly or adjust your PATH and alias table to control which one runs.\n\nCommand| CMD| PowerShell 7.4+| Notes\n---|---|---|---\n`cat`| Works| Conflicts|\n`cp`| Works| Conflicts|\n`date`| Conflicts| Conflicts|\n`dir`| Not shipped| Not shipped| Conflicts with built-in DOS command\n`echo`| Conflicts| Conflicts|\n`find`| Works| Works| Integrated port of the DOS command\n`hostname`| Works| Works| Superset of the Windows built-in\n`kill`| Not shipped| Not shipped| Windows lacks POSIX signals\n`ls`| Works| Conflicts|\n`mkdir`| Conflicts| Conflicts|\n`more`| Not shipped| Not shipped| Conflicts with built-in DOS command\n`mv`| Works| Conflicts|\n`pwd`| Works| Conflicts|\n`rm`| Works| Conflicts|\n`sort`| Works| Works| Integrated port of the DOS command\n`tee`| Works| Conflicts|\n`uptime`| Works| Conflicts|\n`whoami`| Not shipped| Not shipped| Conflicts with built-in Windows command\n\n* * *\n\n### Windows caveats that can break scripts\n\nCoreutils behaves like its Linux counterpart in most cases, but a handful of Windows-specific differences can trip up your scripts. Keep these in mind before you depend on the commands in production.\n\n  * **CRLF line endings:** Windows text files often use CRLF. Most utilities handle this transparently, but pattern matching with `$` and exact byte counts can change.\n  * **No /dev/null:** Use `NUL` instead, for example `find . -name \"*.log\" > NUL`.\n  * **No POSIX signals:** Signals such as SIGHUP and SIGPIPE are not available, though Ctrl+C still works as expected.\n  * **Path separators:** Both `/` and `\\` are accepted, but some utilities produce backslash-separated output, which can affect downstream piping.\n  * **File permissions:** Windows uses ACLs rather than POSIX permission bits, so predicates like `find -perm` may behave differently or stay unavailable.\n  * **Symbolic links:** Reading existing symbolic links works without elevation. Creating new ones requires Developer Mode or an elevated terminal.\n\n\n\n* * *\n\n### Coreutils vs WSL: when to use each\n\nCoreutils does not replace Windows Subsystem for Linux. It removes the need to launch a full Linux subsystem just to run a handful of common commands. Reach for Coreutils when you want quick, native access to tools like `ls`, `cp`, and `rm` inside a normal Windows shell. Keep WSL for full Linux workloads, package managers, Linux-only software, and container workflows that depend on a real Linux kernel.\n\nFor developers who jump between Linux servers, containers, cloud environments, and Windows all day, the value is not in the commands themselves. Linux users have had them for decades. The value is consistency, removing the dozens of small interruptions that come from stopping to remember which command works where.\n\nCoreutils is part of a broader push Microsoft outlined at Build 2026 to make Windows feel less isolated from the wider developer ecosystem. It follows the same pattern as WSL, Windows Terminal, OpenSSH, and WinGet, bringing existing developer workflows to Windows rather than asking developers to relearn them. Just remember the package is still in preview, so test it against your scripts before you rely on it.",
  "title": "Coreutils for Windows 11: Native Linux Commands Without WSL",
  "updatedAt": "2026-06-04T11:34:11.664Z"
}