Existe muita confusão e esses termos são facilmente trocados entre si. Isso porque antigamente shell, console e terminal eram praticamente a mesma coisa. Como os computadores ficaram cada vez mais potentes, é preciso entender que são coisas diferentes.
Segue uma explicação e um esquema diferenciando esses três termos:
Shell
Um programa que processa comandos.
Em português é conhecido como prompt de comando. É um programa que espera seu input, reconhece os comandos (ls, rm, chdir...), processa e mostra o output deles.
Os shells mais conhecidos são de sistemas GNU/Linux e Windows - eles acessam serviços do kernel e executam tarefas do sistema. Porem, shell é um termo mais geral para interpretadores de comandos - por exemplo os interpretadores das linguagens Python, PHP e Javascript.
Exemplos são o bash, sh, cmd.exe e Windows PowerShell e Interactive Ruby Shell.
Terminal
O programa que envolve e roda o shell.
Historicamente, terminais eram computadores que serviam apenas para executar o shell. Hoje em dia, com pcs mais potentes e interface gráfica, existem emuladores de terminal. Eles são as janelas onde rodamos o shell.
Podem haver vários terminais para um mesmo shell. Alguns podem ter mais funcionalidades (como completar texto, copiar e colar dentro de scripts, perfis de cores, mudar tamanho e fonte do texto...) e outros podem ser mais leves.
Exemplos são o gnome-terminal, konsole, xterm e Win32 console.
Console
Um tipo especial de terminal.
O terminal primário, especial para se executar tarefas administrativas. É ele que mostra as mensagens de boot e desligamento. Pode-se acessá-lo como usuário root para gerenciar o sistema.
Antigamente, console era o nome que se dava ao velho terminal - monitor, teclado e shell. Como os computadores hoje em dia não servem somente pra acessar a shell, o termo console se tornou obsoleto. Ainda assim ele pode se referir ao modo como acessamos o computador (normalmente pelo teclado e mouse).
Console é um termo muito geral: 'equipamento eletrônico que serve para controlar um dispositivo'. Tambem existem consoles de videogame (dispositivos para executar jogos), Console Applications (programas que rodam em interface textual), e Console Tables (termo em inglês para mesas de canto).

Nenhum comentário:
Postar um comentário