Great examples of Unix command line idioms that are needlessly baroque: find, ifconfig, route, netstat, lsof.
To use the unix command line you have to get your head around a bunch of key concepts, say, globbing, i/o redirection, pipes, etc. After that, whether it's 'grep' or 'brian' isn't going to get in your way much.
This sort of jargon is pretty typical, though, and I think it's a fairly small barrier. Want to learn some LISPy language? Here come the entirely meaningless car, cdr, cons, s-expression. Functional processing of sequences? Well you can map, you can reduce, you can zip, you can fold. Building your first RoR app? Don't forget to railtie your merb to the phusion gem of the sinatra rack, but not before you've raked your capistrano with a cucumber. You can probably safely rename every JS framework to an MMM (Marklar, Marklar, Marklar) framework given the liberties they take with the meaning of the things M, V and C stand for.
You can give, say, 'cat' or 'tee' magically and perfectly clear names but than in itself won't make anyone understand things like 'unix utilities have one input and two output streams' any better.
I agree with man. It makes sense technically because of "manual"...except that "man" is its own word. Every time I type man, I feel like I'm typing the gender, and it's weird.
cp bothers me because they shortened a four-letter word, the same with ls and list. Despite the original terminal constraints, they couldn't spare two characters?
Really, I think that with an OS designed in the late 1960s, brutally reducing commonly-used commands to the shortest recognizable form was a very good idea.
Storage capacity (both RAM and persistent), processor speeds, and bandwidth for internal and network transfers were all many orders of magnitude less than today's systems. Extra bytes had a real cost.
http://alt.folklore.computers.narkive.com/7q9reknM/1950s-at-...
Author of that post is Tom Van Vleck, who ought to know.
These names are short, but not memorable or easily discoverable.