Administração de Sistemas Operacionais

Slides:



Advertisements
Apresentações semelhantes
Curso Basico de Linux Marcela Santos
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Parte I Capítulo 5 Reutilizando código e escrevendo funções.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO AOS APLICATIVOS JAVA Prof. Thiago Pereira Rique
Shell Script Professor: João Paulo
Programação para Engenharia I
Processos no Unix e Linux
Introdução a Programação Renata Freire
Introdução à Informática
Administrando usuários 1 Controle de contas de usuários 1.
Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita.
Conceitos Básicos sobre o S.O.
Estatística Básica Utilizando o Excel
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Introdução ao JavaScript
Linguagem C Strings.
Tratamento de Ficheiros
Revisão da Linguagem C.
Classes e objetos P. O. O. Prof. Grace.
Comandos para navegação no Sistema de Arquivos
Análise e Desenvolvimento de Sistemas – Faculdade Senac de Pelotas
Prof. André Leon S. Gradvohl, Dr.
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
JAVA: Conceitos Iniciais
Rodrigo Cristiano Silva
Aula prática 7 Strings Monitoria de Introdução à Programação
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Linguagem de Programação II Parte VII
Estrutura de dados, pseudocódigo
Entendendo as definições de classe
Apresentação Shell Script
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Introdução a aplicativos Java
Computação Eletrônica
Linguagem e Ambiente Scratch
Sistemas Operacionais c Prof. Victor Guimarães
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Sistemas Operacionais II O Shell Bash. Objetivos Conhecer a sintaxe dos comandos; Trabalhar com funções; Trabalhar com variáveis; Expressões aritméticas;
ARQUIVOS.
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
09/04/2017 Linux Comandos básicos.
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Aula prática 7 Strings Monitoria de Introdução à Programação
1 Shell Script É uma linguagem de script usada em vários sistemas operativos (operacionais), com diferentes dialetos, dependendo do interpretador de comandos.
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
Planilha Eletrônica - Excel
Algumas notas sobre a linguagem de programação C
Usuários e Grupos Usuário: alguém que possui conta, internamente é tratado como um número (UID) que é a identificação do usuário (USER ID). Cada usuário.
Contagem Sequencial do Estoque
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
JAVA Sintaxe.
Fundamentos de linguagens de programação
Primeiros passos em Shell Script
Iº Workshop Linux da Unijorge
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
Shell Script Parte 2.
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Linux – Prática Regiane Kawasaki
Evoluindo em comandos Unix / Linux Cid Rodrigues de Andrade No site acima encontram-se dados sobre licenciamento e forma.
JavaScript Introdução ao JavaScript 1. Objetivos Introdução Sintaxe Básica Arquivo (script) externo Script no HEAD da página Script no BODY da página.
Comandos Básicos do Linux Prof. Alberto Felipe. Os Sistemas Operacionais de hoje, incluindo o Linux, são todos baseados em interface gráfica, com o uso.
Shell Script Prof. Rafael Paoliello Guimarães FAESA.
Sistemas Operacionais de Redes Introdução ao Linux IGOR ALVES.
Programação em Shell Script
Transcrição da apresentação:

Administração de Sistemas Operacionais Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Programação Shell Vera Schuhmacher – shummy@unisul.br vera.schuhmacher@gmail.com

Script shell O programa shell interpreta os comandos que você digita e os traduz para comandos que o kernel compreende. • o shell é uma linguagem de programação completa, possuindo variáveis, construções condicionais, interativas e ambiente adaptável ao usuário. • Os comandos do Shell se comunicam entre si por meio de uma interface simples e coerente chamada pipeline. • O Shell permite que o usuário realize suas atividades sem afetar qualquer outro processo que não lhe pertence. Quando um usuário conecta-se a um sistema Unix, o sistema operacional inicia automaticamente uma cópia do Shell, sob a qual o usuário poderá realizar qualquer função disponível.

Script shell Nome Shell Desenvolvido por Onde Comentários BASH ( Bourne-Again SHell ) Brian Fox and Chet Ramey Free Software Foundation Shell mais utilizado nas versões linux, é o shell padrão do Unix. Prompt $ CSH (C SHell) Bill Joy University of California (For BSD) Sintaxe similar a linguagem C. Traz vantagens adicionais ao Bourne shell como reutilizar e visualizar comandos previamente digitados. Prompt % KSH (Korn SHell) David Korn AT & T Bell Labs -- TCSH - TCSH é compativel com UNIX C shell (CSH Para verificar shell disponível em sua máquina : $ cat /etc/shells Para verificar o shell ativo $ echo $SHELL

Script shell Quando Utilizar ? – procedimentos complexos usando muitas linhas de comando – procedimento do qual todos os usuários poderão beneficiar-se – uma tarefa numa data planejada – integrar informações de vários sistemas existentes

Script shell - Shell como linguagem escrevendo programas em Shell 1) digitando os comandos e executando-os interativamente – o prompt normal $ troca para > quando se inicia a digitar comandos na Shell – a seguir o programa é executado 2) armazenando os comandos em um arquivo e invocando da mesma forma que um programa – usando um editor de textos comum

Script shell Exemplo de programa interativo – determinar todos os arquivos que contém o string POSIX $ for arquivo in * > do > if grep -l POSIX $arquivo > then > more $arquivo > fi > done arquivo é uma variável e $arquivo seu conteúdo grep e more são comandos grep: pesquisa em um ou mais arquivos por linhas que casam com uma expressão regular dada ( -l: listar) more: mostra o conteúdo do arquivo, uma tela de cada vez

Script shell Exemplo de shell script -> arquivo chamado primeiro.sh -> .sh sem significado -> # indica comentário -> /bin/sh =shell default -> exit 0 código de retorno, 0 indica sucesso #!/bin/sh # primeiro0.sh clear echo “Os arquivos do diretório são:” ls –l|more #!/bin/sh # primeiro.sh # compilar apenas os arqs. # contendo string POSIX for file in * do if grep -l POSIX $file then more $file fi done exit 0

Script shell COMO ESCREVER SEU SCRIPT Escolha um editor de textos e inicie sua execução Digitar script Salvar Acertar permissões de execução para o dono: chmod u+x nome_script Para executar se o PATH for conhecido apenas digite o nome do script, se não é possível fazê-lo de diferentes maneiras bash nome_script sh nome_script ./nome_script

Script shell Escreva o seguinte script, salve e execute. Nome do script: espteste # Script para imprimir informações sobre o usuário logado clear echo “Ola $USER" echo “Hoje é \c ";date echo “O numero de usuarios ativos e: \c" ; who | wc -l echo "Calendario" cal 2005 exit 0

Script shell - Caracteres especiais Aspas duplas “ “ - string – mostra o string e substitui variáveis (se existir) Aspas simples ´ - string – mostra o string e não substitui variáveis (se existir) Crase ` - comando – o resultado do comando é usado em output Barra Invertida \ Transforma caracter especial em caracter normal # – permite a inserção de comentários no script # testando variaveis set dia = 19 echo “ Hoje é dia $dia” resultado = Hoje é dia $dia set maquina = `hostname` echo $resultado $maquina

Script shell - Variáveis Variáveis de ambiente - são variáveis pré-definidas – Todas as variáveis de ambiente são definidas no início da Sessão do Usuário ● Variáveis de ambiente comuns a todos os usuários são encontrados no arquivo /etc/profile ● Variáveis de ambiente de usuário são encontrados no arquivo ~HOME/.profile ● Primeiro é lido o arquivo /etc/profile e depois o arquivo ~HOME/.profile Digite set para verificar as variáveis de ambiente exemplos: HOME, PATH, $#, $$

Script shell - Manipulando Variáveis Variáveis locais –atuam somente durante a execução do Shell Atribuição de valor : Para verificar as variáveis locais digite set nome=“joao” idade=16 meudir=`ls –l` set

Script shell - Manipulando Variáveis Um detalhe importante: NÃO PODE EXISTIR ESPAÇOS ENTRE OS ELEMENTOS DA DECLARAÇÃO/ATRIBUIÇÃO ● Quando a string atribuída a variável possuir espaços, é necessário a utilização de aspas duplas no início e no final da string. ● As variáveis são case-sensitive, isto é, existe diferenças entre maiúsculas e minúsculas. nome=“joao” idade=16 meudir=`ls –l` A=5 a=5

Script shell - Manipulando Variáveis Variáveis globais – permanecem ativas durante toda a sessão de login Atribuição de valor : export nome (torna a variável global) Para verificar as variáveis globais digite o comando env|more Para apagar uma variável digite unset unset nome TERM=VT100 export TERM nome=“joao” export nome

Script shell - Manipulando Variáveis Realizando Cálculos Através do prompt do Shell podemos realizar onde $(( )) é a função de cálculo $A porque estamos solicitando o conteúdo da variável A e B A=5 B=3 SOMA=$(($A+$B))

Script shell - Manipulando Variáveis ● Definir uma variável J com o valor 5 e mostrar na tela ● Definir uma variavel SALA cujo conteúdo deve ser “Laboratorio D” e a seguir mostrar na tela ● Apagar as variáveis J e SALA criadas anteriormente

Script shell - Manipulando Variáveis read -> captura de variável no teclado, termina ao pressionarmos o return echo -> impressão no vídeo read nome read idade echo “ bom dia $nome voce tem apenas $idade anos?” Faça um script e grave-o no arquivo esp01. O Script deve solicitar as seguintes informações: Digite Primeiro Nro: Digite Segundo Nro: Após a entrada de dados imprima no vídeo a seguinte frase: O Usuario XXX digitou os numeros XX e XX A soma dos números foi XXX

Script shell - Echo - Opções ● -n Do not output the trailing new line. ● -e Enable interpretation of the following backslash escaped characters in the strings: ● \a alert (bell) ● \b backspace ● \c suppress trailing new line ● \n new line ● \r carriage return ● \t horizontal tab echo -e "Amanhã vou pescar \a\t\t com meu amigo\n"

Script shell – Parâmetros posicionais Variáveis adicionais são criadas quando a shell é invocada com parâmetros • $# -> quantidade de parâmetros passados • $1, $2, ... parâmetros dados ao script • $* -> lista de todos os parâmetros $0 -> nome do programa $* -> todos os argumentos $$ -> número do PID

Script shell Nome:posici inicio=“Ola" echo $inicio echo “O programa $0 iesta rodando agora" echo “O segundo parametro foi $2" echo " O primeiro parametro foi $1" echo “A lista de parametros é $*" echo “O diretorio home da conta $USER e $HOME" echo “Por favor entre com uma nova saudação inicial" read inicio echo “Final do script" exit 0 Para executar: ./posici joana paulo ana

Script shell - Teste de Condição Comando de teste com duas sintaxes: [ ] ou test As condições de teste podem ser feitas em 3 categorias: Comparação de strings, aritmética e de arquivos

Script shell - Teste de Condição if condição then comandos else fi echo “Por favor estamos no periodo mautino?” read hora if [ $hora = “sim" ]; then echo “Bom dia" else echo “Boa noite" fi exit 0

Script shell - Teste de Condição Comparação de strings Verdadeiro se: string1 = string2 São iguais string1 != string2 Não são iguais -n string String não é nulo -z string String é null (vazio)

Script shell - Comparação alfanuméricos #!/bin/bash varx="Bom dia" read dia if [ $dia = $varx = dia ]; then echo "A comparação de String é verdadeira" else echo "A Comparação de Striong é falsa" fi

Script shell - Teste de Condição Comparação Aritmética Verdadeiro se: expr1 -eq expr2 São iguais expr1 -ne expr2 Não são iguais expr1 -gt expr2 expr1 > expr2 expr1 -ge expr2 expr1 >= expr2 expr1 -lt expr2 expr1 < expr2 expr1 -le expr2 expr1 <= expr2 ! expr Not expr

Script shell - NUMÉRICOS #!/bin/bash echo -n "digite o valor do número: " read var1 if [ $var1 -eq 1 ] then echo "Vc escolheu o Valor um" elif [ $var1 -eq 2 ]; then echo "Vc escolheu o valor dois" elif [ $var1 -eq 3 ]; then echo "Vc escolheu o valor três" else echo "Vc escolheu uma opção inválida" fi

Script shell - Teste de Condição Comparação entre Arquivos Verdadeiro se: -d file É diretório -s file Tamanho não é zero -e file Existe -f file É arquivo regular -w file Pode ser escrito -x file É executável -r file É legível

Script shell - ARQUIVOS #!/bin/bash echo -n "digite o nome do arquivo: " read var1 if [ -f "$var1" ] then echo "$var1 é um arquivo normal" if [ ! -s "$var1" ]; then echo "Este arquivo está vazio" else echo "Este arquivo não está vazio" fi if [ -r "$var1" ]; then echo "O arquivo tem permissão de leitura" echo "O arquivo não tem permissão de leitura" if [ -d "$var1" ]; then echo "$var1 é um diretório"

Script shell - Teste de Condição Retome o script esp01, verifique o valor do primeiro número, se este for maior do que o segundo multiplique-os e apresente o resultado. Se for inferior ao segundo número subtraia o primeiro do segundo e apresente o resultado.

Script shell - Laços for variavel in valores do comandos done for i in 1 2 3 4 5 do echo “ passou $i” done exit 0 for i in $(ls –l) do echo “ ** arquivo $i **” more $i read oi done exit 0

Script shell – Controle Incondicional O comando "break" para incondicionalmente a execução de qualquer ramo, e prossegue a Execução na instrução seguinte ao "done", "fi" ou "esac". Se não existirem instruções após este o programa termina. O comando "continue" faz com que o programa reinicie imediatamente um novo ciclo, ignorando o que resta dos comandos entre o "do" e o "done". c=0 for file in * do If grep -l POSIX $file then more $file continue fi c=$(($c+1) if [ $c –eq 5 ] break Echo “** passou por aqui **” done exit 0

Script Movimentação Automática Script shell - Laços Utilizando-se do laço for, escreva um script (esp02) onde: O usuário irá informar o nome do diretório do qual deseja mover os arquivos e e o nome do diretório destino. Mover apenas arquivos simples, não mover diretórios. A cada movimento de arquivo mostre o nome do arquivo copiado. Ao finalizar informe o total de arquivos movidos Script Movimentação Automática Digite nome do diretório a ser copiado: Digite nome do diretório destino:

Script shell - Laços while condição do comandos done foo=1 while [ "$foo" -le 20 ] do echo “passou pelo laço $foo" foo=$(($foo+1)) done exit 0

Script shell - Laços until condição do comandos done #!/bin/sh until who | grep "$1" > /dev/null do sleep 60 done # Agora toca o sinal e anuncia a entrada do #usuario echo -e \\a echo "*** $1acaba de se logar no sistema ***" exit 0 O script fica em loop até que o usuário informado em $1 se logue no sistema

Script shell - case variavel in pattern [ | pattern] ...) comandos;; esac #!/bin/sh echo “Digite o codigo do curso, 1- direito, 2- letras, 3-medicina” read curso case $curso in 1) echo “seu credito custa R$ 30,00";; 2 ) echo “seu credito custa R$ 20,00";; 3 ) “seu credito custa R$ 50,00";; * ) echo “Resposta incorreta";; esac exit 0

Script shell - case Escreva um script utilizando-se do case onde seja possível ao usuário utilizar o menu abaixo: ** menu de opções ** 01 – criar diretorio 02 – copiar arquivo 03 – mostra usuários ativos 04 – lista diretório 05 - remove diretório 00 - fim opção: ** ** Na opção 1 solicite o nome do diretorio Na opção 2 solicite nome do arquivo de origem e destino Na opção 4 e 5 solicite o nome do diretorio Mantenha o menu em loop até a digitação 00 para finalizar

Script shell - Funções nome _da_função () { Comandos } #!/bin/sh foo() { echo “a função foo esta executando" } echo “inicio do script" foo echo "script finalizado"

Links Interessantes http://aurelio.net/shell/canivete.html http://www.moredata.pt/whitepapers/manual-prog-shell/shell.htm http://www.maxmaxine.pop.com.br/apostilas.htm http://cdfinfo.in2p3.fr/Services/Informatique/DOCU/munix.html#Creating%20KORN%20shell%20scripts