Track 01 of 13 · 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.

10 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 is syntax the shell consumes while building command arguments. Single quotes preserve every enclosed character literally; double quotes still allow parameter, command, and arithmetic expansion while suppressing word splitting and pathname expansion; an unquoted backslash protects the next character, except that backslash-newline continues the line.
  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