No Windows, quando você abre um prompt de comando, quase sempre o programa em execução é cmd.exe
. É um derivado NT aprimorado do antigo baseado em DOS command.com
, que por sua vez possui semelhanças com o CCP
interpretador de comando CP / M ainda mais antigo .
No Linux, como o @Griffin menciona, geralmente você está executando bash
algum tipo de emulador de terminal se estiver usando-o em um ambiente gráfico. (que pode variar bastante, dependendo da distribuição e do ambiente de trabalho). Isso significa "Bourne Again SHell" porque é uma versão estendida de um shell "Bourne" anterior ( sh
) que é padrão no Unix há muito tempo. Há outras conchas "alternativos" de uso comum, como csh
, ksh
, e tcsh
.
O Windows também cmd.exe
pode ser considerado um shell (como pode explorer.exe
).
O prompt de comando do Windows e todos os shells do Unix têm vários "built-ins", ou comandos que são manipulados inteiramente dentro do shell. Isso inclui alguns comandos básicos (como cd
) e muitos comandos e operadores condicionais que controlam o fluxo de scripts se um arquivo em lote de comandos for executado.
No entanto, no Linux e no Windows, a grande maioria dos "comandos" que fazem coisas úteis são, na verdade, programas externos que são "chamados" pelo shell. E esse é o objetivo principal de um shell, permitir que um operador inicie programas especificando argumentos para esses programas. Não é realmente uma linguagem de programação, é apenas uma estrutura para o lançamento de programas.