DEV Community

Cover image for Diferença entre Shell, Terminal, Console e CLI (Command Line Interface)
Alexandre Liberato
Alexandre Liberato

Posted on • Edited on

6 1

Diferença entre Shell, Terminal, Console e CLI (Command Line Interface)

TL:DR

Shell - Entrada para comunicação com o Kernel. Onde os comandos são executados.

Terminal - É o programa que roda um shell. Gnome Terminal, xTerm, iTerm2 por exemplo.

Console ou CLI (Command Line Interface) - Abstração usada para se referir a um terminal + shell ou console tty.

Shell

Imagem de um terminal, Gnome-Terminal, rodando o shell Bash.

É um programa utilizado para processar comandos e trazer os resultados do mesmo. Basicamente ele serve para interagirmos com o kernel do sistema operacional de forma mais abstrata, menos low-level.

Terminal

Imagem de um antigo terminal LSI (terminal físico)

É um programa que roda um shell. Outrora eram equipamentos com capacidade mínima de processamento onde eram realizadas conexões a um computador remoto. Para diferenciar basta se lembrar que terminal indica o ponto final de algo por exemplo, no caso onde acontecem a entrada e saída dos dados para o computador.

Console ou CLI (Command Line)

Foto do console de um avião com dezebas de pequenos botões

São abstrações que indicam a utilização de um terminal+shell. No Linux console pode ainda indicar terminais, 6 por padrão, implementados diretamente pelo kernel. Podemos acessá-los usando os atalhos CTRL + ALT + F/n, exemplo o /dev/tty1 pode ser acessado com CTRL + ALT + F1, enquanto o atalhos CTRL + ALT + F7 traz você de volta para o modo gráfico.

Bônus :)

Vamos entender a diferença entre Login Shell vs Interactive Shell vs Non-Interactive Shell.

Login Shell

É um shell usado para o login. Pode ser acessado por terminal ou ssh por exemplo. Ele executa arquivos mínimos de configuração para podermos utilizar o sistema. Outro exemplo é você acessar seu console 1 ou /dev/tty1 como nos exemplos acima.

Interactive Shell

É o shell que você executa, por exemplo após o login, como por exemplo o bash. Daí você me pergunta: “Ah mas eu não executei nada após o login, estou em um shell de login ou interativo?”, a resposta é que você está em um shell de login/interativo. Outro exemplo é abrir um novo terminal.

Non-Interactive Shell

É um shell que não tem interação com o usuário. É raro de encontrar e não convém ao nosso cenário no momento.

Por hoje é isso pessoal!

Obrigado pela visita, deixe seu like e siga para novos artigos sobre Desenvolvimento de Sistemas.

@feiler no Twitter

Saiba Mais

https://askubuntu.com/questions/506510/what-is-the-difference-between-terminal-console-shell-and-command-line

https://stackoverflow.com/questions/18186929/what-are-the-differences-between-a-login-shell-and-interactive-shell

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (1)

Collapse
 
caroline_myamoto_ba2d6423 profile image
Caroline Myamoto

Oi, tudo bem? Muito prático seu post ;)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more