GET COMFORTABLE FIRST

Your computer. Your practice space.

Choose your operating system, open the right terminal, and install only the tool needed for your next exercise. The website provides instructions; commands run on your computer.

1. Choose the right terminal.

Open the section for your computer. You do not need all three environments.

Windows

For Git and Docker practice: install Git for Windows, then open Git Bash from the Start menu. Practice setup commands use Bash syntax.

For Linux practice: follow Microsoft’s WSL installation guide to install Ubuntu, then open Ubuntu from the Start menu. Work in your Linux home folder, not /mnt/c, so Linux permission exercises behave as intended.

For the guided API project: PowerShell works for the Local machine commands. Extract the starter ZIP, open its folder in File Explorer, type powershell in the address bar, and press Enter. Git Bash is also suitable when Node is installed there.

Installing Node in Windows does not also install it inside Ubuntu/WSL. Check versions in the same terminal you plan to use.

macOS

Open Terminal using Spotlight. For Git, follow the official macOS installation options. The practice setup uses Bash-compatible commands; if your default shell is zsh, enter bash to follow the examples in Bash.

For the API project, extract the starter ZIP and use cd with the folder’s quoted path. macOS is not Linux: use a Linux environment or skip the Linux track if command behavior differs. Git, Docker, and the Local machine project are available separately.

Linux

Open your terminal application and use Bash for practice. Follow the Git installation instructions for your distribution if Git is missing. Your normal user account is enough for the practice commands.

For the API project, extract the starter ZIP and change into the folder that contains app.mjs. For Docker, follow the official instructions for your distribution; avoid changing socket permissions just to silence an error.

2. Try a terminal warm-up.

Use Bash: Git Bash on Windows, Bash on Linux/macOS, or Ubuntu in WSL. Run each line below in order. If this folder already exists, choose another new name in the first line.

BASH · NEW PRACTICE FOLDER
mkdir opsrung-terminal-basics && cd opsrung-terminal-basics
pwd
printf 'My first terminal file.\n' > hello.txt
ls
cat hello.txt
mkdir … && cd …
Create a folder, then enter it only if creation succeeds.
pwd
Print the folder you are currently working in. It should end with your new folder’s name.
printf … > hello.txt
Write the text into a file. The > operator replaces an existing file’s contents; use it here only inside your new practice folder.
ls and cat
List the folder’s files, then print the text inside hello.txt.

Your checkpoint: ls includes hello.txt and cat hello.txt prints My first terminal file.

Try it without copying

Create a second file named next.txt containing one sentence about what you want to learn. List both files and read your new sentence back.

Compare with one possible answer
BASH · SAME PRACTICE FOLDER
printf 'I want to learn Git.\n' > next.txt
ls
cat next.txt

When you finish, you can keep this folder. Each practice exercise will create its own separate folder.

3. Check only the tools you need.

Run each check in the terminal you will use for that activity. Installation instructions are linked to the official projects.

Linux practice → Linux shell

Use Linux or Ubuntu in WSL on Windows. macOS Terminal and Git Bash are not Linux environments.

LINUX ENVIRONMENT CHECK
uname -s

Ready: output is Linux. If it says Darwin or MINGW, choose a Linux environment before doing the permissions track.

Try Linux files →

Local machine project → Node.js 24

Install Node.js 24 for your operating system. Choose version 24 on the download page to match these lessons.

VERSION CHECK
node --version

Ready: output starts with v24.. The starter project needs no npm install. Lesson 01 only needs a text editor.

Start the guided project →

Docker practice or project → Docker

Follow Get Docker for your system, then start Docker Desktop or the Docker Engine service. Use Linux containers for these exercises.

ENGINE CHECK
docker info

Ready: both Client and Server sections are present, and the server reports Linux as its OS type. A client version alone does not prove the engine is running.

The Docker route runs Node inside containers, so it does not require a separate host Node installation.

Build a practice image →

If a check fails, stop here.

“Command not found” or “not recognized”
Install the tool, close and reopen the terminal, then retry. Check that you installed it in the same environment: Windows and WSL have separate installations.
“Cannot connect to the Docker daemon”
Start Docker Desktop or your Docker Engine service and wait for it to finish starting. Retry docker info before continuing.
“No such file or directory”
Run pwd and ls in Bash to check your location. Extract ZIP downloads before editing. Put paths containing spaces in quotes, for example cd "my project".
The terminal is busy running a server
Leave it open and use a second terminal for requests. Press Ctrl+C in the server terminal when the lesson asks you to stop it.
The setup commands look unfamiliar
Check the command block’s shell label. Bash examples such as printf or a heredoc are not PowerShell instructions. Switch to the named terminal rather than mixing shells.

Look up a word → · Project troubleshooting →

One check is enough to get started.

If Git works, try your first commit. You can set up other tools later when you need them.

Start Git practice →