ABCsteps lesson path
How Developers Actually Work: The Terminal
The terminal is a precise control surface. Learn the commands developers use to inspect projects and run tools. Build one artifact, keep one review trail, and make the work easy to inspect later.
- Lesson
- 04
- Time
- 40 min
- Access
- public lesson
Learning objective
Navigate files, run commands, and read terminal output with confidence.
Lab outcome
Use shell commands to inspect and run a local project.
Module milestone
Publish a small working app and its GitHub repository.
Lesson proof workflow
Read, build, then review the evidence.
- Step 1ReadStart with Command line basics before touching tools.
- Step 2BuildBuild toward: Use shell commands to inspect and run a local project.
- Step 3ReviewReview the evidence using Config inspection.
Toolchain
The terminal is the control surface behind serious engineering work.
These are the practical surfaces used in this lesson. Learn the habit first, then connect it to the wider engineering ecosystem.
Practice precise commands and readable output.
Run project tools from the command line.
Read the structured files many tools depend on.
Proof of work
Leave one inspectable trail from this lesson.
The useful output is not a passive note. It is a small artifact another person can inspect: a working file, a command result, a commit, a screenshot, a README note, or a demo link.
Lesson lab: Use shell commands to inspect and run a local project.
Tool and platform logos are ecosystem references only: no affiliation, endorsement, interview access, hiring promise, salary promise, or placement guarantee.
Build
Produce the artifact
Complete the lab and keep the result visible: Use shell commands to inspect and run a local project.
Record
Save review evidence
Capture what changed, what broke, and how Command line basics became clearer through the work.
Explain
Write the vocabulary
Use your own words for Local runtime control and Config inspection; this is what makes the lesson inspectable later.
Skills companies recognize
Translate the lesson into inspectable work language.
This lesson turns one small lab into the language a learner can use in a README, demo note, or technical conversation. The point is not to collect logos; the point is to explain work clearly enough that another engineer can inspect it.
Where this skill appears
Every serious software team expects command-line confidence because builds, logs, and deployments speak through text.
Ecosystem references
Platform and company logos are ecosystem references only: no affiliation, endorsement, interview access, hiring preference, salary outcome, or placement guarantee.
README line
Name the artifact
Lab proof: Use shell commands to inspect and run a local project. Connect it to Command line basics so the result reads like work, not a passive note.
Review line
Explain the stack
Use Git, Node.js, JSON to explain Local runtime control and what changed between the first attempt and the inspected result.
Conversation line
Answer with evidence
If a team asks about Config inspection, use this proof line: Show the command you ran, the output you read, and the fix you made after interpreting the terminal result.
Proof translation
Skill signal
Command line basics is the market word. The lesson makes it visible through a small working artifact.
Proof artifact
The inspectable artifact is: Use shell commands to inspect and run a local project.
Interview answer
Use Local runtime control and Config inspection to explain what changed, what failed, and how you verified it.
Paid guidance
Read publicly. Upgrade when guidance will help you finish.
This lesson remains part of the public written syllabus. Paid help is online-only and human-led: video walkthroughs as they roll out, live class context, WhatsApp Q&A, and project review around the same work.
No account wall, automated checkout, or placement promise is introduced here. Enrollment stays human-led by WhatsApp or call, and the useful proof remains the learner's own artifact.
Public
Written lesson stays open
Read the prepare and review material for lesson 04 on the public site before buying anything.
Recorded
Recorded and live guidance clarify the work
Paid guidance can add founder-led video walkthroughs as they roll out and live online class context; the teaching explains the work, but does not replace the written lesson.
Human
Questions use real context
When stuck, useful guidance starts from the route, error, screenshot, repo fragment, and the lab artifact: Use shell commands to inspect and run a local project.
Phase 1 · Briefing
Lesson briefing
Before You Study (5 mins)
Lesson focus: The "black screen with green text" you see in movies is the terminal — and contrary to its cinematic reputation, it is not the domain of hackers but the daily working surface of every serious software engineer. Today we get past the intimidation and learn the small set of commands that compose into 80% of practical command-line work. The same commands run on your laptop, on a cloud server you SSH into, and on the Linux containers we'll build in Module B. Learning them once pays back forever.
What you should have ready:
- A terminal application open: Terminal (macOS), Windows Terminal with WSL or Git Bash (Windows), or any terminal (Linux)
- VS Code from Lesson 02 — we'll use its built-in terminal too
- Your project folder where the Snake game lives
- About 60 minutes of typing time
- No fear — every command in this lesson is reversible
The Concept
A terminal is a text-only interface to your computer. You type a command; a program (the shell — usually bash or zsh) parses what you typed, runs the right tool, and prints the result. That is the entire model. There is no magic, no cinematic green text; there is a typed contract between you and a tool.
The reason engineers prefer the terminal over the file manager + GUI app combination is not nostalgia. It is composition. Every Unix-style command-line tool follows one principle (the Unix philosophy, articulated by Doug McIlroy in the 1970s): do one thing well, and produce text output that the next tool can consume. This means small tools chain into pipelines that solve complex problems in one line — pipelines that would take dozens of lines of GUI clicking, or a custom Python script, to replicate.
The five categories of commands you'll use every day:
- Navigation —
pwd,ls,cd— where am I, what's here, take me there - File operations —
mkdir,touch,cp,mv,rm— create, copy, move, delete - Inspection —
cat,less,head,tail,grep— look inside files - Process management —
ps,kill,top/htop— what's running, stop it - Composition — pipes (
|), redirection (>,>>), andxargs— connect commands into pipelines
The single command that demonstrates the whole philosophy is the pipe (|). It takes the output of the command on its left and feeds it as input to the command on its right. So ps aux | grep node means "list all running processes, then keep only the lines that mention node". You combine two simple tools into a question that doesn't have a single tool: which Node processes are running? Once this clicks, the terminal stops feeling like a list of memorized commands and starts feeling like a Lego set.
Two more concepts will matter forever:
- Permissions — every file in Unix has an owner, a group, and a mode (
rwxfor owner, group, others).chmod 755 script.shsets exactly the right combination for an executable script: owner can read/write/execute, others can read and execute. The numbers compose three permission triples in octal; once you've seen the pattern, the syntax becomes automatic. - Environment variables —
$PATHtells the shell where to look for executables;$EDITORtells programs which editor to open. Shell startup files (~/.bashrc,~/.zshrc) are where you set them once and they persist forever.
Want the full reference list with sed, awk, ssh, scp, curl, and the rest? The companion article Linux Terminal Commands Every Developer Should Know covers the working set in detail. Use it as the reference card you keep open during your first month.
Quick Concepts
| Term | Simple Meaning |
|---|---|
| Terminal | The text window — the application you open |
| Shell | The program inside the terminal that interprets your commands (bash, zsh) |
| Command | A program you run by typing its name (sometimes with flags and arguments) |
| Directory | A folder, in Unix-speak |
Pipe (|) | Send output of left command into input of right command |
$PATH | The list of directories the shell searches for executables |
What We Will Build
By the end of this lesson, you will have done these specific things:
- Opened your terminal of choice, typed
pwd, and read your output. Recognized the path is your current location in the file tree. - Run
ls -lahto list the current directory's contents — observed file sizes, owners, dates. - Created a sandbox directory:
mkdir terminal-practice && cd terminal-practice. - Created a few text files:
touch a.txt b.txt c.log— listed them; deleted just the.logfile withrm c.log. - Practiced piping:
ls -lah | grep ".txt"— observe how the second command filters the first command's output. - Practiced redirection:
echo "hello" > greeting.txt— created a file from terminal output. Thencat greeting.txtto read it back. - Used
grep -r "snake" .inside your Snake game directory to find every line of code that mentions the snake. Watched the search work across files. - Started your Snake game's dev server from the terminal:
npm run dev. Confirmed the samelocalhost:3000URL loads your game. - (Macos / Linux) Set one alias in your shell startup file:
alias gs='git status'. Reload the shell. Typegsinstead ofgit statusfor the rest of your life.
By step 9, you will have lived all five command categories — navigation, file operations, inspection, processes, composition — and customized your shell once. The only way the terminal stops feeling foreign is reps; today is rep one.
Think About
Before studying, consider:
- Right-clicking a folder and picking "New Folder" takes ~3 seconds and a moment of mouse aim. Typing
mkdir footakes ~0.4 seconds and zero aim. Multiply that across the hundreds of folder creations a working developer does in a year. - A senior engineer on a remote production server cannot use a GUI — there is no screen. They have an SSH terminal. Every developer who can ship to production lives part of their day in that terminal. When does that day start for you?
By the End
After this lesson, you'll:
- ✅ Not be intimidated by a black terminal window
- ✅ Know the five command categories and at least two commands in each
- ✅ Understand pipes (
|) and redirection (>,>>) as the composition primitives - ✅ Know what
$PATHis and why your shell knows wherenodelives - ✅ Have set one alias in your shell startup file
- ✅ Be ready for the SSH and curl commands that show up in Module B
Hacker mode activating — except the secret is that there's no secret. 📟
Next lesson · 05
Your Developer Passport: GitHub
Publish a project on GitHub, understand commits, and begin building a portfolio that shows actual work.