I was using the term CLI for describing commands like ls. While updating my list of useful commands, I was wondered about one thing. How do we call a shell-like program like mysql for example? doesn't CLI stands for Command Line Interface or Command Line Interpretor? Isn't it more logical to use this term for shell-like programs? After a few research, I was even more confused. Some website used the CLI term to describe the commands, some others for the shell, some for both, some were making a difference between Command Line Interface and Command Line Interpretor, and some were just even more confusing.
So, what exactly is a CLI? What is the term to describe a shell-like program? And a command program? Why is the exact definition so blurry? why isn't everyone in agreement on this?