You've already forked uutils.github.io
mirror of
https://github.com/uutils/uutils.github.io.git
synced 2026-06-10 16:12:28 -07:00
fix typos
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user