Você está na página 1de 3

OSTENSIVO GUIA DE ESTUDO

CAPÍTULO 5

INTRODUÇÃO AO SHELL

5.1 - APRESENTAÇÃO

A maneira mais comum de se utilizar/administrar uma máquina Linux é através de


uma interface em modo texto. Para isto, um shell é disponibilizado. Um shell é
basicamente um programa, que interpreta o que o usuário digitar (comandos), e
envia para o sistema operacional, oferecendo funcionalidades para a interação entre
estes.

A “shell” é uma camada de acesso ao sistema básico, o sistema operacional do


computador, que pode ser acessada tanto pelo modo gráfico, quanto em modo texto.
A “shell” pode ser personalizada para atender as necessidade do usuário. Pode-se
definir um idioma padrão, personalizar e automatizar processos.
A figura ilustra como podemos posicionar a “shell” dentro do sistema.

USUÁRIO

APLICAÇÃO

SHELL

KERNEL

HARDWARE

Os comandos são interpretados pelo shell e enviados para sua execução. Com isso,
um shell pode também ser utilizado para programação simples - a maioria dos shells
inclui funcionalidades de programação, o que facilita a criação de scripts
automatizados e até programas relativamente complexos utilizando apenas
comandos comuns do sistema. Esses programas e scripts são comumente
conhecidos como "scripts shell". É a combinação de um bom shell com pequenos
programas utilitários do sistema que oferece toda a flexibilidade e poder de uma
interface texto.

OSTENSIVO - 5-1 -
OSTENSIVO GUIA DE ESTUDO

Existem três tipos de execução de um shell: shell de login, shell interativo e shell não
interativo. As diferenças entre eles são citadas a seguir:

 Shell de Login: Um shell de login é normalmente aquele em que o usuário


dá o login no sistema. Quando o shell é iniciado como um shell de login,
ele primeiro lê e executa os comandos que estão no arquivo /etc/profile
(se esse arquivo existir). Após isso, o shell procura por seus arquivos
de configuração (-/. bashprofile, -/.bashlogin e -/.profile, por exemplo -
lembrando que o caractere til é a representação do diretório home do
usuário, como já foi visto anteriormente; exemplo: /home/aluno). Ele irá
executar os comandos presentes no primeiro arquivo de configuração que
possa ser lido. Ao terminar uma sessão de um shell de login, serão
executados os comandos presentes no arquivo de configuração, se existir
(~/.bash_logout, por exemplo), enquanto que um shell interativo não executa
estes comandos.
 Shell Interativo: Um shell interativo é aquele no qual você digita os
comandos e aguarda enquanto o comando executa, interagindo com o
sistema. Quando um shell interativo é iniciado, ele lê e executa os
comandos presentes no arquivo de configuração do usuário (se esse arquivo
existir; por exemplo, o -/. bash rc). Normalmente, um shell de login também é
um shell interativo.
 Shell Não Interativo: Um shell não interativo é um shell utilizado para
executar um script, por exemplo, onde o usuário não faz interação com a linha
de comando.

Existem vários shells disponíveis para Linux; os principais são citados a seguir:

 sh ou Bourne SHell: este é o shelI original, ainda usado em sistemas


Unix e ambiente relacionados. Ele é um programa pequeno, com poucos
recursos, compatível com o POSIX.
 bash ou Bourne Again SHell: é o shell padrão GNU, bastante intuitivo e
flexível. Usado tanto por usuários iniciantes como programadores. Ele emula o
Bourne Shell, incluindo uma gama de recursos adicionais e plug-ins, ou seja,
o que é executado com o sh pode ser executado no bash, mas nem sempre a
recíproca é verdadeira.
 csh ou C shell: a sintaxe deste shell é dirigida para a programação em C, e
ele é direcionado para programadores.
 tcsh ou Turbo C shell: um conjunto do csh, com uma interface mais
amigável, uma velocidade maior e com mais recursos.
 ksh ou the Korn shell: apreciado mais por pessoas que vieram do mundo
Unix, é baseado no Bourne shell, sendo extremamente complicado para
usuários iniciantes.

O shell mais comumente utilizado em ambientes Linux é o bash, e ele será utilizado
no restante do curso.

OSTENSIVO - 5-2 -
OSTENSIVO GUIA DE ESTUDO

5.2 - O BASH

O bash tem, basicamente, três propósitos:


 Utilização interativa: no uso interativo, o shell fornece uma linha de comando
para o usuário e espera seus comandos serem digitados para processá-los e
repassá-los para serem executados pelo sistema.
 Personalização de uma sessão: o shell define muitas variáveis, para
localização do diretório inicial, para o spool de correio, para controle da
sessão, etc, sendo que algumas delas são predefinidas pelo sistema e
outras podem ser definidas pelo usuário, em arquivos de inicialização.
Estes arquivos podem também conter comandos para serem executados
logo após a finalização da sessão pelo usuário (ou logon do usuário).
 Programação: como já citado, para programar no shell utilizam-se scripts, que
nada mais são do que a combinação de comandos do shell com comandos do
sistema.

O Prompt

Ao se logar em um sistema Linux via modo texto (sem utilizar um gerenciador de


Iogin gráfico), será apresentado para o usuário uma linha de comando, como abaixo:

[aluno@Telematica] >

A primeira parte (antes da arroba), indica o nome de usuário que está acessando
este shelI no momento. Logo após o arroba, é mostrado no nome da máquina (local
ou remota), e por último, é mostrado o diretorio onde o usuário se encontra no
momento. o “Shell” de um usuário comum é identificado com “>” .Para o usuário
root, a única diferença é no sinal final, onde é mostrado uma cerquilha (#).

Conceito de Caminho

Os arquivos do sistema podem ser localizados/visualizados de duas formas: através


de seu caminho relativo ou de seu caminho absoluto. O caminho absoluto é o
caminho completo, desde o diretorio raiz até onde o usuário se encontra, e o
caminho relativo é o caminho para qualquer diretorio, mas a partir do diretorio onde
o usuário se encontra atuaimente.

Um exemplo genérico: caso o usuário desejasse voltar um diretorio, ele poderia


usar o caminho absoluto (digitando desde o diretorio / até o diretorio desejado), ou
digitando "..", que seria o equivalente a voltar um diretorio, relativo ao atual.

Conceito de Console

Console, ou terminal, é a área onde é mostrado o shell. Em modo texto, ele é


chamado também de terminal virtual (consistindo apenas da linha de comando do
shell). É possível alternar entre os terminais virtuais no Linux, utilizando as
teclas Ctrl - Alt - Fn, onde n pode variar de 1 até 6 na configuração padrão

No modo gráfico, o terminal é acionando por um programa que imite ou emule o


console. Como exemplo de console gráfico, é possível citar o terminal x, o
Konsole e o Eterm, cada um com características próprias.

OSTENSIVO - 5-3 -

Você também pode gostar