Public course previewThis is not your assigned passport. No identity, answers, or completion progress are stored here.How to start your passport
Handbook / core

core

Terminal And Command Basics

Use this page when a lesson asks you to run a command and the terms are new. You do not need to memorize shell syntax to complete the Passport.

An application, or app, is a program you open, such as a web browser or PowerShell. A browser is the app used to open websites. A file stores one item and a folder groups files. To download is to copy something from a website onto this computer. To install is to add an application so this computer can run it.

Command, Terminal, Shell, And Prompt#

A command is a line of text that tells a computer to do one task. You type or paste commands into a terminal, the text application used for commands. A shell is the part inside that application that reads the command and asks the computer to run it. You do not need programming experience to follow a copy-and-check command in this Passport.

PowerShell, Bash, and zsh are names of shells. Open only the application named for your computer below; it starts your configured shell automatically. Do not install a separate Bash or zsh application for this Passport. A Linux terminal normally starts Bash, and an SSH connection to Euler starts Bash on Euler in the same terminal window.

When an instruction says Terminal on your Linux computer, open the application named Terminal; it normally starts Bash for you. When it says after SSH connects to Euler, first connect as instructed; the same text window then controls Euler. Do not search for or install a separate Bash application.

Computer Application to open Shell used in this guide Ready prompt often looks like
Windows PowerShell, or Windows Terminal with a PowerShell tab PowerShell PS C:\Users\Ada>
macOS Terminal zsh ada@Mac ~ %
Linux Terminal Bash ada@laptop:~$
Euler after SSH login The same local terminal window Bash running on Euler [ada@eu-login-xx ~]$

Some Macs open Bash instead of zsh because of an earlier setup. For the macOS Git and SSH steps, keep that shell; you do not need to change your login shell or disable history expansion. On macOS/Linux, printf '%s\n' "$0" shows the current shell name (often -bash or -zsh). $SHELL names your configured login shell and may differ from the shell currently running. The terminal application and the shell inside it are separate things.

After SSH, you are using the remote computer's shell. Euler command blocks in this guide are labelled Bash. If your Euler account opens another shell, run bash for that session before those blocks; exit returns to the previous shell. This does not change any startup file or default login shell.

The prompt is the text beside the blinking cursor when the shell is ready. The command is the instruction entered after it. The output is the text printed after the command runs.

Do not type prompt text such as PS C:\Users\Ada>, %, or $. Passport copy buttons copy only the command.

For example, this is one short PowerShell session:

PS C:\Users\Ada> git --version
git version 2.51.0
PS C:\Users\Ada>
  • PS C:\Users\Ada> is the prompt already printed by PowerShell.
  • git --version is the command you paste and run.
  • git version 2.51.0 is output from Git; your version number may differ.
  • the final prompt means the command finished and the shell is ready again.

A terminal panel inside an editor such as VS Code can also contain a shell, but use the standalone application during first setup. Do not paste a command into a browser address bar, a Markdown file, an editor's search box, or a chat.

Try One Harmless Command#

Choose only the command for your computer. It prints terminal-ready and does not install, delete, or configure anything.

Windows PowerShell:

Write-Output "terminal-ready"

macOS or Linux Terminal:

printf 'terminal-ready\n'

Expected: the next line is terminal-ready, followed by the prompt again. You have now opened the correct application and run one command.

Open The Correct Application#

Windows#

  1. Press the Windows key.
  2. Type PowerShell.
  3. Open PowerShell. Windows Terminal is also suitable when its tab says PowerShell.
  4. Wait for a line beginning with PS and a blinking cursor.

Use the PowerShell window that appears. It provides both the text window and the shell for this guide.

Do not use Command Prompt, Git Bash, or WSL for a block labelled PowerShell. Their command languages differ. Installing Git may add an application named Git Bash; its presence does not change which application this guide tells you to open.

macOS#

  1. Press Command+Space.
  2. Type Terminal.
  3. Press Return.
  4. Wait for a prompt normally ending with %.

The default shell is zsh. Terminal starts it automatically; do not search for a separate zsh app. Use command blocks labelled for Terminal on your Mac.

Linux#

  1. Open the applications menu.
  2. Open the application named Terminal.
  3. Wait for a prompt, normally ending with $.

Ubuntu normally starts Bash. Use command blocks labelled for Terminal on your Linux computer. Do not run an Ubuntu command block on another Linux distribution unless the page says it applies there.

Run One Command#

  1. Read the application and computer named above the command.
  2. Choose Copy.
  3. Click once after the prompt in the named terminal.
  4. Paste the command.
  5. Press Enter once.
  6. Wait until the output stops and the prompt returns.
  7. Compare the output with Expected on the page.

For a block containing several lines, paste the complete block once. Do not also paste the heading, expected result, or explanatory text.

Know Which Computer Receives The Command#

Local means the computer in front of you. Remote means another computer reached over a network. A server is a remote computer that provides a service. SSH, or Secure Shell, is a protected way to open a shell on a remote computer. After ssh euler, the same terminal window contains Bash running on an Euler server rather than a shell running on your laptop. The prompt changes, and the mission labels later commands as Euler / Bash.

Do not run a command on Euler merely because its terminal window is open. Read the machine label on every step.

Paths And The Current Folder#

A path is the address of a file or folder:

  • Windows example: C:\Users\Ada\project
  • macOS or Linux example: /home/ada/project

The current folder, also called the current directory, is the folder where an unqualified command acts. A mission that needs a particular folder provides an exact command to enter it. Keep that terminal in the stated folder until the mission says otherwise.

Stop A Running Program#

When a mission says press Ctrl+C, hold the Ctrl key and tap C once. Do not type the characters Ctrl+C. This asks the program currently using the terminal to stop. Wait for the normal prompt to return before typing another command.

Closing the terminal also stops programs in it, but may hide useful output. Prefer Ctrl+C when the mission names it.

Password Prompts#

Only enter a password when the documented step explicitly expects a prompt from the operating system or service you are using. Some shells show no dots or characters while a password is typed; this is normal. Never paste a password, token, recovery code, or SSH private key into the Passport, Git, an issue, or an AI tool.

If A Command Fails#

Read the first error and use the If not instruction for that step.

  • command not found means the named program is unavailable in this shell.
  • No such file or directory usually means the path or current folder is wrong.
  • Permission denied means access was refused; it does not mean you should add administrator rights.

Do not guess with sudo (Linux administrator mode), Run as administrator, changed file permissions, or a repeated installation. Run gh passport doctor from a new terminal when the mission directs you to it, and submit only error text with credentials and private details removed through the help path.