Shell Linux
Autor: Vilson Jorge | Publicado: 2010-08-28T10:40:00-07:00

Interpretadores de ComandoEm um Sistema Operacional moderno, temos entre outros, o Núcleo do Sistema Operacional e o Shell.O Núcleo do sistema (Kernel) é  o "centro nervoso" do Sistema Operacional. Contém arquivos escritos em linguagem de programação C e Assembly. O kernel controla os dispositivos e demais periféricos do Sistema Operacional, como: placas de som, vídeo, discos rígidos, pen drivers, sistemas de arquivos, redes, permite que todos os processos sejam executados pela CPU, faz escalonamento de processos, definindo tempo de processamento para cada programa de acordo com a prioridade que cada um tem e possibilita aos processos em execução compartilhar a memória e recursos do computador.O Shell é parte integrante do sistema operacional; funciona como interpretador de comando e é responsável por possibilitar a interação entre o usuário e o kernel do Sistema. Uma diferença substancial entre Linux é Windows é que em sistemas Ms Windows o Shell é a interface gráfica propriamente (é aquilo que vemos, pastas, janelas, navegadores, etc).Em um sistema GNU/Linux o Shell é um interpretador de comandos; ou seja, trata-se de um prompt que vai ler os comandos digitados pelo usuário, fazer a interpretação desses comandos, executar o que foi pedido e mostrar na tela o(s) resultado(s) para o usuário. Existem vários interpretadores de comandos; vários shell, sendo que o mais utilizado é o bash (Bourne Again Shell). O shell  é bem mais que um simples interpretador de comando, é também uma poderosa linguagem de programação.Diagrama de Contexto do ShellO diagrama de contexto acima é bastante representativa de como se dá a interação do usuário com o computador através do shell linux. No primeiro nível esta o usuário que digita um comando para listar diretórios/arquivos (ls); O shell interpreta aquele comando do usuário e solicita ao Núcleo do sistema operacional (Kernel) para que este faça uma consulta no hardware do computador (neste caso no hard disk). Uma vez feito a consulta, o resultado é armazenado em um endereço de memória e na seqüência devolve o resultado ao kernel e este repassa as informações ao shell do usuário; como bem indicado pelas setas.Símbolo do promptQuando executamos algum prompt de comando será exibida uma tela aguardando a entrada de comandos. No meu computador aparece assim:jorge@linux:~$ sendo "jorge" o nome do usuário logado e "linux" é o hostname. O símbolo $ me indica que sou um "usuário normal" no sistema, ou seja, um usuário sem poderes administrativos.jorge@linux:~# Este símbolo que aparecerá após o nome do computador é o # (tralha, serquilha, jogo da velha), indica que se trata do super usuário ou usuário root (raiz); este usuário deve ser utilizado com bastante cuidado, já que o linux não impõe restrição ao user root por entender que este usuário sabe o que esta fazendo...  Referências:SIQUEIRA, Luciano Antonio. Certificação LPI-1: 101-102. São Paulo: Linux New Media, 2009.PRITCHARD, Steven et al. Certificação Linux LPI: Guia de referência nível 1: Exames 101 e 102. Rio de Janeiro: Alta Books, 2007.FERREIRA, Rubem E. LINUX: Guia do Administrador de Sistemas. São Paulo: Novatec, 2008.