macOS Terminal
Unscored tasks with hints and instant feedback. Practice results never become credentials.
Short lesson
Cmd+Space Spotlight · Ctrl+↑ Mission Control · Cmd+` cycle windows · Cmd+Shift+. hidden files · Cmd+Option+Esc force quit.
Open the folder ~/Library/Application Support/Notes and list it. Enter the number of files you see as the answer.
Sign up to practiseFind which port the billing service is configured to use. The config lives somewhere under ~/services. Enter the port number as your answer.
Sign up to practiseCreate ~/work/clients/acme/{contracts,invoices,notes} (three folders) and copy ~/templates/invoice.md into the invoices folder.
Sign up to practiseFrom ~/logs/app.log, write the number of ERROR lines per day into ~/errors-by-day.txt as lines like “2026-10-17 2”, sorted by date.
Sign up to practiseEvery *.sh file under ~/bin (including subfolders) must be executable by you. Do not change other files.
Sign up to practiseAdd an environment variable API_URL=https://api.acme.example to ~/.zshrc so new shells get it, and export it in the current shell too.
Sign up to practiseInstall ripgrep and tree with Homebrew, then record the installed list in ~/brew-list.txt (brew list output).
Sign up to practiseUse defaults to set com.apple.finder AppleShowAllFiles to true, then restart Finder (killall Finder).
Sign up to practiseUsing ~/data/sales.csv, write total amount per region to ~/report.txt as “REGION TOTAL” lines, highest total first.
Sign up to practise~/users.json lists accounts. Write the emails of active users on the pro plan, one per line, into ~/active-pro.txt.
Sign up to practise~/cleanup.txt lists files (one per line, relative to ~/media) that must be deleted. Delete exactly those files.
Sign up to practiseCreate an executable script ~/bin/logcount.sh that prints, for every *.log file in the directory given as its first argument, a line “NAME COUNT” where COUNT is the number of lines containing ERROR.
Sign up to practiseSchedule ~/bin/backup.sh to run every day at 02:30 for your user.
Sign up to practiseMake ~/dotfiles/setup.sh executable and run it; it should install every formula listed in ~/dotfiles/Brewfile (use brew bundle inside the script) and create a symlink-free copy of .zshrc into your home.
Sign up to practise