ctrl + Q ACADEMY • ARCHITECTURE CORE

The Developer's Terminal: Linux & the Command Line

Navigate, manipulate files, and manage processes from the shell — a core skill for every engineer.

Tier 1: Navigation & Files
Basics

Navigating the Filesystem

The shell always has a current working directory. pwd prints it, ls lists its contents, and cd changes it. Paths are either absolute (starting with /) or relative to the current directory.

terminal
pwd                 # print working directory
ls -la               # list all files, including hidden, with details
cd projects/site      # move into a relative path
cd ..                 # move up one directory
cd ~                  # jump to the home directory
Basics

Creating, Moving & Removing Files

mkdir creates directories, touch creates empty files, cp copies, mv moves or renames, and rm deletes. rm -rf deletes recursively without confirmation — extremely powerful and worth double-checking the path before you run it.

terminal
mkdir -p src/components
touch src/components/Button.js
cp report.pdf ~/Desktop/
mv draft.txt final.txt
rm old-notes.txt
Tier 2: Working With Text & Permissions
Core

Viewing & Searching File Contents

cat prints a whole file; less pages through large files interactively. grep searches text for a pattern — one of the most-used commands in daily development for finding where something is defined or used.

terminal
cat package.json
less server.log
grep -rn "TODO" src/          # recursive, show line numbers
Core

File Permissions

Every file has read (r), write (w), and execute (x) permissions for its owner, group, and everyone else, shown by ls -l as a 10-character string like -rwxr-xr--. chmod changes them, commonly using octal notation (755, 644).

terminal
ls -l deploy.sh
# -rw-r--r--  1 user  staff  312 Jul 18 deploy.sh

chmod +x deploy.sh    # make it executable
./deploy.sh
Tier 3: Processes & Pipelines
Critical Spec

Piping & Redirection

The pipe operator | feeds one command's output directly into the next command's input, letting you chain small tools into a powerful one-liner. > redirects output to a file (overwriting it); >> appends.

terminal
ps aux | grep node          # list processes, filter for "node"
cat access.log | sort | uniq -c | sort -rn | head -5
echo "Deployed at $(date)" >> deploy.log
Critical Spec

Managing Processes

ps lists running processes and their process IDs (PIDs); top/htop shows them live, sorted by resource usage. kill <pid> sends a termination signal to stop a runaway or stuck process.

terminal
ps aux | grep python
kill 4821          # graceful termination request
kill -9 4821       # force kill, use only if kill alone doesn't work
Quiz: What does the pipe operator | do in the shell?
Final Assessment

Ready to test what you've learned?

Take the Linux & Command Line certification exam — 8 questions, 70% to pass. Passing unlocks a downloadable certificate with your name on it.