No command can be executed it obtains the clearance of the shell. The Shell, when analyzing the command and its associated arguments, often modifies and simplifies its input before it forwards it to another agency which actually executes the command. This agency is called the Kernel. Because, Linux permits the use of complex command structures that can’t be understood by the kernel, the shell has to take on the role of interpreter to translate them into forms that the kernel can understand.
The Kernel is the heart of the system – a collection of programs mostly written in C that directly communicate with the hardware. There is only one kernel for any system.It’s the part of Linux that is loaded into memory when the system is booted. The kernel isolates itself from the user programs, and these programs are independent of the hardware they use, it is easy to move them across different systems. Programs, therefore, must not have knowledge of the devices they use. The kernel, in traditional parlance, is often called the Operating System.
The Shell, on the other hand, is the “Sleeping Beauty” of Linux. It is actually the interface between the user and the kernel that effectively insulates the user from knowledge of kernel functions. The shell is the agency which takes care of the features of redirection with the ‘ > ‘ and ‘ | ‘ symbols. It also has a programming capability of its own.
The kernel is represented by the file – /vmlinuz and shell by – /bin/bash.
you can see these screenshots.