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