๐Ÿ“ Tutorials
ยท 3 min read
Last updated on

What is the Terminal? A Beginner's Guide to the Command Line


The terminal (also called command line, shell, or console) is a text-based way to control your computer. Instead of clicking buttons and icons, you type commands.

It looks intimidating at first. But once you learn 10-15 commands, youโ€™ll wonder how you ever lived without it.

Why developers use the terminal

  • Itโ€™s faster. Renaming 500 files takes one command, not 500 clicks.
  • Itโ€™s more powerful. Many developer tools only work from the terminal (Git, npm, Docker).
  • Itโ€™s scriptable. You can save commands in a file and run them automatically.
  • Servers donโ€™t have GUIs. When you manage a server, the terminal is all you have.

Opening the terminal

  • macOS: Cmd+Space โ†’ type โ€œTerminalโ€ โ†’ Enter (or use iTerm2)
  • Windows: Search โ€œPowerShellโ€ or install Windows Terminal
  • Linux: Ctrl+Alt+T (or search โ€œTerminalโ€)

Essential commands

Moving around

pwd                    # Where am I? (Print Working Directory)
ls                     # List files in current directory
ls -la                 # List ALL files with details (including hidden)
cd Documents           # Go into the Documents folder
cd ..                  # Go up one level
cd ~                   # Go to home directory
cd /                   # Go to root directory

Files and folders

mkdir my-project       # Create a folder
touch index.html       # Create an empty file
cp file.txt backup.txt # Copy a file
mv old.txt new.txt     # Rename (or move) a file
rm file.txt            # Delete a file (no trash โ€” it's gone!)
rm -r folder/          # Delete a folder and everything in it

Reading files

cat file.txt           # Print entire file
head file.txt          # First 10 lines
tail file.txt          # Last 10 lines
tail -f log.txt        # Follow a file (see new lines as they're added)
less file.txt          # Scroll through a file (press q to quit)

Searching

grep "error" log.txt           # Find lines containing "error"
grep -r "TODO" src/            # Search recursively in a directory
find . -name "*.js"            # Find files by name
find . -name "*.log" -delete   # Find and delete

System info

whoami                 # Current user
hostname               # Computer name
df -h                  # Disk space
free -h                # Memory usage (Linux)
top                    # Running processes (Ctrl+C to exit)

Keyboard shortcuts

These work in most terminals and will save you a lot of time:

ShortcutWhat it does
TabAutocomplete file/folder names
โ†‘ / โ†“Previous / next command from history
Ctrl+CCancel current command
Ctrl+LClear the screen
Ctrl+AJump to beginning of line
Ctrl+EJump to end of line
Ctrl+RSearch command history

Tab completion is the most important one. Start typing a filename and press Tab โ€” the terminal fills in the rest.

Pipes and redirection

This is where the terminal gets powerful โ€” combining commands:

# Pipe: send output of one command to another
ls | grep ".js"                    # List only .js files
cat log.txt | grep "error" | wc -l  # Count error lines

# Redirect output to a file
echo "hello" > file.txt            # Write (overwrites)
echo "world" >> file.txt           # Append

# Redirect errors
command 2> errors.txt              # Save errors to file
command > output.txt 2>&1          # Save everything to file

Installing things

# macOS (Homebrew)
brew install node
brew install git

# Ubuntu/Debian
sudo apt update
sudo apt install nodejs

# Any OS (Node.js packages)
npm install -g typescript

See: Homebrew cheat sheet for macOS package management.

Next steps

  1. Open your terminal right now
  2. Type pwd to see where you are
  3. Type ls to see whatโ€™s there
  4. Navigate to a project folder with cd
  5. Check out the Linux Terminal cheat sheet and Bash cheat sheet for more commands