Shell scripting
Build reusable scripts, automate tasks, and learn bash patterns that scale from quick fixes to full pipelines.
All CMD Line
/cli • guides • tools
ALL CMD LINE
A structured map of learning paths and practical areas — from first commands to high-skill workflows and playful terminal challenges.
Build reusable scripts, automate tasks, and learn bash patterns that scale from quick fixes to full pipelines.
Aliases, prompts, multiplexers, and workflow tweaks that save time and keep your shell focused.
Playful terminals, classic roguelikes, and typing games that make learning fun and memorable.
Navigate filesystems, manage permissions, and chain commands into reliable daily routines.
Short, approachable walkthroughs that explain the why behind each command and pattern.
Performance tuning, dotfile strategies, and tricky utilities for confident power users.
Shell Scripting Guides
These guides help you move beyond one-liners and into repeatable shell programs. Each topic is written for beginners who want clarity, while still offering patterns and gotchas that seasoned users appreciate.
Understand how the shell parses your commands. We cover variables, positional parameters, the difference between single vs double quotes, and how to pipe data between commands without losing structure.
Write logic that stays readable as scripts grow. Learn when to use for, while, and case, plus how to test files, strings, and commands safely.
Flow Control Checklist
Guard clauses, exit codes, and predictable branching patterns.
Iteration Tips
Handle spaces in filenames, arrays, and globbing safely.
Real-world scripts are built from small, dependable pieces. Explore templates for argument parsing, logging, retries, and working with temporary files.
Start small and automate one task at a time. These guides walk through building scripts that handle backups, file cleanup, environment bootstrap, and reporting without fragile hacks.
Learn how to chain awk, sed, grep, and cut into maintainable data flows. We focus on readability and performance for large files.
Quick wins
Build pipelines that are self-documenting, predictable, and easy to test.
Move from a quick terminal experiment to a reusable script: outline the steps, prototype with pipes, add guardrails, and document expected inputs/outputs. Each guide includes a checklist to help you ship with confidence.
$ learn shell scripting
interactive guides, practical exercises, and battle-tested patterns
$ explore tools & tips
from grep to git, speed up daily workflows
$ play command-line games
practice skills in a playful, low-stakes way
Playful learning Command line games
Command-line games are more than nostalgia — they teach navigation, pattern recognition, and shell fluency in a way that feels natural. From classic roguelikes to CLI chess engines, every session reinforces muscle memory for real workflows.
Play curses-based staples like Nethack, Moon Buggy, or Bastet to practice navigation keys and terminal focus.
Story-driven worlds teach precise commands and reading skills. Try interactive fiction engines and learn how input parsing maps to real CLI argument patterns.
Discover ASCII art generators, terminal visualizers, and CPU-driven toys that show how pipes, streams, and filters connect together.
Clone a tiny game in Bash or Python. Writing a guessing game or a maze crawler is a fast path to learning loops, input, and error handling.
Featured
A curated path for beginners: interpreter picks, a command glossary, and a walkthrough for writing your first branching storyline.
Short challenges you can finish in 10 minutes: pipe the output, parse the hints, solve the maze.
CLI Arena
48
mini challenges
Rotating set of bite-sized games that reward experimentation with flags and shortcuts.
Tools & Tips
Build a modern CLI workflow with the tools and habits used by power users. This section blends core utilities, keyboard efficiency, and terminal customization ideas you can apply immediately.
Quick start checklist
Daily drivers for finding, filtering, and inspecting data.
Compose tiny tools to solve large problems.
Small habits that unlock big productivity.
Get around faster without retyping long paths.
Jump to paths
Use pushd / popd stacks to move between directories.
Path expansion
~, -, and tab completion save keystrokes instantly.
Directory bookmarks
Try zoxide to jump to frequent locations.
Command recall
Use !!, !$, and history search to reuse work.
A practical example for inspecting a log file.
rg "error" app.log | awk '{print $1,$5}' | sort | uniq -c | sort -nr | head
Search for errors, extract columns, count occurrences, and show the top offenders.
Make your terminal a place you want to work.
Prompt essentials
Show branch name, exit status, and time to add context at a glance.
Color themes
Choose a dark theme with consistent syntax colors for readability.
CLI UX tweaks
Enable auto-suggestions, fish-style completions, and multi-cursor editing.
FAQ Getting started
We cover the fundamentals without the fluff — from safe habits to confident scripting. If you’re new, start with the basics. If you’re advanced, skip ahead and sharpen workflows.