An open API service indexing awesome lists of open source software.

https://github.com/crtypubg/winux

Native Linux-like coreutils for Windows. Single binary. No WSL.
https://github.com/crtypubg/winux

busybox cli coreutils go linux terminal windows

Last synced: 17 days ago
JSON representation

Native Linux-like coreutils for Windows. Single binary. No WSL.

Awesome Lists containing this project

README

          


WINUX Logo

WINUX


Native Linux-like coreutils for Windows

Single binary · No WSL · No aliases


Platform
Go
License
Release

---

## ✨ Features

- ✅ **Single static binary** — one executable, no dependencies
- ✅ **Written in Go** — fast compilation, cross-platform potential
- ✅ **Native Windows executable** — no emulation layer
- ✅ **No WSL required** — works on any Windows 10/11
- ✅ **No aliases or shell wrappers** — real executables
- ✅ **Real STDIN / STDOUT / STDERR** — proper stream handling
- ✅ **Pipe and redirection support** — `type file.txt | winux grep error`
- ✅ **Linux-compatible exit codes** — scripts work as expected
- ✅ **BusyBox-style dispatch** — `argv[0]` command resolution

---

## 🚀 Quick Start

### Download

Download the latest release from [Releases](https://github.com/CRTYPUBG/winux/releases).

### Usage

```powershell
# Basic commands
winux ls
winux ls -la
winux cat file.txt
winux grep error log.txt

# Pipe support
type log.txt | winux grep -i error
winux cat file.txt | winux grep pattern
```

### BusyBox-style (symlink)

```powershell
# Rename or symlink winux.exe to command name
copy winux.exe ls.exe
.\ls.exe -la
```

---

## 📦 Available Commands

| Command | Description | Flags |
|---------|-------------|-------|
| `ls` | List directory contents | `-a`, `-l`, `-h` |
| `cat` | Concatenate and print files | `-n`, `-b` |
| `grep` | Search for patterns | `-i`, `-v`, `-n`, `-c`, `-l`, `-E` |

*More commands coming in future releases.*

---

## 🏗️ Build from Source

### Requirements

- Go 1.21+

### Build

```powershell
go build -ldflags="-s -w" -o winux.exe ./cmd/winux
```

---

## 📁 Project Structure

```
winux/
├── cmd/winux/main.go # Entry point & dispatcher
├── internal/
│ ├── commands/ # Command implementations
│ │ ├── cat.go
│ │ ├── grep.go
│ │ └── ls.go
│ ├── core/dispatcher.go # BusyBox-style command dispatch
│ ├── io/stdin.go # Pipe detection
│ └── utils/exitcodes.go # Linux exit codes
├── assets/ # Branding assets
└── go.mod
```

---

## 🔌 Exit Codes

| Condition | Exit Code |
|-----------|-----------|
| Success | `0` |
| No matches / failure | `1` |
| Invalid usage / error | `2` |
| Command not found | `127` |

---

## 🗺️ Roadmap

- [x] v0.1 — Core commands (`ls`, `cat`, `grep`)
- [ ] v0.2 — More commands (`rm`, `mkdir`, `touch`, `pwd`, `echo`)
- [ ] v0.3 — POSIX-style flags, recursive operations
- [ ] v1.0 — Full coreutils suite, installer, PATH integration

---

## 🤝 Contributing

Contributions are welcome! Please:

1. Fork the repository
2. Create a feature branch
3. Follow Go best practices
4. Keep behavior Linux-compatible
5. Submit a pull request

---

## 📜 License

MIT License © 2026 CRTYPUBG

---


"Linux tools should feel native on Windows, not emulated."