A collection of small, dependency-light Rust terminal tools, presented
through a single launcher, rustcli.
| Tool | What it does |
|---|---|
fast |
Internet speed test (download throughput + sparkline) |
sysmon |
System monitor: CPU/MEM/DISK/NET/battery, processes (procman), temperatures (tempmon) |
netwatch |
Live network: per-interface throughput and a connections table with PID mapping |
diskmon |
Disk usage per mount and per-device read/write I/O rates |
All tools read Linux /proc and /sys directly and use ratatui for the UI.
They target Linux; most require a real terminal (TTY).
This is a Cargo workspace:
rust-cli-tools/
├── Cargo.toml # workspace manifest
├── rustcli/ # the `rustcli` dispatcher binary
├── fast/
├── sysmon/
├── netwatch/
└── diskmon/
Each tool is an independent crate, so it can be built and installed on its own.
Requirements:
- Linux (the tools read
/procand/sys). - A Rust toolchain new enough for edition 2024 (Rust 1.85+, install via rustup).
- A real terminal (TTY) for the interactive tools.
- Network access for
fast(it downloads a file to measure speed).
# 1. Clone
git clone https://github.com/bivekk51/rust-cli-tools rust-cli-tools
cd rust-cli-tools
# 2. Build everything (release is recommended)
cargo build --release
# 3. Run a tool through the launcher
./target/release/rustcli sysmonThat's it. The first cargo build --release compiles all five binaries into
target/release/.
cargo build --release # builds every tool + the launcherBinaries land in target/release/.
./target/release/rustcli sysmon # run a tool
./target/release/rustcli netwatch
./target/release/rustcli help # list tools
./target/release/rustcli --versionArguments after the tool name are passed straight through to the tool, e.g.
rustcli <tool> --help.
Option A — copy the release binaries (no install step, just a symlink to PATH):
cargo build --release
ln -s "$PWD/target/release/rustcli" ~/.local/bin/rustcli
ln -s "$PWD/target/release/sysmon" ~/.local/bin/sysmon
# repeat for fast / netwatch / diskmonOption B — cargo install each crate into ~/.cargo/bin:
cargo install --path rustcli
cargo install --path fast
cargo install --path sysmon
cargo install --path netwatch
cargo install --path diskmonAfter that, both forms work from anywhere:
rustcli sysmon # via the launcher
sysmon # directlyIf you want one short command, symlink the launcher:
ln -s "$(command -v rustcli)" /usr/local/bin/rc
rc diskmonUnlicensed / personal use.