Question: what is the difference between terminal and shell?
Answer: Shell is a program which processes commands and returns output , like bash in Linux . Terminal is a program that run a shell , in the past it was a physical device (Before terminals were monitors with keyboards, they were teletypes) and then its concept was transferred into software , like Gnome-Terminal .