60 seconds

Shell typing test

Real terminal commands with every flag, pipe, path and quote mark left in: find, grep, curl, docker, tar and ssh. The test above is already set to Shell.

What does the shell typing test look like?

Each run shuffles real shell commands together until there are at least 55 pieces to type. Three of them, exactly as they appear:

find . -name "*.log" -mtime +7 -exec rm -f {} \;
grep -rniE "todo|fixme" --include="*.js" src/ \
  | awk -F: '{print $1}' \
  | sort -u
for f in *.png; do
  convert "$f" -resize 50% "thumbs/${f%.png}.png"
done

Typed as tokens: find . -name "*.log" -mtime +7 and so on, one Space between each.

Type a piece, press Space and move on. A piece only counts when every character is right, so a missing hyphen in front of a flag makes it wrong, just as it would break the command.

Which symbols slow shell users down?

About a quarter of every character in these commands is a symbol, the highest share in the code test. Hyphens lead by a distance, because every flag starts with one or two. Then come dots and slashes from paths, double quotes around arguments, dollar signs for variables and the pipe that joins commands together:

SymbolNameShare of symbolsKey (US layout)Finger
"Double quote18%Shift + 'Right little
-Hyphen (minus)15%-Right little
.Full stop (dot)11%.Right ring
/Slash6%/Right little
$Dollar6%Shift + 4Left index
'Single quote5%'Right little
\Backslash5%\Right little
%Percent5%Shift + 5Left index
|Pipe4%Shift + \Right little
*Asterisk3%Shift + 8Right middle

The pipe, |, is Shift plus backslash: a long stretch for the right little finger, above Enter on most US keyboards. The dollar sign is Shift plus 4, typed with the left index finger, so hold Shift with the right hand.

How do I type shell commands faster?

  • Treat flags as words. -rniE and --no-audit are shapes you type often. The hyphen should be part of the word, not a separate decision.
  • Learn the pipe without looking. It sits in a different place on UK and US keyboards; know where yours is and reach for it blind.
  • Quote pairs. Commands wrap arguments in " and '. Practise opening and closing them as a pair.
  • Use the terminal's help too. In real work, Tab completion and history save more time than raw speed. Typing speed matters most for the parts you cannot complete.
  • Drill the slips. Click a missed key on your result for a drill built on it.

How is the shell test scored?

Net words per minute counts correct characters, five to a word, and accuracy counts every key you press. The result shows raw WPM, consistency, your slowest pieces and a heatmap of missed keys, saved in your browser.

Spend your day in an editor too? The shortcut trainer has decks for common apps and editors.

Code typing tests in other languages

All 6 languages
Advertisements

Questions people ask

What shell commands will I type?

Real one-line commands: find with -exec, a grep piped into awk and sort, docker run with a volume, curl with an Authorization header piped into jq, a for loop over PNG files, ps sorted by CPU, tar with a dated file name and ssh with a key file. They are shuffled into every run.

Why is the shell test harder than the others?

Shell has the highest share of symbols of any language here, about one character in four. Flags start with hyphens, paths are full of dots and slashes, and quotes, dollar signs and pipes all need Shift. Accuracy is the thing to watch.

Is this Bash or another shell?

The commands are written for Bash and work the same in most Unix shells, such as zsh. They are typing practice only: nothing you type here is run.

Does choosing Shell here change my settings?

No. This page opens the code test in Shell for this visit only. Your saved code language stays as it was until you pick another in the options above the test.

Keep going

Typing tests by length: 15 second typing test · 30 second test · 1 minute typing test · 2 minute test · 5 minute typing test · 10 minute test · custom text

In other languages: Spanish typing test · French typing test · German typing test · Portuguese typing test · Italian typing test · Test de mecanografía en español · Teste de digitação em português