The shell is the primary interface for most Linux administration work. This section covers Bash specifically (the default interactive shell on most distributions), from everyday usage through scripting.

  • Bash Basics

    Bash is the default interactive shell on most Linux distributions - this covers navigation, command structure, and the handful of habits that make working in it fast.

  • Environment Variables

    Named values inherited by every child process, used to configure how the shell and other programs behave - distinct from ordinary shell variables, which don't get inherited.

  • Globbing and Regex

    Two pattern-matching systems that look similar but aren't - shell globs expand filenames before a command ever runs, while regular expressions are matched by individual tools like grep, sed, and awk.

  • Pipes and Redirection

    Connecting commands together and controlling where their input and output go - the core mechanism that makes small Unix tools composable into larger ones.

  • Shell Scripting

    Turning a sequence of commands into a reusable, reliable script - shebangs, variables, conditionals, loops, and the habits that keep a script from failing silently.

  • Terminal Multiplexers

    tmux (and the older screen) run a persistent terminal session on the server itself, independent of any one SSH connection - detach from work in progress, log out, and reattach later to find everything exactly as you left it.

  • Text Editors: vim and nano

    Every Linux system needs a way to edit files from the terminal - nano is immediate and discoverable, vim is modal and steeper to learn but installed nearly everywhere, including minimal systems with nothing else available.

  • Text Processing

    The core command-line tools for searching, transforming, and extracting text - grep, sed, awk, cut, sort, and uniq - and how they combine into pipelines that do more than any one of them alone.