Tipos de shells no Linux

Vista traseira do editor de fotos trabalhando no computador

Um shell é um programa usado para interpretar comandos.

Crédito da imagem: Wavebreakmedia Ltd / Wavebreak Media / Getty Images

No Linux e no Unix, um shell se refere a um programa que é usado para interpretar os comandos digitados que o usuário envia ao sistema operacional. A analogia mais próxima no Windows é o prompt de comando do DOS. No entanto, ao contrário do Windows, os computadores Linux e Unix permitem que o usuário escolha qual shell deseja usar.

Bourne Shell

O shell Bourne original recebeu o nome de seu desenvolvedor na Bell Labs, Steve Bourne. Foi o primeiro shell usado para o sistema operacional Unix e foi amplamente superado em funcionalidade por muitos dos shells mais recentes. No entanto, todas as versões do Unix e muitas versões do Linux permitem que os usuários mudem para o Bourne Shell original, conhecido simplesmente como "sh," se eles optarem por abrir mão de recursos como completamento de nome de arquivo e históricos de comando que shells posteriores têm adicionado.

Vídeo do dia

C Shell

O shell C, como o próprio nome pode sugerir, foi projetado para permitir aos usuários escrever programas de script de shell usando uma sintaxe muito semelhante à da linguagem de programação C. É conhecido como "csh".

TC Shell

O shell TC é uma expansão sobre o shell C. Ele tem todos os mesmos recursos, mas adiciona a capacidade de usar pressionamentos de tecla do programa processador de texto Emacs para editar texto na linha de comando. Por exemplo, os usuários podem pressionar Esc-D para excluir o resto da palavra destacada. Também é conhecido como "tcsh".

Korn Shell

Korn Shell também foi escrito por um desenvolvedor da Bell Labs, David Korn. Ele tenta mesclar os recursos do shell C, shell TC e shell Bourne em um pacote. Também inclui a capacidade de os desenvolvedores criarem novos comandos de shell conforme a necessidade.

É conhecido como "ksh".

Bourne-Again Shell

O shell Bourne-Again é uma versão atualizada do shell Bourne original que foi criado pela Free Software Foundation para seu projeto GNU de código aberto. Por esse motivo, é um shell amplamente utilizado na comunidade de código aberto.

Sua sintaxe é semelhante à usada pelo shell Bourne, porém incorpora alguns dos recursos mais avançados encontrados nos shells C, TC e Korn.

Entre os recursos adicionais que faltavam a Bourne está a capacidade de completar nomes de arquivos pressionando a tecla TAB, o capacidade de lembrar um histórico de comandos recentes e a capacidade de executar vários programas em segundo plano em uma vez.

É conhecido como "bash".