Course:Internet & Tools/
Lesson

You have seen it in movies. A hacker hunched over a keyboard, green text scrolling on a black screen, typing mysterious commands. That black window is called the terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell.. And it is not just for Hollywood hackers, it is going to become your best friend as a developer.

The terminal is not primitive or outdated. It is the most powerful way to talk to your computer. Instead of clicking through endless folders and dialogs, you simply tell the computer what you want. It is the difference between writing a letter and having a conversation.

The terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell. vs the shell

People throw around "terminal" and "shell" like they are the same thing. They are related, but distinct.

The terminal (technically a "terminal emulator") is the window that displays text. It is the stage where the action happens. In the old days, terminals were physical machines, standalone devices with a screen and keyboard connected to a mainframe. Today, "terminal" refers to the application window on your computer: Terminal.app on macOS, Windows Terminal on Windows, or GNOME Terminal on Linux.

The shell is the program running inside the terminal that actually understands what you type. It takes your human-readable commands and translates them into instructions for the computer.

Think of it this way:

  • Terminal = the telephone (the device)
  • Shell = the person on the other end who understands you (the interpreter)

ShellWhat it stands forWhere you will find it
BashBourne Again ShellDefault on most Linux servers, older macOS
ZshZ ShellDefault on macOS Catalina and newer
PowerShellPowerShellDefault on Windows, also available on macOS/Linux
FishFriendly Interactive ShellPopular alternative, very user-friendly

Do not stress about which shell you are using right now. The basic commands work the same everywhere.

02

Why developers actually prefer the terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell.

The first time you open a terminal, it feels hostile. No buttons. No back button. Just a blinking cursor. But here is why every experienced developer chooses this over point-and-click tools.

Speed that compounds

Imagine you need to copy 50 files from one folder to another. In a file manager? Click, select, copy, navigate, paste. Maybe 100 clicks. In the terminal?

cp folder1/* folder2/

Done. One line. That saves you maybe 2 minutes right now. But multiply that by every task you do all day, every day. Those minutes add up to hours over a year.

Consistency across everything

The button to copy a file in Photoshop is completely different from the button in Figma. But cp (copy) is the same command on your MacBook, on a Linux server, on a supercomputer. Learn it once, use it forever.

Perfect memory

The terminal remembers every command you have ever typed. You can search your history. You can rerun a command from last Tuesday with a few keystrokes.

Automation superpowers

Need to rename 200 files from "photo_001.jpg" to "vacation_001.jpg"? In the terminal, it is a 3-line script that runs in 2 seconds:

for i in photo_*.jpg; do
  mv "$i" "${i/photo/vacation}"
done
03

What you will actually use it for

Here is your actual future as a developer:

TaskExample commandsHow often
Version controlgit commit, git push, git pullHundreds of times per week
Installing dependenciesnpm install react, pip install requestsEvery project
Running applicationsnpm run dev, python app.pyEvery work session
Server administrationssh user@server, tail -f error.logRegular for deployment
Debugging and logstail -f /var/log/nginx/error.logWhenever something breaks
AI pitfall
AI assistants like ChatGPT and Copilot love suggesting terminal commands. But they sometimes suggest commands for the wrong OS (Linux commands on macOS, or vice versa), use deprecated flags, or assume tools are already installed. Always read the command before running it, and verify it does what you expect.
04

Your very first commands

Open your terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell. and try these:

whoami       # Shows your username
date         # Shows current date and time
clear        # Clears the screen

That is it. You have just issued your first commands. The learning curve is front-loaded, the first week is the hardest. After that, it gets easier every day. Within a month, you will be faster in the terminal than you ever were with a mouse.

05

Quick reference

CommandWhat it doesExample
whoamiShow current usernamewhoami
dateShow current date and timedate
clearClear the terminal screenclear
echoPrint text to the terminalecho "hello"
historyShow command historyhistory