This is all the info useradd needs (and as you stated, you understand these):
useradd -d /cache/ -r -s /dev/null squid
That leaves you with:
This is called redirecting (changing the standard input/output destination).
There are 3 'default' file descriptors in linux/unix:
0 - standard input (stdin) - from keyboard.
1 - standard output (stdout) - to screen.
2 - standard error (stderr) - to screen.
>/dev/null (1>/dev/null, but you do not actually need the 1)
=> This puts the output from, in this example, useradd in /dev/null. This /dev/null is a bitbucket/blackhole, ie everything you put in is gone.
=> duplicate standard error (file descriptor 2) to standard out (file descriptor 1)
So >/dev/null 2>&1 will redirect everything that's normally show on your screen to /dev/null.
The order is important (below a part from man bash about redirecting):
ls > dirlist 2>&1
directs both standard output and standard error to the
file dirlist, while the command
ls 2>&1 > dirlist
directs only the standard output to file dirlist, because
the standard error was duplicated as standard output
before the standard output was redirected to dirlist.
Hope this enlightens you a bit.