Académique Documents
Professionnel Documents
Culture Documents
manual. Outra janela de texto para um shell Unix está parcialmente visível.
Em computação, um shell (em português, casca ou concha) é uma interface de usuário para
acessar os serviços de um sistema operacional. Em geral, shells dos sistemas operacionais
usam uma interface de linha de comando (ILC) ou uma interface gráfica de usuário(IGU),
dependendo da função e operação particular de um computador. macOS e Windows são
exemplos de sistemas operacionais amplamente utilizados através de interfaces gráficas.[1][2][3]
É chamado de shell (casca) porque ele é a camada mais externa em torno do núcleo do sistema
operacional.[4][5]
Índice
1Visão Geral
2História
3Shells de texto (CLI)
4Shells gráficos
5Referências
6Ver também
7Ligações externas
A tradução de Shell para português neste caso, pode significar "concha" ou "casca". Na
informática o Shell, de maneira genérica, é um programa que intermedeia o contato entre o
usuário e o computador. É a interface entre o usuário e o sistema operacional (kernel). Aqui
descreveremos o termo mais comum usado cotidianamente, que se refere aos interpretadores
de comandos dos sistemas Unix e seus similares.
A interface de linha de comando (CLI) é um shell do sistema operacional que utiliza caracteres
alfanuméricas digitadas em um teclado para fornecer instruções e dados para o sistema
operacional, de forma interativa. Por exemplo, um teletipo pode enviar códigos que representam
combinações de teclas para um programa interpretador de comandos em execução no
computador, o interpretador de comandos analisa a seqüência de teclas e responde com uma
mensagem de erro se não puder reconhecer a sequência de caracteres, ou pode realizar algum
outro programa de ação, tais como o carregamento de um programa de aplicação, listando os
arquivos, login de um usuário e muitos outros. Sistemas operacionais como o UNIX tem uma
grande variedade de programas shell com diferentes comandos, sintaxe e capacidades. Alguns
sistemas operacionais tiveram apenas um único estilo de interface de comando, sistemas
operacionais de commodities, como MS-DOS veio com uma interface de comando padrão, mas
as interfaces de terceiros também foram frequentemente disponíveis, fornecendo recursos ou
funções, como menuing ou execução remota de programas adicionais.
Programas de aplicação também pode implementar uma interface de linha de comando. Por
exemplo, em sistemas Unix-like, o telnetprograma tem uma série de comandos para controlar
um link para um sistema de computador remoto. Uma vez que os comandos para o programa
são teclas digitadas como os dados a serem transmitidos para um computador remoto, alguns
meios de distinguir os dois são necessários. Uma sequência de escape pode ser definida,
usando uma combinação de teclas especiais no local que nunca é passado, mas sempre
interpretada pelo sistema local. O programa torna-se restrito, alternando entre interpretar os
comandos do teclado ou passando batidas de teclas como os dados a serem processados.
Uma característica de muitos shells de linha de comando é a capacidade de salvar sequências
de comandos para re-uso. Um arquivo de dados pode conter sequências de comandos que o
CLI podem ser feitas a seguir como se digitado pelo usuário. Recursos especiais no CLI pode
aplicar quando se está levando a cabo estas instruções armazenados. Esses arquivos em Batch
(arquivos de script) pode ser usado repetidamente para automatizar operações de rotina, como
a inicialização de um conjunto de programas quando o sistema é reiniciado. O shell de linha de
comando pode oferecer recursos como conclusão de linha de comando, onde o intérprete se
expande comandos com base em uma entrada de alguns personagens pelo usuário. A
intérprete de linha de comando pode oferecer uma função de histórico, de modo que o usuário
pode chamar comandos anteriores emitidos para o sistema e repeti-los, possivelmente com
alguma edição.
Uma vez que todos os comandos para o sistema operacional tinha de ser digitado pelo usuário,
nomes de comandos curtos e sistemas compactos para que representam opções do programa
eram comuns. Nomes curtos eram às vezes é difícil para um usuário para se lembrar, e os
sistemas de início não tinha os recursos de armazenamento para fornecer um guia de instruções
do usuário on-line detalhado. Existem diversas implementações de Shell, dentre os quais
podemos mencionar o csh, tcsh, sh, bash, ksh, zsh e muitos outros. Cada um pode executar
comandos gerais do sistema de maneira semelhante, porém possuem estruturas e comandos
próprios que os diferenciam. Outra grande diferença entre os diversos tipos de Shell são as
facilidades que eles oferecem para o reaproveitamento de comandos e manipulação da linha de
comandos.
Todo o usuário em sistemas Unix e similares tem um shell associado a si em seu cadastro.
Podemos dizer que o Shell do usuário "fulano" é o csh, por exemplo, se este for o Shell
cadastrado para o usuário. Embora o cadastro só permita associar um shell a cada usuário é
muito simples passar de um shell para outro, passando a usar outro interpretador de comandos,
bastando para isso chamar o outro shell desejado, da mesma maneira que qualquer comando é
executado. Se um usuário, por exemplo, está no shell "sh" e executa o comando "csh", passa
neste momento a usar o shell "csh" como interpretador de comandos até que saia dele com o
comando "exit" ou outro comando para sair do shell.
A interface gráfica do usuário (GUI) representa programas e dados através de símbolos visuais
em vez de texto. Interfaces gráficas tornou-se viável com o custo diminuiu do hardware de
computação gráfica interativa. Interfaces gráficas desenvolvem a metáfora de um "ambiente de
trabalho eletrônico", onde os arquivos de dados são representados como se os documentos em
papel em uma mesa, e os programas de aplicação semelhante tem representações gráficas em
vez de serem chamados por nomes de comandos.
Referências
1. ↑ Esposito, Dino. «New Graphical Interface: Enhance Your Programs with New Windows
XP Shell Features». MSDN Magazine (November 2001). Consultado em 11 de setembro
de 2012
2. ↑ Esposito, Dino (dezembro de 1998). Visual C++ Windows shell programming. [S.l.]:
Apress. ISBN 978-1861001849
3. ↑ Seely, Scott (15 de junho de 2000). Windows Shell Programming. [S.l.]: Prentice Hall
PTR. ISBN 978-0130254962
4. ↑ «The Internet's fifth man», Brain scan, London: Economist Group, The Economist, 13 de
dezembro de 2013, Mr Pouzin created a program called RUNCOM that helped users
automate tedious and repetitive commands. That program, which he described as a “shell”
around the computer’s whirring innards, gave inspiration—and a name—to an entire class
of software tools, called command-line shells, that still lurk below the surface of modern
operating systems.
5. ↑ Raymond, Eric S. (ed.). «shell». T he Jargon File
6. ↑ British Computer Society: The BCS glossary of ICT and computing terms, Pearson
Education, 2005, ISBN 0-13-147957-1, ISBN 978-0-13-147957-9, page 135
7. ↑ http://www.multicians.org/unix.html