From calpoly.edu:
In UNIX, commands are submitted to the Operating System via a shell. A shell is an environment which allows commands to be issued, and also includes facilities to control input and output, and programming facilities to allow complex sets of actions to be performed. Whenever you type commands at the prompt in Unix you are actually communicating interactively with a shell.