The shell or command shell is a software program that provides direct communication between the user and the operating system. The term shell is also rarely applied to a software that is built around a particular component or for a software that provides a user interface for another program.
A shell is software that provides an interface between users and operating system of a computer to access the services of a kernel.
There are two types of shell:
A third type of shell is recently developed – a GCLI(Graphical Command Line Interface) shell. A GCLI shell combines the features of both CLI and GUI shell and provides an interface which is both user-friendly and powerful.