The console is a vga command line environment. A terminal is a console emulator, most of the time it's a GUI window.
The shell is a command interpreter (bash, sh)
From the linux dictionary, command line:
A space provided directly on the screen where users type specific commands.
Note: it's also correct to say console and terminal are the same