Milestone 0: Mastering the Command Line

Your First Step as a Programmer

Author

Chuck Nelson

Published

October 28, 2025

1 Milestone 0: Mastering the Command Line

Tip🎯 Welcome to Milestone 0!

This is your first and most important step. Before writing code, a programmer must master their tools. Here, you will learn to use the command line—a developer’s most powerful and fundamental tool.

1.1 Overview & Learning Journey

Welcome to the true beginning of your journey as a programmer! In a world of graphical interfaces, you might wonder why we start at the command line. The reason is simple: power, speed, and control. The command line, or “shell,” is the universal language for interacting directly with a computer’s operating system. It allows you to perform complex tasks, automate repetitive work, and run the development tools that make modern software possible.

For students who have primarily used phones, tablets, or Chromebooks, this may feel like a big leap. This milestone is designed to make that leap manageable and empowering. We will start from the very beginning: opening the terminal. From there, you will learn how to navigate your computer’s file system, create and manage files, and perform essential operations—all without touching your mouse. Mastering these skills will build a strong foundation of confidence and competence for all the coding milestones to come.

1.2 What You’ll Accomplish

By the end of this milestone, you will have successfully:

  • Opened and used a command-line terminal on Windows, macOS, or Linux.
  • Oriented yourself within the file system using commands like pwd and ls.
  • Navigated between directories using the cd command and understood concepts like absolute and relative paths.
  • Managed files and directories: creating, copying, moving, renaming, and deleting them from the command line.
  • Understood the structure of a typical user’s file system, including the central role of the “home” directory.

1.3 Learning Objectives & Professional Alignment

The exercises in this module are designed to build the most foundational skills required for any technology professional, aligning with the O*NET SOC Code 15-1251.00 for Computer Programmers.

Module Task O*NET KSAs Technologies Used
Using the Terminal Knowledge: Computers and Electronics
Skills: Interacting with Computers
Abilities: Information Ordering
Operating system software: Bash, Microsoft PowerShell, Windows CMD
File System Navigation Knowledge: Computers and Electronics
Skills: Systems Analysis
Abilities: Deductive Reasoning
Command interpreters: pwd, ls, cd
File & Directory Management Skills: Programming, Active Learning
Abilities: Information Ordering
Command interpreters: mkdir, touch, cp, mv, rm

1.4 Tools & Development Environment

This milestone focuses entirely on the command-line interface (CLI).

A terminal is the application you open to get a command prompt. The shell is the program running inside the terminal that interprets your commands.

  • Windows: You will use Windows Terminal, which can run different shells. We will focus on PowerShell (the modern default) and Command Prompt (CMD) (the legacy shell).

  • macOS: You will use the built-in Terminal application, which runs a shell called Zsh (very similar to Bash).

  • Linux: You will typically use an application like GNOME Terminal or Konsole, which runs a shell called Bash.

Throughout these exercises, we will provide commands for all these environments. While the commands may differ slightly, the underlying concepts are universal.

Back to top