Track 01 of 12 · Start here

Terminal Foundations

Build a reliable model of how a shell reads commands and resolves paths. These foundations make later work with pipelines, scripts, and remote systems predictable.

Ten concepts, in learning order

Each lesson assumes the ideas above it and prepares you for the ones below.

  1. 01Command anatomyA shell command is a sequence of words that identifies a command to run and supplies its options, option values, and positional arguments according to that command's interface.
  2. 02Current working directoryThe current working directory is the directory a process uses as the starting point when resolving a relative pathname.
  3. 03Absolute vs relative pathsAn absolute pathname starts from the filesystem root, while a relative pathname starts from the process's current working directory or another explicitly supplied directory reference.
  4. 04Files and directoriesFiles store byte sequences and directories map names to filesystem objects; command-line utilities create, inspect, copy, rename, and remove those entries.
  5. 05Home, current, and parent pathsIn shell use, ~ is commonly expanded to a home-directory path, while . and .. are pathname components referring to the current and parent directories.
  6. 06Manual pages and built-in helpManual pages, a program's help option, and a shell's built-in help are complementary sources that document command syntax and behavior for the installed environment.
  7. 07Quoting and escapingShell quoting controls which characters retain literal meaning during parsing and expansion: single quotes preserve all enclosed characters, double quotes preserve most text while allowing selected expansions, and backslash quotes one following character in context.
  8. 08Filename expansion (globbing)Filename expansion is the shell step that replaces unquoted pathname patterns such as *, ?, and bracket expressions with matching existing pathnames before launching a command.
  9. 09Shell variables vs environment variablesA shell variable is state maintained by the shell, while an exported variable is included as a name-value environment entry for subsequently created child processes.
  10. 10PATH and command lookupPATH is an ordered list of directories a shell searches when a command name contains no slash, subject to shell built-ins, functions, aliases, and cached resolutions.

Continue the curriculum

Next: Streams, Pipes & Text

Learn the byte-stream model that lets command-line programs work together. Route data, react to status, search text, and build inspectable pipelines.

Open track 2