Terminal vs. Shell [duplicado]


14

Possível duplicado:
Quais são as diferenças entre shell, console e terminal?

Provavelmente isso soa como uma pergunta estúpida, mas estou tendo muitos problemas para diferenciar claramente entre um shell (como Bourne ou bash) e o aplicativo Terminal no GNOME. Percebo que ambos são completamente diferentes, mas não consigo encontrar uma resposta clara, escrita em texto. Alguém poderia distinguir claramente entre os dois?

Respostas:


15

O programa do terminal é apenas uma interface gráfica para o shell. O shell é o que realmente lida com comandos e assim por diante; o programa do terminal apenas oferece uma maneira de interagir com o ambiente gráfico.


8

O shell é um programa típico do Unix. Ele lê comandos da entrada padrão e imprime algo na saída padrão. Isso é simples e bom.

O ponto é: Em um ambiente gráfico (como GNOME ou KDE), um programa não pode simplesmente escrever texto diretamente na área de trabalho. Se os programas pudessem, isso rapidamente se tornaria uma bagunça e caos. Portanto, você precisa de um programa que forneça um espaço onde outros programas possam escrever seu texto. Esse programa também aceita pressionamentos de tecla do usuário e os converte em seqüências de bytes, pois é o que muitos programas (linha de comando, texto, não GUI) esperam. Tudo isso é o trabalho do aplicativo Terminal GNOME.

Então você tem o shell (provavelmente o bash) e o terminal GNOME está envolvido. Para ver o que exatamente o terminal GNOME que você pode executar (Alt + F2) gnome-terminal, xterme rxvtno meio, e ver onde eles são diferentes e que eles têm em comum.


1

Eu acho que o que você realmente está perguntando é qual é a diferença entre o console e um aplicativo de terminalxterm ?

Nesse caso, o console é local para a máquina, pode haver apenas um console. A saída do console é direcionada para o /dev/consoleque geralmente significa seu monitor. Um terminal, por outro lado, é realmente um emulador de terminal que remonta aos dias em que os mainframes eram tão grandes quanto as salas inteiras e você tinha usuários interagindo com terminais burros que eram remotos ao mainframe. Os terminais enviavam comandos do terminal através de uma linha serial para o mainframe para interagir com ele. Hoje em dia, ainda usamos terminais, mas eles são emulados para que possamos usar mais de um (cada um vinculado a uma pseudo ttyty /dev/pts#) e podemos usá-los remotamente e encaminhar sua conexão através de um canal SSH criptografado na Internet.

O console e um aplicativo de terminal invocam seus shells ao fazer login.


-2

O terminal é essencialmente um shell emulado em uma janela.

Se você quiser ver um shell real sem o Terminal, pressione Ctrl+ Alt+ F1e Ctrl+ Alt+ F8para voltar à interface gráfica.


Um terminal não é nenhum tipo de shell.
Ignacio Vazquez-Abrams

@Dennis Cuidados para elaborar?
digitxp

Veja o comentário de Ignacio. Um terminal, quer se trate de uma consola do sistema ou gnome-terminal, xtermou massa é mais semelhante a um terminal físico (e é, portanto, um emulador ). Um shell é um software que, entre outras coisas, aceita entrada, processa e gera saída em um terminal.
Pausado até novo aviso.

@ Dennis Então, devo dizer "O terminal contém essencialmente um shell emulado dentro de uma janela gráfica".
usar o seguinte código

Um terminal não é necessariamente uma janela gráfica e um shell não está necessariamente em execução nele. E o shell não é emulado (poderia ser outro programa). O que você está pedindo é essencialmente o mesmo que o original. Veja a resposta aqui, que está muito perto de ser completa e é bastante precisa.
Pausado até novo aviso.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.