Terminal, Shell, Linux & Git — The Big Picture
Before you type your first command, let's understand the tools you're about to learn and how they fit together.
What is a Terminal?
A terminal is a text-based window where you type commands to control your computer. Instead of clicking icons with a mouse, you type instructions and press Enter.
Think of it like texting your computer — you send a command, and it replies with a result.
You type: ls
Computer: file1.txt file2.txt photos/
Other names for the same idea
You'll hear people say "terminal", "command line", "console", or "CLI" — they all mean roughly the same thing: a text interface to your computer.What is a Shell?
The shell is the program that runs inside the terminal. It reads your commands, understands them, and tells the operating system what to do.
┌─────────────────────────────┐
│ Terminal (the window) │
│ ┌───────────────────────┐ │
│ │ Shell (the program) │ │
│ │ $ ls │ │
│ │ file1.txt file2.txt │ │
│ └───────────────────────┘ │
└─────────────────────────────┘
There are different shells:
| Shell | Notes |
|---|---|
| Bash | The most common on Linux & older Mac |
| Zsh | Default on modern Mac |
| PowerShell | Default on Windows |
| sh / ash | Lightweight shells (used in this course) |
| Fish | User-friendly alternative |
ls, cd, mkdir) work the same in almost all of them.What is Linux?
Linux is a free, open-source operating system — the software that manages your computer's hardware and runs programs. Just like Windows or macOS, but free and open.
Linux powers:
- 🌐 96% of the world's top web servers
- 📱 Android phones (built on Linux)
- ☁️ Cloud platforms (AWS, Google Cloud, Azure)
- 🐳 Docker containers
- 🖥️ Most developer tools & servers
When you use the terminal in this course, you're running a real Linux system in your browser!
Terminal on Different Operating Systems
Every major OS has a terminal, but they work a bit differently:
| Linux | macOS | Windows | |
|---|---|---|---|
| Terminal app | Terminal, Konsole | Terminal.app, iTerm2 | Windows Terminal, cmd |
| Default shell | Bash | Zsh | PowerShell |
| List files | ls | ls | dir (cmd) or ls (PowerShell) |
| Change directory | cd | cd | cd |
| Clear screen | clear | clear | cls |
| File paths | /home/user/docs | /Users/name/docs | C:\Users\name\docs |
Key differences
- Linux & macOS are very similar (both based on Unix). Commands are nearly identical.
- Windows Command Prompt (cmd) uses completely different commands (
dirinstead ofls,delinstead ofrm). - Windows PowerShell supports many Linux-style commands, but has its own syntax too.
- Windows WSL (Windows Subsystem for Linux) gives you a real Linux terminal on Windows — this is what most developers use today.
In this course, we teach Linux/Unix commands because they're used on servers, in cloud computing, in Docker, and on macOS. Once you know these, you can work anywhere.
What is Git?
Git is a completely separate tool — a version control system. It tracks every change you make to your code over time.
| Without Git | With Git |
|---|---|
| essay_FINAL_v3.docx | One file with full history |
| "Who deleted that line?" | See exactly who changed what and when |
| Emailing files back and forth | Everyone works on the same project |
| Afraid to experiment | Create a branch, try anything safely |
Git vs GitHub
| Git | GitHub |
|---|---|
| Software on your computer | Website that hosts Git projects online |
| Works completely offline | Requires internet |
| Tracks file history | Adds collaboration (Pull Requests, Issues) |
| Free, open-source | Free for public projects |
How It All Fits Together
┌──────────────────────────────────────────────┐
│ YOUR COMPUTER │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Terminal │ │ VS Code │ │
│ │ (text UI) │ │ (graphical) │ │
│ └──────┬───────┘ └──────────────┘ │
│ │ │
│ ┌──────┴───────┐ │
│ │ Shell │ (Bash, Zsh, PowerShell) │
│ └──────┬───────┘ │
│ │ │
│ ┌──────┴───────┐ ┌──────────────┐ │
│ │ Linux/OS │ │ Git │ │
│ │ (commands) │ │ (version │ │
│ │ ls, cd, │ │ control) │ │
│ │ mkdir, rm │ │ git commit │ │
│ └──────────────┘ └──────┬───────┘ │
│ │ │
└─────────────────────────────┼────────────────┘
│ push / pull
┌────────┴────────┐
│ GitHub │
│ (cloud hosting)│
└─────────────────┘
What You'll Learn in This Track
- Terminal Fundamentals (this course) — Linux commands: navigate files, create directories, search, pipe commands
- Git Fundamentals — Version control: track changes, commit, branch, merge
- Git Workflows — Collaboration: GitHub, Pull Requests, branching strategies
The Terminal in This Course
You'll practice in a real Linux terminal running in your browser. It's a safe sandbox — you can't break anything! If something goes wrong, just click Reset to start fresh.
Ready? In the next lesson, you'll type your very first command. Let's go! 🚀