Speed first
Rust core, lean I/O, and formatting that stays snappy on large trees.
cross-platform · rust · open source
f00 is a next-generation ls rewrite:
fast, portable, and built for modern terminals — with an escape hatch
to GNU-compatible mode when you need it.
curl -fsSL https://f00.sh/install.sh | bash
Core listing, TUI, archives, and ship-track DX (completions, man, icons when) are shipped. Remaining work is labeled honestly — we don’t sell vaporware as stable.
Rust core, lean I/O, and formatting that stays snappy on large trees.
Linux, macOS, Windows, and BSD targets with consistent behavior where it counts.
lsQuoting, --zero, -v, hyperlinks, dired, time-styles, LS_COLORS — plus strict --gnu.
Colors, human sizes, recursive listing, and sensible defaults out of the box.
See dirty, staged, and ignored paths inline while browsing a repository.
--icons=auto|always|never — on in TTY by default, off under --gnu.
Machine-readable JSON for scripts; tree view for humans exploring structure.
XDG-friendly config.toml for colors, icons, git, and defaults.
Interactive directory browser: f00 --browse with filter, marks, and open.
List inside zip/tar (and friends) without extracting to disk.
--generate-completions and --generate-man for packaging and shell setup.
Detects OS/arch, downloads the latest GitHub release, verifies checksums when
present, and installs to ~/.local/bin (or
INSTALL_DIR).
curl -fsSL https://f00.sh/install.sh | bash
Pin a version or choose a directory:
curl -fsSL https://f00.sh/install.sh | F00_VERSION=v0.3.0 bash
curl -fsSL https://f00.sh/install.sh | INSTALL_DIR=$HOME/bin bash
Optional ls symlink (off by default):
curl -fsSL https://f00.sh/install.sh | F00_INSTALL_LS=1 bash
git clone https://github.com/theesfeld/f00.git
cd f00
cargo build --release
./target/release/f00 -la
Prefer crates.io when published:
cargo install f00
Full docs live in the README. Installer script: f00.sh/install.sh.
Same spirit as ls, fewer papercuts.
$ f00 -lah
drwxr-xr-x glenda 4.2K Jul 15 .git/
-rw-r--r-- glenda 1.8K Jul 15 README.md
-rwxr-xr-x glenda 12K Jul 15 install.sh
$ f00 --tree
.
├── crates/
│ ├── f00-cli/
│ └── f00-core/
└── site/
$ f00 --json | head -c 120
{"entries":[{"name":"README.md","type":"file",…
$ f00 --gnu -la /tmp
# flag & column shape closer to coreutils ls
Not a pure clone of GNU ls, eza, or lsd — modern defaults plus a GNU escape hatch.
| GNU ls | eza | lsd | f00 | |
|---|---|---|---|---|
| Language | C | Rust | Rust | Rust |
| Icons / git | — | yes | yes | yes |
| Tree / JSON | — | tree | tree | tree + JSON |
| GNU mode flag | native | partial | partial | --gnu |
| Windows | via ports | yes | yes | first-class |
| curl | bash | — | — | — | f00.sh |
Tracking is on GitHub Issues — this is a summary only.
Source of truth is the repository. Contributions welcome under dual MIT / Apache-2.0.