Linux & Shell Fundamentals

Linux and Shell Fundamentals

Linux user-space fundamentals and safe, automation-oriented Bash scripting: the filesystem, pipes and redirection, text processing, processes and permissions, defensive scripting, and CI/cron execution.

intermediate14 lessons6 modules8h total

Who it's for

Developers who want real command-line literacy for testing, automation, CI, and backend workflows — Linux user-space fundamentals and safe shell scripting, not a system-administration certification course.

What you'll be able to do

  • Navigate and safely manipulate files using Linux's single, rooted filesystem model
  • Use globbing, quoting, expansion, pipes, and redirection correctly, and read exit codes
  • Process text with grep, sed, awk, sort, uniq, cut, and related utilities
  • Manage environment variables, PATH, processes, signals, and file permissions
  • Write defensive Bash scripts using set -euo pipefail, safe temp files, cleanup traps, and useful logging
  • Explain why unattended execution (cron, CI) differs from interactive use, and design scripts with distinct, meaningful exit codes

Not started — 14 lessons, no account required.

Start this course

Practice this course →Add to a study plan →Interview questions

Filesystem and shell basics

Navigation and safe file manipulation, then globbing/quoting/expansion and I/O redirection.

  1. The Linux Filesystem Model and Navigation

    The single-rooted tree every Linux path describes, absolute versus relative paths, and the core commands for looking around and changing things safely.

    18 min
  2. Globbing, Quoting, and Expansion

    How the shell rewrites what you typed before a command ever sees it — pattern matching, variable substitution, and the quoting rules that control exactly when that rewriting happens.

    19 min
  3. Standard Streams, Pipes, Redirection, and Exit Codes

    The three data streams every command has by default, redirecting them to files, chaining commands with pipes, and the exit-code convention that lets one command react to another's success or failure.

    19 min

Text processing

grep/sed/awk foundations, then sort/uniq/cut/head/tail/wc and archives.

  1. Text Search and Transformation: grep, sed, and awk Foundations

    Finding lines that match a pattern, and the two workhorse tools for transforming text at the line and field level — enough to be genuinely useful, not a complete reference.

    20 min
  2. sort, uniq, cut, head/tail, wc, and Archives

    Six small, single-purpose utilities that combine into real, useful pipelines — plus tar's real relationship to compression, a genuinely common point of confusion.

    19 min

Environment and processes

Environment variables and PATH, then processes, signals, and permissions.

  1. Environment Variables, PATH, and Executable Files

    The variables every process inherits, PATH's role in turning a bare command name into a real program, and what actually makes a file executable in the first place.

    19 min
  2. Processes, Signals, and Permissions

    Inspecting and stopping running programs, the difference between asking a process to stop and forcing it, and the rwx permission model that governs who can do what to a file.

    20 min

Shell scripting

Positional parameters, conditionals, loops, and functions, then defensive scripting.

  1. Shell Scripting: Parameters, Conditions, Loops, and Functions

    Turning a sequence of commands you'd type by hand into a real, reusable script — parameters, conditionals, loops, and functions, the same building blocks as any programming language, applied to shell.

    21 min
  2. Defensive Scripting: set -e, set -u, and pipefail

    Three options that make a script fail loudly and immediately instead of silently continuing after something goes wrong — and the real, specific limitations of set -e worth knowing precisely.

    21 min

Robust, portable scripts

Temp files, cleanup traps, and logging; ShellCheck and portability; cron/CI execution.

  1. Temp Files, Cleanup Traps, and Logging

    Creating scratch files safely with mktemp, guaranteeing cleanup even when a script fails partway through using trap, and writing logs that are actually useful for later debugging.

    19 min
  2. Catching Bugs Early: ShellCheck and Portability

    How a static analyzer catches real shell scripting bugs before a script ever runs, and the specific portability traps that make a script behave differently across sh, bash, and different operating systems.

    18 min
  3. Running Scripts Unattended: cron and CI Execution

    Why a script that works perfectly in an interactive terminal can behave differently when run unattended by cron or a CI pipeline, and how to write scripts that produce genuinely useful, actionable exit codes.

    20 min

Networking and safety

curl fundamentals, then secrets, command-history, and destructive-command safety.

  1. Networking Inspection and curl Fundamentals

    Reading curl's output and exit codes to distinguish a network failure from an HTTP-level failure, and the core flags for making requests, following redirects, and inspecting responses from the command line.

    19 min
  2. Secrets, Command History, and Destructive-Command Safety

    Why a password typed directly on the command line is a real secret-leak risk, how shell history quietly persists commands you've run, and habits that make a genuinely destructive command safer to author and run.

    20 min