• Nenhum resultado encontrado

SL - SO - Aula 6

N/A
N/A
Protected

Academic year: 2021

Share "SL - SO - Aula 6"

Copied!
36
0
0

Texto

(1)

Profa Rita de Cássia Catini Faculdade Santa Lúcia 4º Semestre - Sistemas de informação

(2)
(3)

Camadas: Hardware e Kernel

Hardware: É a mais profunda e é formada

pelos componentes físicos do seu computador.

Em torno dela, vem a camada do kernel que é

o cerne do Linux, seu núcleo, e é quem põe o

hardware para funcionar, fazendo seu

(4)

Camadas: Programas e Comandos,

Shell

Os programas e comandos que envolvem o kernel,

dele se utilizam para realizar as tarefas para que

foram desenvolvidos.

Fechando tudo isso vem o Shell, que leva este nome

porque, em inglês, Shell significa concha, carapaça,

isto é, fica entre o usuário e o sistema operacional, de

forma que tudo que interage com o sistema

(5)

O ambiente Shell

 Para chegar ao núcleo do Linux, no seu kernel que é o que interessa a todo aplicativo, é necessária a filtragem do

Shell, vamos entender como ele funciona de forma a tirar o máximo proveito das inúmeras facilidades que ele nos oferece.

(6)

Tipos de Shell

 O Shell é a conceituação de concha envolvendo o sistema operacional propriamente dito, é o nome genérico para tratar os filhos desta idéia que, ao longo dos muitos anos de existência do sistema operacional Unix, foram

aparecendo.

(7)

Só por curiosidade: Tipos mais

conhecidos

Bourne Shell (sh):Desenvolvido no Bell Labs, foi durante muitos anos o Shell padrão do sistema operacional Unix.É também chamado de Standard Shell .

Korn Shell (ksh):Desenvolvido também noBell Labs,é um superconjunto do sh, isto é, possui todas as facilidades do sh e a elas agregou muitas outras.

Boune Again Shell (bash):Desenvolvido inicialmente por Brian Fox e Chet Ramey, este é o Shell do projeto GNU.O número de seus adeptos é o que mais cresce em todo o mundo, seja por que ele é o Shell padrão do Linux, seja por sua grande diversidade de comandos, que incorpora inclusive diversos comandos característicos do C Shell.

C Shell (csh):Desenvolvido por Bill Joy,da Universidade de Berkley, é o Shell mais utilizado em ambientes BSD. Foi ele quem introduziu o histórico de comandos.A estruturação de seus comandos é bem similar à da linguagem C.

(8)

Funcionamento do Shell

 O Shell é o primeiro programa que você ganha ao iniciar sua sessão (efetuar login) no Linux.

 É ele quem vai resolver um monte de coisas de forma a não onerar o kernel com tarefas repetitivas, poupando-o para tratar assuntos mais nobres.

 Como cada usuário possui o seu próprio Shell interpondo-se entre ele e o Linux, é o Shell quem interpreta os

(9)

Resumindo

 Na verdade o Shell é um interpretador que traz consigo uma poderosa linguagem com comandos de alto nível, que permite construção de loops, de tomadas de decisão e de armazenamento de valores em variáveis, como

(10)

Linha de Comando

 Shell identifica os caracteres especiais (reservados) que têm significado para a interpretação da linha e logo em seguida verifica se a linha passada é um comando ou uma atribuição de valores, que são os itens descritos a seguir.

(11)

Comando

 Quando um comando é digitado no “prompt” (ou linha de comando) do Linux, ele é dividido em partes,

separadas por espaços em branco: a primeira parte é o nome do programa, cuja existência será verificada; em seguida, nesta ordem, vêm as opções/parâmetros,

redirecionamentos e variáveis.

 Exemplo:

(12)

Comando

 Quando o programa identificado existe, o Shell verifica as permissões dos arquivos envolvidos (inclusive o próprio programa), e retorna um erro caso o usuário que chamou o programa não esteja autorizado a executar esta tarefa.

 Comando:

$ ls linux

 Neste exemplo o Shell identificou o ls como um programa e o linux como um parâmetro passado para o programa ls.

(13)

Atribuição

 Se o Shell encontra dois campos separados por um sinal de igual (=) sem espaços em branco entre eles, ele

identifica esta sequência como uma atribuição.

 Exemplo:

# valor=1000

 Neste caso, por não haver espaços em branco (que é um dos caracteres reservados), o Shell identificou uma

(14)

Resolução de Redirecionamentos

 Após identificar os componentes da linha que você digitou, o Shell parte para a resolução de

redirecionamentos O Shell tem incorporado ao seu elenco de habilidades o que chamamos de

redirecionamento, que pode ser de entrada (stdin), de saída (stdout) ou dos erros (stderr).

(15)

Substituição de Variáveis

 Shell verifica se as eventuais variáveis (parâmetros

começados por $), encontradas no escopo do comando, estão definidas e as substitui por seus valores atuais

(16)

Substituição de Meta-Caracteres

Se algum meta-caracter (ou “coringa”, como *, ? ou []) for encontrado na linha de comando, ele será substituído por seus possíveis valores.

 Supondo que o único item no seu diretório corrente cujo nome começa com a letra n seja um diretório chamado

nomegrandeprachuchu, se você fizer:

(17)

Entrega da linha de comando

para o kernel

 Completadas todas as tarefas anteriores, o Shell monta a linha de comando, já com todas as substituições feitas e chama o kernel para executá-la em um novo Shell (Shell filho), que ganha um número de processo (PID ou Process IDentification) e fica inativo durante a execução do

(18)

Caracteres para remoção do

significado

Apóstrofo (´): quando o Shell vê uma cadeia de caracteres

entre apóstrofos, ele retira os apóstrofos da cadeia e não interpreta seu conteúdo.

(19)

Contrabarra ou Barra Invertida (\):

 Idêntico aos apóstrofos exceto que a barra invertida inibe a interpretação somente do caractere que a segue.

 Suponha que você, acidentalmente, tenha criado um arquivo chamado * (asterisco) – o que alguns sabores de Unix

permitem – e deseja removê-lo. Se você fizesse:

Você estaria na maior encrenca, pois o rm removeria todos os arquivos do diretório corrente. A melhor forma de fazer o

(20)

Aspas(“)

Aspas (“): exatamente iguais ao apóstrofo, exceto que, se

a cadeia entre aspas contiver um cifrão ($), uma crase (`), ou uma barra invertida (\), estes caracteres serão

(21)

O que é um Script?

 Scripts, podem ser definidos como arquivos executáveis, com instruções definidas, conhecidas e claras, que são executadas por um interpretador.

 PHP e arquivos de lote do Windows (bach) são outros exemplos de Script.

 Scripts possuem seqüências de instruções e funções que são executadas em série pelo interpretador, de forma muito similar a qualquer programa.

(22)
(23)

Shell Scripts

 Os arquivos de script permitem construir esquemas de

execução complexos a partir dos comandos básicos do shell.

 A forma mais elementar de arquivo de script é apenas um

conjunto de comandos em um arquivo texto, com permissões de execução habilitadas.

Shell Script pode ser considerado uma linguagem de

programação, mas para ambientes Linux.

Porem não é tão rápido em execução como programas

compilados.

(24)

Características e funcionalidades

de Shell Script

É de terminologia e funções nativas ao usuário Linux, pois utiliza comandos do mesmo;

 Fácil e lógica compreensão;

 É editado como qualquer arquivo texto, em um editor de textos padrão;

 Pode possuir qualquer extensão, mas o ideal é a extensão .sh;

 Facilidade, organização e velocidade na execução de tarefas;

 Não necessita de depurador, e no caso de erros de sintaxe, basta apenas editar e salvar novamente o arquivo, sem

necessidade de compilação;

(25)
(26)

Exemplo

Por exemplo, se de tempos em tempos você quer

saber informações do sistema como horário,

ocupação do disco e os usuários que estão logados, é

preciso digitar três comandos:

É melhor fazer um script chamado “script1" e colocar

estes comandos nele:

(27)

Como criar um script:

 1. Crie um arquivo com um editor de texto (no nosso exemplo: sistema.sh)

# touch script1.sh

 2. Dê permissão de execução ao arquivo.  # chmod a+x script1.sh

 3. Edite o arquivo comum editor de textos e inclua os comandos e parâmetros necessários.

 4. Execute o script

Se o script estiver no diretório corrente, chame-o com um "./" na

frente, assim:

 prompt$ ./ script1.sh

Caso contrário, especifique o caminho completo desde o diretório

raiz:

(28)

Observações

Comentários são feitos com o uso de #

O comando echo faz com que o shell imprima uma mensagem na tela.

O $ difentifica uma variável no shell

O comando read faz com que o shell dê uma pausa e espere que algo seja digitado e depois capture e coloque o que foi digitado numa variável.

A frente do "read" você pode notar que tem um nome, esse nome se

tornará uma variável que mais tarde será acompanhada do "$" para indicá-la ao shell.

 A primeira linha de um script indica qual será o interpretador de comandos que deve ser ustilizado

(29)

Primeiro exemplo.

 Criar diretório /home/scripts  armazenamento dos scripts.  vim script1  Para executar  sh script1 ./script1  se estiver no mesmo diretório.  /home/scripts/script1 10/11/2014 29

(30)

Alterando o primeiro exemplo para o uso de

variáveis:

Cuidado para não colocar espaço entre o nome da variável e o conteúdo entre aspas.

(31)

Aspas duplas e crase.

(32)

Read mesma linha.

(33)

Localizar arquivos (escolhendo diretório e

qtd de arquivos a apresentar).

10/11/2014 33

Execute e responda:

Qual o erro deste script?

(34)

10/11/2014 34

Localizar arquivos (escolhendo diretório e

qtd de arquivos a apresentar).

(35)
(36)

Dúvidas????

 Referencias bibliográficas:

MORIMOTO, Carlos Eduardo. Redes e servidores Linux: guia prático. São Paulo: Sul Editores, 2006.

NEMETH, Evi. HEIN , Trent R. SNYDER, Garth. Manual

completo do Linux: guia do administrador. São Paulo:

Makron Books, 2005. www.vivaolinux.com.br

Referências

Documentos relacionados

y Se o Decisor for pelo menos moderadamente optimista então deverá optar pela produção das Lolas Tia. y Nos outros casos, o Decisor deverá optar pela produção de

Acessórios ilustrados em fotos não acompanham necessariamente os produtos, verifique a descrição do item.. Fica ressalvada eventual retificação das ofertas aqui veiculadas sem

Reunir com os alunos e outros colegas para socialização dos registros, avaliação e novos encaminhamentos que contribuam para o sucesso do

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA

Concluímos que a ‘seleção por consequências’ pode ser definida como um modo causal fundamentado em uma relação de interdependência probabilística entre eventos, a qual explica

Os parceiros decidirão que áreas de aprendizagem são as melhores para a integração de competências de pensamento algorítmico na educação pré-escolar, de acordo com

E o fato de eu temo muitos não compreender, é que a menos que este mesmo poder de Deus..--o Espírito Santo..--o mesmo poder idêntico, com o qual Jesus realizou seus

Constituído como uma entidade sem fins lucrativos, o InternetLab atua como ponto de articulação entre acadêmicos e representantes dos setores público, privado e da sociedade