With the Command Line Interface (CLI), you interact with an application called the "shell." The shell is a command processor. The shell processes commands entered individually, or from a file called a shell script. The majority of the thousands of commands are from the GNU Project, which set out to create open, and free, commands that are similar to the Unix commands.
The default shell for Linux is BASH (Bourne Again SHell), in reference to the older Unix Bourne shell (sh). BASH integrated features from two other popular Unix shells CSH (csh) and KornShell (ksh). BASH (bash), itself, is part of the GNU project, and was first released in 1989. As mentioned earlier, Linux only refers to the kernel. Rather than replicated the work of the GNU Project, Linux incorporated the there work. Thus, the name GNU/Linux.
Think of the shell as an interactive modular programming language. Each command acts like a module that performs a discreet task. These commands (modules) can be run individually, or together. You can enter a complete shell program from the CLI, or bundle the commands in a shell script file.
Linux in a Nutshell, 5th Edition (published by O'Reilly) documents 687 commands. Yet, this extensive list does not document all the commands available. With so many software packages available in Linux, there is no single source of all Linux commands. This course will only cover a small subset of all the commands. A future course on shell programming will expand on this set of commands, as will courses on system administration.