Surfalytics
CLI course overview

Just Enough CLI · Step 1 Free

What is a shell, and why data people need it

A shell is a program that runs commands — the ones you type into a terminal window. Commands can be other programs or built-in features of the shell. The shell is also a small programming environment: Unix programmers break tasks into small components and use the shell to piece them together.

All Unix shells derive from the Bourne shell (/bin/sh), developed at Bell Labs for early Unix. Linux uses an enhanced version called bash (“Bourne-again shell”) — the default on most Linux distributions. macOS uses zsh (Z shell) since Catalina — an extension of bash with more features and themes.

Reading the prompt

The symbol at the end of the prompt tells you who you are:

  • $ — a normal user.
  • # — the system administrator (root). Be careful: root can delete anything.
  • % — the C shell / zsh style prompt.

Where data professionals actually use the CLI

Data Engineer:

  1. SSH — connect to VMs and servers through the terminal (including tunnels).
  2. Modify config files on servers with nano or vim.
  3. Admin duties for ETL and BI tools.
  4. Git — version control is a command-line tool first.
  5. IDE terminals — every editor has one built in.
  6. AWS / Azure / GCP CLIs — much faster than clicking through web consoles.
  7. Shortcuts and aliases — save time on repeated commands.
  8. Cron — schedule scripts to run automatically.
  9. Run scripts and automate everything.

Data Analyst:

  1. SSH to VMs.
  2. Git.
  3. Edit config files (nano, vim).
  4. Cron.
  5. Run scripts and automation.

Overall, it is about engineering excellence: the terminal is where the real work of data platforms happens. Every tool you will meet later — dbt, Airflow, Docker, cloud CLIs — assumes you are comfortable here.

How this course works

There is no simulator on these pages — the best practice environment is the real terminal on your own computer. Each topic ends with a short practice checklist. Run the commands, then mark the topic complete.

Practice in your terminal:

  1. Open a terminal (Terminal on macOS, or Ubuntu/WSL on Windows — next topic shows how to set it up).
  2. Look at your prompt. Find the $ or % symbol.
  3. Type echo $SHELL and press Enter — it prints which shell you are running.