I've been using Claude Code for client work and actively trying to learn what's actually happening under the hood. My approach is to ask every "dumb question" that comes to mind.
What's zsh?
What's an alias?
What does that symbol mean?
This led me to build a glossary of terminal concepts, written in plain English for people like me.
I use the terminal instead of Cursor or VS Code because that's where I started, and honestly, the GUI (graphical user interface) tools just overwhelm me. One window. One blinking cursor. That's all I need.
Here's what I've learned so far.
My Setup
- Mac (Apple Silicon)
- macOS Sequoia (15.x)
- iTerm2 as my terminal
- Claude Code (CLI version)
I specifically chose the terminal over Cursor, Antigravity, or other VS Code forks because I wanted fewer moving parts. One window. One interface. Just me talking to Claude.
Who This Is For
This glossary should help you regardless of how you're accessing Claude:
- Terminal / iTerm2 users - This is exactly what I use. Everything applies directly.
- Cursor / VS Code users - The integrated terminal in your editor works the same way. Open it with `Ctrl+`` and these concepts apply.
- Warp users - Warp is a modern terminal with AI built in. Same shell concepts, just a different interface.
- Antigravity users - Same deal. The underlying shell (zsh/bash) is identical.
The terminal is the terminal. The glossary below works everywhere.
The Basics
Shell (zsh)
The program running inside your terminal. It waits for you to type commands, then executes them. Your Mac uses zsh by default. Think of it as a robot that takes orders.
Bash
Another shell, older than zsh. They're 95% the same. When people say "bash command," they usually just mean "terminal command."
.zshrc
Your shell's instruction manual. A plain text file that lives at ~/.zshrc. When you open a terminal, zsh reads this file first to learn your preferences and shortcuts. The dot at the start means it's a hidden file.
Alias
A shortcut you teach your terminal. Example:
alias project='cd ~/Projects/Some\ Folder && claude'
Now typing project does all of that automatically.
source
Tells your shell to re-read its instruction manual. After editing .zshrc, run source ~/.zshrc to apply changes.
Useful Tools Worth Installing
nano
A simple text editor that runs in the terminal. Like Notepad, but in your terminal window.
- Save:
Ctrl+O, then Enter - Exit:
Ctrl+X
grep
Finds text inside files. "Search" for the terminal.
grep "word" filename.txt
zoxide (z command)
A smarter cd that learns your habits. After visiting a folder a few times, jump there with just part of the name:
z project # jumps to your project folder
Install: brew install zoxide
fzf
Fuzzy finder. Interactive search for files, folders, and command history.
Ctrl+R- search your command history Install:brew install fzf
Symbols & Syntax
~
Shorthand for your home folder (/Users/yourname)
&&
"If the first command works, then also run this next command"
cd ~/folder && claude # go to folder, then start claude
\
Escape character. Handles spaces in folder names.
cd Some\ Folder # the backslash tells terminal the space is part of the name
. (dot at start of filename)
Makes a file hidden. .zshrc won't show in Finder normally.
Commands You'll Actually Use
cd [folder] # change directory (go to a folder)
ls # list files in current folder
pwd # print working directory (where am I?)
claude # start Claude Code
Pro Tip: Set Up Project Aliases
This was a game-changer for me. Instead of dragging folder paths from Finder into the terminal every time, I set up shortcuts in my .zshrc:
# Edit your .zshrc
nano ~/.zshrc
# Add lines like these:
alias client1='cd ~/Projects/Client\ One && claude'
alias client2='cd ~/Projects/Client\ Two && claude'
alias webapp='cd ~/Projects/Web\ App && claude'
# Save (Ctrl+O, Enter) and exit (Ctrl+X)
# Then reload your config:
source ~/.zshrc
Now I just type client1 and I'm in the folder with Claude Code running. No more hunting for paths.
How to Keep Learning
- Ask Claude to explain what it's doing - Say "explain what you're doing as you work" and it will narrate its commands
- Ask "dumb" questions - Foundational questions are the most important ones
- Build your own glossary - Writing things down in your own words helps it stick
Hope this helps someone else on the same journey. Happy to answer questions.