Skip to content

Alias conflict strategies and Windows-native design approach — from WinuxCmd project #5

@caomengxuan666

Description

@caomengxuan666

Hi Microsoft Coreutils team — I noticed your project while working on WinuxCmd (https://github.com/caomengxuan666/WinuxCmd) and wanted to share some notes from a different approach to the same problem space.

WinuxCmd takes a Windows-native design philosophy rather than a Linux-to-Windows port. Commands are reimplemented from the ground up for the Windows environment — no WSL, no MSYS2, no POSIX layer. ~900KB single binary, 148 commands, designed to work with Windows tools in the same pipeline (netstat -ano | grep 8080 works out of the box).

The alias conflicts documented in your ⚠️ table (cat, cp, rm, ls conflicting with PowerShell aliases) are exactly what we ran into. Our solution: scripts/create_links.ps1 sets up individual symlink/hardlink entry points at install time, and parent shell detection automatically routes unknown commands back to the parent cmd/PowerShell — so users never get stuck wondering "which version is running?"

One more thing: your README marks kill as 🛑 not shipped due to no POSIX signals, but we found process enumeration + terminate by PID works perfectly fine on Windows. Worth reconsidering if users ask for it.

Shell integration docs: https://github.com/caomengxuan666/WinuxCmd/blob/main/DOCS/en/winux_shell_integration_en.md
Scripts: https://github.com/caomengxuan666/WinuxCmd/tree/main/scripts

Different approaches, same problem space. Happy to exchange notes. Keep up the great work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions