Shell stands for "command interpreter."
Bash is a type of Unix / Linux shell, which contains its own command syntax.
The Cmd is the modern Windows command interpreter (CMD.EXE). That is, it is a kind of shell. In Windows 95, 98 and Me it was called COMMAND.COM.
DOS stands for "Disk Operating System." Basically it is an operating system that operates through the command line of a Shell.
MS-DOS is the Disk Operating System developed by Microsoft (MS). Not all DOS operating systems are MS-DOS from Microsoft (although this is the most famous and most used), because there are / others also exist like the AmigaDOS , or FreeDOS and IBM PC DOS , among others.
The Console is a text-mode interface used for the user to read and enter commands.
The Terminal is the device (physical computer) that you use to view or type commands. But it is not necessarily physical because it can be emulated as well, and in this case the Terminal will probably be a Window or an Application running.
The Command Prompt is the part of the text that appears in the Console asking the user to type a Command Line. This can be the C:\>
that appears in Cmd or DOS or it can be the user@host: work_dir $
that appears in Bash.
That is, basically you go to your Terminal and open the Console. There you can see the command prompt and tell Shell what you want to do through a command line to be typed. This Shell may be the Unix / Linux Bash or the Windows Cmd, or the DOS Shell or maybe it's something else. If it is the DOS Shell, this DOS may be MS-DOS.