No mundo linux, todos podem parecer iguais do ponto de vista do usuário no teclado. As diferenças estão em como elas interagem umas com as outras.
O shell é o programa que realmente processa comandos e retorna a saída. A maioria das shells também gerencia processos de primeiro e segundo plano, histórico de comandos e edição de linha de comando. Esses recursos (e muitos mais) são padrão em bash
, o shell mais comum em sistemas Linux modernos.
Um terminal refere-se a um programa wrapper que executa um shell. Décadas atrás, este era um dispositivo físico que consistia em pouco mais que um monitor e um teclado. Como os sistemas unix / linux adicionaram melhores sistemas de multiprocessamento e janelas, este conceito de terminal foi resumido em software. Agora você tem programas como o Terminal Gnome que abre uma janela em um ambiente de janelas do Gnome que executará um shell no qual você pode inserir comandos.
O console é um tipo especial de terminal . Historicamente, o console era um único teclado e monitor conectado a uma porta de console serial dedicada em um computador usado para comunicação direta em um nível baixo com o sistema operacional. Modernos sistemas Linux fornecem consoles virtuais . Estes são acessados através de combinações de teclas (por exemplo, Alt + F1 ou Ctrl + Alt + F1 ; a tecla de função indica diferentes consoles) que são manipulados em níveis baixos do sistema operacional linux - isso significa que não há serviço especial que precise ser instalado e configurado para ser executado. Interagir com o console também é feito usando um programa shell .