This question already has an answer here:
I know about Linux terminal. I can also issue many advanced commands over terminal. But one simple concept is not clear to me.
What is terminal and how does it work?
I know about hardware which consists of CPU, RAM, HARD DISK and so on.
I know about kernel which is basically the core of the operating system.
I know about software which sits on the top of kernel.
And I know about users.
And I know that user uses either terminal or GUI to give instructions to the software.(or kernel?)
Now please explain these concepts of terminal and shell.
Graphical explanation and simple non-technical words are preferable.