A command line interface is one of the most commonly used tools by developers and many times guys don't know the difference between a command line interface(CLI), shell, and terminal.
A command line interface is simply a text-based program that performs various actions via commands for example a docker CLI or Azure CLI.
Shell is basically a program that is used to run commands while a terminal is a graphical user interface(G.U.I) used to run a shell for example a windows terminal, I Term, and Guake.
What is bash?
Bash is an abbreviation of (Bourne again shell) and it's the standard version in Linux machines
Linux bash commands