Entenda a diferença entre “terminal”, “shell”, “tty” e “console”

Share

“Segundo Gilles para o site stackexchange.com

Um terminal é um circuito elétrico, um shell é o lar de uma tartaruga, tty é uma abreviação estranha e console é um tipo de gabinete”.

Brincadeiras a parte, vamos entender a diferença entre estas terminologias presentes em nosso universo *nix.

O console, o terminal e a tty e estão intimamente relacionados. Originalmente, eles significavam um equipamento através do qual você poderia interagir com um computador nos primeiros dias do unix. Era um dispositivo semelhante a um telex ou uma máquina de escrever, às vezes chamado de teletypewriter, ou “tty” em taquigrafia. O nome “terminal” veio do ponto de vista eletrônico, e o nome “console” do ponto de vista móvel. 

Em unix, um  tty  é um tipo particular de  arquivo de dispositivo  que implementa uma série de comandos adicionais ( ioctls ) além de leitura e escrita. Em seu sentido mais comum,  terminal  é sinônimo de tty. Alguns ttys são fornecidas pelo kernel em nome de um dispositivo de hardware, por exemplo, com a entrada vinda do teclado e a saída vai para uma tela em modo texto, ou com a entrada e saída transmitida através de uma linha serial. Outras ttys, às vezes chamadas de  pseudo-ttys , são fornecidos (através de uma camada fina do kernel) por programas chamados  emuladores de terminais, como o  Xterm  (em execução no  Sistema X Window ),  screen  (que fornece uma camada de isolamento entre um programa e outro terminal),  ssh (que liga um terminal de uma máquina com os programas em outra máquina),  e etc.

A  shell  é a interface primária que os usuários vêem quando logan, cujo objetivo principal é iniciar outros programas. Em círculos unix, a shell  tem a “tendência de significar” um  shell de linha de comando, recebendo as entradas digigidas à maquina diretamente de um dispositivo de entrada. A palavra shell, do inglês, significa “concha”, dando a ideia de que o usuário estaria em um “concha” ao lidar com o sistema, ou o sistema estaria “enconchado” para o usuário.

Outros tipos de ambientes não usam a palavra “shell”, por exemplo, sistemas de janelas, como “gerenciadores de janela” e “ambientes de desktop “, não um “shell”, apesar do GNOME estar introduzindo novamente esse conceito de “shell” à área gráfica.

Há muitos shells diferentes em unix, mas as mais comuns têm uma sintaxe baseado na Bourne Again shell, ou BashAo discutir “programação shell “, é quase sempre implícito estar usando um shell da família Bourne (Borne Shell ou Borne Again Shell).

 

 

Leia mais em linux-news.org

Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.