53
Neverland, Neverland, 27/04/15 27/04/15 Shell Shell Script Script Luz e Luz e Trevas Trevas

Shell Script - Luz e trevas

Embed Size (px)

Citation preview

Neverland, Neverland, 27/04/1527/04/15

Shell Shell ScriptScriptLuz e Luz e TrevasTrevas

Neverland, Neverland, 27/04/1527/04/15

About meAbout me

● Técnico em TI/Redes – UFC● Pós graduando em Computação Forense● Graduado em Redes de Computadores● Técnico em Conectividade – IFCE● Administrador no Hackerspace Fortaleza Infra● Membro Fundador do iTIC Digital Livre

Neverland, Neverland, 27/04/1527/04/15

KeynotesKeynotes

● Inicio!

● Meio... Trevas?

● Fim! Será? Luz...

Neverland, Neverland, 27/04/1527/04/15

InicioInicio● O que diacho é Linux?

● Sistema Operacional? Piorô!

● Causos do Linux.

● Liberdade, código fonte, open source... eita pau!

● Cabas arretados do Software Livre!

Neverland, Neverland, 27/04/1527/04/15

Meio... Trevas?Meio... Trevas? ● Shell Linux! Cadê as buniteza do

Ruindows? Trevas...

● Comandos Linux e Shells. Pusquê em ingrês?

● Scripts em Shell, esse troço é realmente necessário?

● Programação... Agora lascou!

Neverland, Neverland, 27/04/1527/04/15

Fim! Será? Luz...Fim! Será? Luz...

● Olha as buniteza aparecendo... Lâmpada incandescente!

● Há outras opções de lâmpada(luz)?

● Agora vamos juntar luz e trevas!

Neverland, Neverland, 27/04/1527/04/15

InicioInicio

Neverland, Neverland, 27/04/1527/04/15

O que diacho é Linux?O que diacho é Linux?

● Linus + Unix

● Sistema Operacional

● Kernel

● Unix & Minix

● Software Livre

Neverland, Neverland, 27/04/1527/04/15

Sistema Operacional? PiorôSistema Operacional? Piorô

● Hardware x Software

● Gerência

● Controle de acesso à recursos

● Nível de sistema e nível de usuário

Neverland, Neverland, 27/04/1527/04/15

Causos do LinuxCausos do Linux

● E-mail de Linus Torvalds

● FSF

● Onde encontro Linux?

● Eventos Linux

Neverland, Neverland, 27/04/1527/04/15

Liberdade, código fonte, Liberdade, código fonte, open source... eita pau! open source... eita pau!

● Software Livre e as 4 liberdades

● Open Source

● Exemplos de softwares livres

Neverland, Neverland, 27/04/1527/04/15

Cabas arretados do Cabas arretados do Software Livre!Software Livre!

● Linus Torvalds

● Richard Stallman

● John Maddog Hall

Neverland, Neverland, 27/04/1527/04/15

Meio... Meio... Trevas?Trevas?

Neverland, Neverland, 27/04/1527/04/15

Shell Linux! Cadê as Shell Linux! Cadê as buniteza do Ruindows? buniteza do Ruindows?

Trevas...Trevas...

● O que é o Shell?● Tipos de Shell.● Entrada padrão.● Saída padrão.● Erro padrão.● Programas prontos.● Variáveis de ambiente.

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Comandos Linux e Comandos Linux e Shells. Pusquê em Shells. Pusquê em

ingrês?ingrês?● ls = list● pwd = print work directory● cd = change directory● mkdir = make directory● rmdir = remove directory● cp = copy● mv = move● cat = concatenate● wc = word count

Neverland, Neverland, 27/04/1527/04/15

● grep = get regular expression● du = disk usage● find● cut● updatedb● locate● head● tail● date● tr = translate● ln = link● df

Neverland, Neverland, 27/04/1527/04/15

MANMAN

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Scripts em Shell, esse troço Scripts em Shell, esse troço é realmente necessário?é realmente necessário?

● Tarefas repetitivas

● Automatização de tarefas

● Instalação de programas

● Administração de servidores

● Não reinvente a roda!

Neverland, Neverland, 27/04/1527/04/15

Programação... Agora Programação... Agora lascou!lascou!

● Script x Compilação

● Lógica

● Semelhante às linguagens tradicionais

● Utilização dos comandos Linux

Neverland, Neverland, 27/04/1527/04/15

Vamos começar a Vamos começar a brincadeirabrincadeira

● Definição do shell que será usado

● Criação de um arquivo

● Escolha do editor de texto

● Permissão de execução no script

Neverland, Neverland, 27/04/1527/04/15

VariáveisVariáveis

● Definição de chave e valor

● Boas práticas para definição de variáveis

● Armazenamento de valores

● Manipulação de variáveis(leitura)

Neverland, Neverland, 27/04/1527/04/15

Tomada de decisãoTomada de decisão

● Estrutura condicional

● Comando if

● Comando if/else

● Comando elif

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

CaseCase

● Estrutura condicional de múltiplas opções

● Teste de resultados exatos

● Opção default

● Não pode realizar tantos testes como o IF

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Laços Laços CondicionaisCondicionais

● Comando for

● O laço for executa uma ação repetitivamente até que uma condição seja atendida.

● No comando for sabemos exatamente quantas iterações irão ocorrer

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

WhileWhile

● O laço while executa uma ação repetitivamente até que uma condição seja atendida.

● No comando while não sabemos exatamente quantas iterações irão ocorrer

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

FunçõesFunções

● Trechos de código que permitem uma separação lógica dos scripts

● Melhora o entendimento do script● Possibilita o reuso de código, uma

boa prática de programação● Facilita no processo de debbuging

do script● Se for usar mais de uma vez a

mesma rotina, faça uma função!

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Fim! Será? Fim! Será? Luz...Luz...

Neverland, Neverland, 27/04/1527/04/15

Olha as buniteza Olha as buniteza aparecendo... aparecendo...

Lâmpada Lâmpada incandescente!incandescente!

● O Dialog é um programa para console (modo texto) que desenha caixas de diálogo ("dialog boxes") na tela, similares as do modo gráfico, com botões, entradas para texto e menu

● Qualidade ainda deixa a desejar

● Alguns tipos de janela pré-definidos

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Há outras opções de Há outras opções de lâmpada(luz)?lâmpada(luz)?

● Xdialog

● Kdialog

● BigBashView

● YAD

● Zenity

Neverland, Neverland, 27/04/1527/04/15

Yet Another Yet Another DialogDialog

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

ZenityZenity

Neverland, Neverland, 27/04/1527/04/15

Agora vamos juntar luz e Agora vamos juntar luz e trevas!trevas!

● Criando scripts com janelas gráficas para melhorar a interação com os usuários

● Definir um fluxo de execução destes scripts para que os usuários sigam. Desta maneira evita-se interações erradas por partes dos usuários

Neverland, Neverland, 27/04/1527/04/15

Lista de exercíciosLista de exercícios

● Fazer um script que gere endereços IP's sem se preocupar com máscara de subrede e salvá-los em um arquivo.

● Criar um script que teste se uma determinada faixa de endereços IP estão disponíveis em uma rede e salvá-los em um arquivo.

● Criar um script gráfico que de acordo com a escolha do usuário desligue ou reinicie a máquina em um determinado tempo.

Neverland, Neverland, 27/04/1527/04/15

ConclusõesConclusões

Neverland, Neverland, 27/04/1527/04/15

BibliografiaBibliografia● http://aurelio.net/● www.vivaolinux.com.br● Jargas, Aurelio Marinho. Shell

Script Profissional. Novatec Editora● http://www.freeos.com/guides/lsst● www.dicas-l.com.br● http://apoie.org/JulioNeves/PapoI.ht

m

Neverland, Neverland, 27/04/1527/04/15

Neverland, Neverland, 27/04/1527/04/15

ContatosContatos

● Twitter: @osvaldofilho● www.facebook.com/osvaldofilho.redes● E-mail: [email protected]

Neverland, Neverland, 27/04/1527/04/15

Obrigado!!!Obrigado!!!