cli-tutor 0.3.0

Interactive terminal app for learning Unix command-line tools
Documentation

cli-tutor

crates.io License: MIT

Learn Unix command-line tools by typing real commands — not reading about them.

Pick a tool, read the intro, try the examples, then solve exercises in a live shell. Each command you type is actually executed and checked against the expected output.

cli-tutor demo


Install

Homebrew (macOS/Linux)

brew install ShadabGhazali/cli-tutor/cli-tutor

Cargo

cargo install cli-tutor

Pre-built binaries — grab the latest from Releases (macOS Intel/ARM, Linux, Windows).

# Homebrew
brew upgrade ShadabGhazali/cli-tutor/cli-tutor

# Cargo
cargo install cli-tutor --force
cargo build --release
./target/release/cli-tutor

Requires a terminal at least 80×24.


Modules

Tool What it does Exercises
grep Search files for patterns 12
awk Field-based text processing and transformation 10
sed Stream editor — substitute, delete, insert lines 10
find Locate files by name, type, size, permissions 9
xargs Build and run commands from standard input 6
cut Extract fields and columns from text 5
sort Sort lines — alphabetically, numerically, by field 6
uniq Remove or count duplicate adjacent lines 4
tr Translate or delete individual characters 4
wc Count lines, words, and bytes in files 6
tar Create, list, and extract archive files 5
chmod Change file permissions 6
git Version control — init, commit, branch, stash, diff 10
jq Query and transform JSON from the command line 8
make Automate build steps and tasks with Makefiles 5

106 exercises — beginner to advanced. Progress is saved automatically.


Keys

Browsing (Intro / Examples views)

Key Action
Switch module
Tab Cycle views: Intro → Examples → Exercise → Free Practice
PgUp PgDn Scroll content
/ Fuzzy search modules
d Cycle difficulty filter (All → Beginner → Intermediate → Advanced)
P Progress summary
q Quit

Exercise view

Key Action
Enter Submit command
Browse command history
PgUp PgDn Scroll output
Move cursor
Ctrl+← Ctrl+→ Jump by word
Ctrl+N Ctrl+P Next / previous exercise
Ctrl+T Reveal next hint
Ctrl+S Show / hide solution
Ctrl+F Toggle file viewer
Ctrl+R Reset exercise
Ctrl+L Clear output
Esc Back to browse

Free Practice view

Key Action
Enter Run command
Browse command history
PgUp PgDn Scroll output
Ctrl+L Clear output
Esc Back to browse

Anywhere

Key Action
Shift+P Toggle progress overlay
? Toggle help
Ctrl+C Quit

CLI flags

cli-tutor --version
cli-tutor --no-color
cli-tutor --completions bash | zsh | fish
# bash
cli-tutor --completions bash >> ~/.bash_completion

# zsh
cli-tutor --completions zsh > ~/.zsh/completions/_cli-tutor

# fish
cli-tutor --completions fish > ~/.config/fish/completions/cli-tutor.fish

Config

Optional config at ~/.config/cli-tutor/config.toml (respects $XDG_CONFIG_HOME):

no_color        = false   # disable all colour styling
timed_challenge = false   # show solve time and personal best on correct answers
skip_completed  = false   # auto-skip already-solved exercises during navigation
default_module  = "grep"  # open on this module instead of the first in the list

A missing or corrupt config file is silently ignored — defaults apply.


Stack

Rust + Ratatui + Crossterm. Single binary, no runtime dependencies.