fix typos

This commit is contained in:
Sylvestre Ledru
2026-04-05 09:48:25 +02:00
parent b9f48cf0df
commit 834f710c0f
2 changed files with 7 additions and 5 deletions
+3 -3
View File
@@ -1,17 +1,17 @@
+++
title = "Try uutils Coreutils directly in your browser"
title = "Try Uutils Coreutils directly in your browser"
date = 2025-04-04
page_template = "post.html"
authors = ["Sylvestre Ledru"]
+++
We are happy to announce the [uutils playground](/playground) - an interactive terminal that lets you run real Rust coreutils directly in your browser, with no installation, no server, and no network round-trips after the initial page load.
We are happy to announce the [Uutils playground](/playground) - an interactive terminal that lets you run real Rust Uutils Coreutils directly in your browser, with no installation, no server, and no network round-trips after the initial page load.
Just open the page and start typing commands like `ls`, `sort`, `cat`, `head`, `factor`, or any of the 60+ utilities available. You can pipe commands together (`sort fruits.txt | uniq -c | sort -rn`), use redirections (`echo hello > file.txt`, `cat < file.txt`), explore the virtual filesystem, and even switch between 30+ languages using the locale dropdown.
### How it works
The uutils coreutils are compiled to WebAssembly (targeting `wasm32-wasip1`) as a single multicall binary - similar to BusyBox. When you type a command, a minimal JavaScript shell parses your input, sets up pipes between stages, and executes each one by instantiating the WASM binary with the right arguments. A virtual in-memory filesystem backed by [browser_wasi_shim](https://github.com/bjorn3/browser_wasi_shim) provides file I/O. Everything runs client-side - once loaded, the playground works entirely offline.
The Uutils Coreutils are compiled to WebAssembly (targeting `wasm32-wasip1`) as a single multicall binary - similar to BusyBox. When you type a command, a minimal JavaScript shell parses your input, sets up pipes between stages, and executes each one by instantiating the WASM binary with the right arguments. A virtual in-memory filesystem backed by [browser_wasi_shim](https://github.com/bjorn3/browser_wasi_shim) provides file I/O. Everything runs client-side - once loaded, the playground works entirely offline.
An important distinction worth noting: **coreutils only provides individual commands** (`sort`, `cat`, `ls`, etc.). Features like `if`/`then`/`else`, `while` loops, variable expansion (`$VAR`), and globbing (`*.txt`) are shell features provided by Bash, Zsh, or similar - not by coreutils. The playground's JavaScript shell is intentionally minimal, keeping the focus on the coreutils themselves.
+4 -2
View File
@@ -107,9 +107,11 @@ The following are **shell builtins** implemented in JavaScript:
- `help` - list available commands and examples
- `clear` - clear the terminal screen
- `cd` - change the current working directory
- `locale` - show or change the current locale
Some commands (ex: `chcon`, `runcon`, etc) are not yet available in the WASM build because they
depend on platform-specific syscalls not fully supported by WebAssembly/WASI yet.<br />
Some commands (e.g. `chcon`, `runcon`, etc.) are not yet available in the WASM build because they
depend on platform-specific syscalls not fully supported by WebAssembly/WASI.
We are actively working on adding more commands as we improve WASI compatibility in uutils coreutils.