And in fact that indirection that it offers is a kind of abstraction, and that's what gives programming its power, and so the command-line interface, like programming — because in some way it kind of is programming — gets its power when you can express stuff more abstractly and thereby do work more efficiently. 