Linux Shell is a command interpreter which means it interpret user commands or program from standard input to kernel and give output of processed user command or program to standard output (console or file). Linux Shell itself is a more powerful program as it mostly support C type constructs like conditional execution, loops, variables, functions and many more.