In Windows, when you open a command prompt, almost always the program that is running is
cmd.exe. It's an enhanced NT derivative of the old DOS-based
command.com, which is in turn has similarites with the even older CP/M
CCP command interpreter.
In Linux, as @Griffin mentions, usually you are running
bash in some sort of terminal emulator if you are using it in a graphical environment. (which can vary widely depending on your distro and desktop environment). This stands for "Bourne Again SHell" because it's an extended version of an earlier "Bourne" shell (
sh) that's been standard on Unix for a long time. There's other "alternative" shells in common use such as
cmd.exe can be considered a shell as well (as can
Both the Windows command prompt and all Unix shells have several "built-ins", or commands that are handled entirely within the shell. This includes some basic commands (such as
cd) and many conditional commands and operators that control script flow if a batch file of commands are executed.
However, in both Linux and Windows, the great majority of "commands" that do useful things are in fact external programs that are "called" by the the shell. And that is the primary purpose of a shell, to enable an operator to start programs with specifying arguments for those programs. It's not really strictly a programming language, it's just a framework for launching programs.