Lesson 4 of 6 · The Developer Rig
The Command Line & PowerShell
Buttons and menus are great, but engineers often type commands instead. It's faster, repeatable and works the same on every machine.
This lesson is locked. You can read ahead, but finish earlier stops to earn progress.
Listen
Watch
Read
Terminal and shell are related, not identical
A terminal is the text interface. A shell interprets the commands entered there. VS Code's integrated terminal can run PowerShell, zsh or another shell; opening VS Code does not guarantee you are in a particular shell. On Windows this course uses PowerShell; on Mac it commonly uses zsh. Check the selected terminal profile when syntax behaves differently.
A prompt shows where you can type; it is not part of the command. If a tutorial displays PS C:...> or $ before a command, enter the command after that prompt—not the prompt text itself. Press Enter to run one command, then read the response before the next. Some successful commands print nothing.
Know where the command will act
The working directory is the folder where the shell currently stands. Check with pwd on Mac or Get-Location in PowerShell. Listing files is read-only; creating files changes that location.
| Intent | Command |
|---|---|
| List current items | ls |
| Move into a named folder | cd folder-name |
| Move to parent | cd .. |
| Create a folder | mkdir folder-name |
| Open this folder in VS Code | code . |
The concepts transfer across systems, but arguments and output may differ. A dot means current directory; two dots mean parent. ~ commonly names your home folder. Paths containing spaces need quotes, for example cd "Practice Projects", otherwise the words may be interpreted as separate arguments.
Rehearse one harmless project
Start in your home/workspace area and run these separately:
cd ~ mkdir terminal-practice cd terminal-practice ls
Check location again. An empty listing is expected in a new folder; it does not mean navigation failed. Create notes.md with one sentence in VS Code, save, then list again. Now the file should appear. Use cd .. and list: terminal-practice should be a child of the parent folder.
Return to your intended studio-hq folder before the workspace activity. If studio-hq already exists, navigate to it rather than recreating it. Use code . if the command is available; otherwise use VS Code's Open Folder. On Mac, the editor's command palette can install the code command in PATH; on Windows the installer option provides it.
Read errors without escalating
“Path not found” usually means a typo, wrong working directory or missing folder. “Command not found/not recognised” usually means the program is absent or PATH does not include it. “Permission denied” is different; do not respond by deleting folders or running everything as administrator.
Use up-arrow for command history and Tab for completion, but inspect a recalled command before Enter. A long-running server occupies that terminal until stopped; Ctrl+C normally interrupts it. Open a second terminal to inspect files while a server runs rather than typing into a process that is still busy.
Keep the exercise bounded
Use your own practice folder. Do not run deletion commands, downloaded scripts or commands you cannot explain. A shell can change real files; there is no automatic undo for every terminal action.
StackFoundry's folder reading is read-only and excludes filenames such as .env and large/dependency folders. It is not a detector of every secret: credentials inside an ordinary allowed source or README file can still be shared. Keep credentials out of all synced files and inspect what you submit.
Assessment readiness
Create and locate a folder, save a README.md, demonstrate a listing and explain each path. Predict where a relative file would be created before running anything. You are ready for workspace sync when you can select the intended project directory, not your entire home folder, and distinguish its files from the terminal's prompt/output.
Key terms
- Terminal
- A text window for typing commands.
- Working directory
- The folder the terminal is currently in.
- cd
- Change directory — move between folders.
- Extension
- The .xyz ending that says what type a file is.
- Markdown
- Plain text with simple formatting (.md files).
Summary — copy into your notes
- The terminal runs typed commands.
- It always works inside one folder — the working directory.
- cd moves, mkdir creates, code . opens VS Code.
- Extensions tell programs what a file contains.