Normalmente, no Linux, podemos ver o terminal e o console do shell como interfaces de linha de comando
Uma interface de linha de comando é um mecanismo de comunicação no qual interagimos com o sistema via comando ou grupo de comandos.
A diferença entre terminal, shell e console reside em como eles nos permitem interagir com o sistema. É claramente explicado no seguinte link
http://superuser.com/questions/144666/what-is-the-difference-between-shell-console-and-terminal