Module: IT Foundations · Level: Beginner · Time: ~25 min read + practice You'll be able to: explain why the terminal matters for cloud careers, run and control basic commands, navigate the filesystem with absolute/relative paths, manage files safely, and read & set Unix permissions with chmod/sudo.
1. Why bother with a blinking cursor?
The terminal is the manual transmission of computing: harder to learn than the GUI's automatic, but it gives you total control of the machine. Six reasons it's non-negotiable for an IT career:
- Power — direct access to the OS; operations that are impossible or painful through menus.
- Speed — proficient users outrun any amount of clicking.
- Automation — anything you can type, you can script. Repetitive work disappears.
- Remote access — servers (and every cloud instance you'll ever manage) usually have no GUI at all.
- Efficiency — commands sip resources compared to graphical tools.
- The job market — sysadmin, DevOps, cloud, security, dev: terminal fluency is the shared entry ticket. Interviewers spot its absence in minutes.
Vocabulary ladder: the terminal is the app; the shell is the program interpreting your commands; Bash is the most common shell (Ubuntu default; modern macOS uses the very similar Zsh); the prompt is the text waiting before your cursor.
2. First commands
Reading the prompt
username@hostname:~/current/directory$
Who you are, which machine, where you are. The $ means regular user; a # means root — the all-powerful administrator account. (When you see #, slow down.)
Anatomy of every command
command [options] [arguments]
ls -l /home → ls is the command, -l the option (long format), /home the argument. Three rules: Unix is case-sensitive, spaces separate the parts, and options usually combine (ls -la).
Getting unstuck (the real superpower)
man ls— the manual page (arrows to scroll,qto quit)ls --help— quick summarywhatis ls— one-line description
Professionals read man pages constantly. Knowing how to look things up beats memorizing.
Starter kit
date · echo "text" · clear (or Ctrl+L) · history (rerun with !42) · whoami · hostname · uname -a · which python3
Control keys you'll use forever
- Ctrl+C — stop the running command
- Tab — autocomplete commands and paths (twice to list options). Use it always; it kills typos.
- ↑/↓, Ctrl+R — walk or search your command history
3. Navigating the filesystem
No drive letters here. Unix is one tree growing from the root, /:
| Directory | What lives there |
|---|---|
/home |
user home directories (/Users on macOS) |
/etc |
system configuration |
/bin, /usr/bin |
the command programs themselves |
/var |
logs and variable data |
/tmp |
temp files, cleared on reboot |
Three commands are your legs:
pwd— where am I?ls— what's here? (-ldetails,-ahidden files,-hhuman sizes,-Rrecursive)cd— go somewhere.
Absolute paths start from root (cd /var/log — works from anywhere). Relative paths start from here (cd Documents). Four special references do heavy lifting:
.here ·..one level up ·~home ·-wherever you just were
Lost? pwd to orient, cd ~ to reset. "No such file or directory"? Check spelling (case matters!) and whether you meant absolute vs relative.
4. Working with files — safely
Create: touch notes.txt (empty file) · mkdir -p projects/app/src (nested dirs in one shot).
Edit: start with nano file.txt (commands on screen: Ctrl+O save, Ctrl+X exit). Learn vim later — it's powerful, but nano keeps day one frustration-free.
View: cat (whole file) · less (paginated, / to search, q to quit) · head -n 5 (first lines) · tail -n 20 (last lines) · tail -f logfile — live-follow a log as it grows. On-call engineers run this constantly.
Copy/move: cp source dest (-r for directories, -p preserves attributes) · mv renames AND moves — no recursive flag needed.
Find: find ~ -name "*.txt" (also by -type, -size +10M, -mtime -7) · locate name is faster but database-driven (and not always preinstalled — sudo updatedb refreshes it).
Wildcards: * any characters · ? one character · [abc] one from the set.
The danger zone
There is no Recycle Bin. rm file.txt is forever. And the infamous:
rm -rf directory/
-r recurses, -f skips every confirmation. Mistype a path or expand a bad wildcard and it will silently erase everything it can reach. Rules: never rm -rf with wildcards or variables you haven't verified, and use rm -i (interactive) while learning.
5. Permissions and sudo
Every file answers three questions for three audiences. The permissions: read, write, execute. The audiences: owner, group, others.
-rw-r--r-- 1 harmeet staff 2048 Mar 15 14:30 document.txt
First character: - file, d directory, l link. Then three triplets: owner rw-, group r--, others r--.
chmod: two dialects
Symbolic: chmod u+x script.sh (add execute for owner) · chmod go-w file (remove write from group+others).
Numeric — the 4-2-1 trick: r=4, w=2, x=1; add them per audience:
| Number | Meaning | Typical use |
|---|---|---|
755 |
rwxr-xr-x | scripts, directories |
644 |
rw-r--r-- | regular files |
600 |
rw------- | private files (keys, secrets) |
777 |
rwxrwxrwx | almost never — a security hole |
chmod -R applies recursively. chown user:group file changes ownership (needs sudo).
sudo: borrowed superpowers
sudo command runs one command as root — safer than living in a root shell. The discipline that makes you hireable: least privilege. Only elevate when needed, keep secrets at 600, never 777 your way past an error. Three classic fixes:
- "Permission denied" running your script →
chmod u+x script.sh - Can't edit a system file →
sudo nano /etc/hosts - Can't
cdinto a directory → you needxon the directory
Recap
The terminal is the manual transmission: command [options] [arguments], help is one man away, the filesystem is one tree navigated with pwd/ls/cd and four special paths (. .. ~ -), files are managed with touch/nano/cat/less/cp/mv/find — with great respect paid to rm -rf — and permissions are three questions (rwx) asked of three audiences (owner/group/others), set with the 4-2-1 trick and elevated sparingly with sudo.
Part 2: pipes and redirection, grep/sed/awk, process management, shell scripting, package managers, and SSH — the bridge from your laptop's terminal to every cloud server you'll ever touch.
Quiz
1. In ls -la /var, what is -la?
a) An argument b) Two combined options ✅ c) The command d) A path
Options modify behavior; -l and -a combine. /var is the argument.
2. You're in /home/harmeet/projects. Which command moves you to /home/harmeet?
a) cd ~ b) cd .. ✅ c) cd - d) cd .
.. = parent directory. (~ also lands there in this case — but only because home IS the parent; .. is the general answer.)
3. Which permission setting is right for a private SSH key? a) 777 b) 755 c) 644 d) 600 ✅ Owner read+write only. SSH will actually refuse keys with looser permissions.
4. What does tail -f /var/log/syslog do?
a) Shows first 10 lines b) Deletes the log c) Live-follows new lines as they're written ✅ d) Formats the log
The -f (follow) flag streams appended lines — the standard way to watch logs in real time.
5. Why is rm -rf * dangerous?
a) It's slow b) It removes everything matched, recursively, with no confirmation ✅ c) It requires root d) It only works on empty dirs
Force + recursive + a wildcard = unrecoverable deletion of whatever * expands to, wherever you happen to be.