Vous êtes sur la page 1sur 5

Uma interface gráfica do final da década de 1980, que possui uma janela ​TUI​ para uma ​página de

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

1​Visão Geral
2​História
3​Shells de texto (CLI)
4​Shells gráficos
5​Referências
6​Ver também
7​Ligações externas

Visão Geral​[​editar​ | ​editar código-fonte​]


No mundo Unix, o termo ​Shell​ é mais usualmente utilizado para se referir aos programas de
sistemas do tipo ​Unix​ que podem ser utilizados como meio de interação entre interface de
usuário para o acesso a serviços do kernel no sistema operacional. Este é um programa que
recebe, interpreta e executa os comandos de usuário, aparecendo na tela como uma linha de
comandos, representada por um ​interpretador de comandos​, que aguarda na tela os comandos
do usuário. Em aplicativos, o "Shell" é também usado para descrever aplicações, incluindo
software que é "construído em torno" de um componente específico, como navegadores e
clientes de e-mail que são, em si mesmos, "shells" para ​motores de renderização​ ​HTML​.
A escolha ideal de interface com o usuário depende da função no computador em particular a
operação. CLIs permitem algumas operações a serem executadas mais rapidamente,
reorganizando grandes blocos de dados, por exemplo. CLIs podem ser melhores para os
servidores que são gerenciados por especialistas: administradores, enquanto GUIs oferecem
simplicidade e facilidade de uso e seria mais adequado para edição de imagem, ​CADD​ e
editoração eletrônica​. Na prática, muitos sistemas fornecem ambas a interfaces de usuário que
podem ser chamadas em uma base de comando por comando. O Windows xxx é o exemplo
mais óbvio, com o seu "prompt de comando" e no modo normal "windows". Não é nenhum
exagero dizer que tanto a Apple Macintosh OS xxx e Microsoft Windows xxx revolucionaram a
computação doméstica​, ajudando os usuários relativamente inexperientes com interface de um
PC usando uma GUI.
Em ​sistemas especialista​, um shell é um pedaço de software que é um sistema especialista
"vazio", sem a base de conhecimento para qualquer aplicação em particular.​[6]

História​[​editar​ | ​editar código-fonte​]


O primeiro ​shell Unix​, o sh criado por ​Ken Thompson​, foi modelado depois do shell ​Multics​,[7]​
​ em
si modelado com base no programa ​RUNCOM​ de ​Louis Pouzin​. O sufixo 'rc' presente em alguns
arquivos de configuração do unix (".vimrc"), é um remanescente do ancestral RUNCOM dos
shells Unix
Quase todos os shells dos sistemas operacionais dos 1970 podem ser usados de duas formas:
interativa e modo ​batch​ ou lote. O modo batch envolve estruturas, condicionais, variáveis e
outros elementos de linguagem de programação. Alguns tem as apenas o necessário para um
propósito específico, outras atendem propósitos mais diversos e sofisticados.

Shells de texto (CLI)​[​editar​ | e​ ditar código-fonte​]


Ver também: ​Lista de interpretadores de linha de comando

Prompt de comando​, um shell CLI do Windows.


Bash​, um ​shell do Unix​ amplamente usado.

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 ​telnet​programa 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.

Shells gráficos​[​editar​ | ​editar código-fonte​]


Operação de ​arrastar e soltar​ executada em um grupo de arquivos entre o KDesktop e o ​Konqueror​no
KDE

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

Vous aimerez peut-être aussi