Bash

The most common command-line shell for navigating and scripting on Unix-like systems.

CurrentbeginnerBeginner-friendlyFull course available

Overview

Bash is a command-line shell and scripting language for interacting with a Unix-like operating system (Linux, macOS) -- running programs, managing files, and automating repetitive tasks. Comfort with a shell is a prerequisite for most server administration, CI/CD, and Docker/Kubernetes work.

What it is
A command-line shell and scripting language for interacting with a Unix-like operating system.
Why it's used
Nearly every server, CI pipeline, and container runs on a Unix-like system where Bash (or a compatible shell) is the default interface.
Where it fits
The foundational skill underneath server administration, Docker, CI/CD pipelines, and most backend deployment workflows. The Linux and Shell Fundamentals course covers this in depth: pipes and redirection, text processing, environment variables, processes and permissions, and defensive scripting (set -euo pipefail, cleanup traps, useful exit codes) -- entirely commands you run in your own terminal, never executed by this platform.

Core concepts

  • Navigating the filesystem (cd, ls, pwd)
  • Piping and redirection (|, >, >>)
  • Variables and simple scripts
  • Common utilities (grep, find, cat)

Example

Piping (|) chains small, focused commands into a larger operation -- find locates files, xargs passes them to grep -- a core Unix philosophy of composing simple tools.

# Find all JavaScript files modified in the last day, count matching lines
find . -name "*.js" -mtime -1 | xargs grep -c "TODO"

Common use cases

  • Server administration
  • Automating repetitive local tasks
  • Writing CI/CD pipeline scripts

Project ideas

  • Write a small shell script that backs up a directory to a timestamped archive

Official references