On Linux, you will often work in a window where you can type text commands. That window is usually called a terminal. The terminal itself does not decide what ls, cd, or other commands mean. It displays text, accepts keyboard input, and passes that input to the shell running inside it.
The terminal is the interface
A terminal is a text-based interaction window. It shows a prompt, lets you enter commands, and displays output. GNOME Terminal, Konsole, Windows Terminal, and macOS Terminal are terminal applications. They may look different, but each can host a shell session.
The shell is the command interpreter
A shell is a program that reads your command, parses the command name and arguments, and then starts another program or runs a built-in shell feature. Common shells include bash, zsh, and fish. Bash is a common default on Linux servers.
You type text
→
Terminal accepts and displays
→
Shell interprets and runs
The prompt tells you the shell is ready
When the shell is waiting for input, it displays a prompt. A prompt may include the username, hostname, and current directory. The example below indicates that user alex is working on a machine named server and is currently in the home directory.
alex@server:~$ whoami
alex
alex@server:~$ pwd
/home/alexA $ prompt often represents a regular-user session, while # is commonly seen in a root session. Prompts can be customized, however, so you should not rely on a single symbol to determine privileges.
Commands, arguments, and output
A command usually starts with a program name and may be followed by arguments. In echo hello, echo is the command and hello is an argument passed to it. The shell parses the line and runs the command, while the terminal displays the resulting output.
Key distinction: Closing a terminal window usually also ends the shell session inside it, but the terminal and shell are not the same thing. The terminal is the interface; the shell is the program that interprets commands.
Visualize the Terminal and Shell
Simulated terminal ready. Run commands and watch the filesystem on the right.
/homealicearchivebackupcachedataindex.bin
DocumentsDownloadsemptyPicturesprojectsrcREADME.md
.bashrc.profileaccess.logapp.logdraft.txterror.lognotes.txt
varlogsyslog
Quick buttons fill the prompt; run the command or press Enter to change terminal and filesystem state.KNOWLEDGE QUIZ