Eu sei que isso pode parecer tolice, mas eu só queria saber se há realmente uma diferença entre as duas palavras usadas no mundo Linux. Eu sei que o Shell é uma interface de linha de comando e tem muitas variantes como Bash, Korn, etc. E também sei que um Ctrl + Alt + T lança um terminal no Ubuntu. Eu só quero conectar esses dois pontos.
Isso significa que o terminal é a janela que se abre e o shell é o programa atrasado para interpretar os comandos digitados na janela? Ou são os mesmos em que terminal é um termo genérico usado para abstrair os conceitos de Shell, etc?
O que diferencia exatamente as duas palavras?
fonte
Eu acho que essa questão foi explorada minuciosamente no site de troca de pilha Unix e Linux: Diferenças entre shell, console e terminal
fonte
Sim, o emulador de terminal e o shell são dois programas diferentes. Como você sabe, um exemplo da diferença é que o lançamento de uma janela de terminal pode executar shells diferentes, dependendo do que você configurou (bash, tcsh, ksh, ash e até python!).
Outra diferença é que existem mais emuladores de terminal do que apenas o padrão: gnome-terminal, várias variedades de xterm, konsole (para KDE) etc. (veja: http://www.howtogeek.com/howto/ubuntu/set- o emulador de terminal padrão no ubuntu-linux / ). Qualquer shell pode ser executado em qualquer um desses emuladores de terminal, sem muita dificuldade.
Uma terceira diferença é que, além de executar comandos do shell, você também pode iniciar determinados aplicativos interativos no emulador de terminal, e eles serão executados na mesma janela (e ainda contando com o mesmo programa de emulador de terminal para lidar com os gráficos reais), como o editor de texto vim, o nethack RPG e outros. Se você quiser, poderá configurar um perfil no emulador de terminal para iniciar o nethack, digamos, automaticamente quando abrir uma nova guia; nenhum shell envolvido, mas o emulador de terminal ainda é o mesmo programa.
Uma quarta diferença é que você pode executar logins remotos, usando um programa como ssh, de dentro de uma janela do terminal. Nesse caso, seu shell (ou qualquer outro programa que você executa remotamente) está sendo executado em outro computador, e o programa ssh o conecta ao programa emulador de terminal local em execução na sua máquina que lida com gráficos.
fonte