Primeiros passos em Shell Script

Slides:



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

Python: Entrada e Saída
Administração de sistemas operacionais
Administração de sistemas operacionais
Sessão 04 Comandos Introdutórios Introdução Introdução Estrutura de Ficheiros Estrutura de Ficheiros Redireccionamento Redireccionamento Pipe´s Pipe´s.
Administração de sistemas operacionais
Comandos do Linux SO II.
Componente Curricular Sistemas Operacionais - SOP
Shell Script Professor: João Paulo
Processos no Unix e Linux
Administrando usuários 1 Controle de contas de usuários 1.
Conceitos Básicos sobre o S.O.
Concepts and Capabilities
Nosso relacionamento com computadores é baseado em símbolos.
Colégio Técnico Vila Branca
Programação Bash Mauro César Lopes. Shells bash csh sh tcsh ksh.
Administração de Sistemas Operacionais
Fundamento à Informática
Trabalho sobre Shell Script
Comandos para navegação no Sistema de Arquivos
Introdução a Programação
Interpretador Online.
Prof. André Leon S. Gradvohl, Dr.
Manipulando Shell Script
Aula prática 6 Vetores e Matrizes
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Linguagem de Programação II Parte IX
Sistema Operativo de Rede Prof. António dos Anjos
Sistemas Operacionais PLATAFORMA LINUX
Software Livre O software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. A forma usual de um software ser distribuído.
Gestão de Sistemas Operacionais II
Apresentação Shell Script
Fábio de Oliveira Borges
Windows Sistema operacional da Microsoft
Linux Descendente do Unix
Introdução ao Sistema Operacional LINUX
Noções de Sistema Operacional Linux
LINUX. GRUB Trata-se de um gerenciador de boot desenvolvido inicialmente por Erich Stefan Boleyn, disponibilizado como software GNU. Entre seus principais.
Sistema Operacional DOS 6.22 PROF. PAULO LORINI NAJAR
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
09/04/2017 Linux Comandos básicos.
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
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.
Algo de bom….
Sistemas Operacionais PLATAFORMALINUX PLATAFORMALINUX Jean Morais 3ºSINA/07.
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede – AULA 03 Prof. Gabriel Silva.
Fundamentos de linguagens de programação
Sistemas de Informação (Projeto Aplicado à Gerência de Redes ) DOCENTE José Nelson Falavinha Junior DISCENTES José Ricardo de Paula Carlos Roberto de Oliveira.
Iº Workshop Linux da Unijorge
Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação Habilitação Técnica de Nível Médio Técnico em Informática Prof.
Introdução ao Linux Histórico e desenvolvimento
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Versão Professor Emerson Felipe Elementos de informática
Shell Script Parte 2.
1 Uma maquina inteiramente automática, que dispõe de uma memória ampliada e de uma unidade de comando interno, que efetuam operações lógicas de cálculo.
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
LINUX. O que é LINUX  Linux é um termo utilizado para se referir a sistemas operacionais que utilizem o núcleo Linux  O Linux foi desenvolvido pelo.
Programação para Web I Aula 3 CONSTANTES & OPERADORES.
SICII (Sistemas Operacionais) – Prof. Alberto  Comandos de console (Linux)
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.
Algo de bom….
Sistemas Operacionais de Redes Introdução ao Linux IGOR ALVES.
Aula 03 – 08/11/ – Introdução à Linux modo texto - Porquê console? - Como acessar o modo texto - Comandos básicos.
Shell Script Prof. Rafael Paoliello Guimarães FAESA.
Programação em Shell Script
Transcrição da apresentação:

Primeiros passos em Shell Script Projeto Casa Brasil Oficina: Unidade CB de Imperatriz - MA TEC Daniela Montelo - MA/PA

Roteiro PARTE 01 Ambientação Visão Geral: ambientes linux e shell Principais Shells Funcionamento do Shell Caracteres especiais para o Shell Dicas de Shell PARTE 02 Redirecionamento de comandos Caracteres de Ambiente Referências

Ambientação Diálogo entreouvido entre um Linuxer e um empurrador de mouse:     - Quem é o Bash?     - O Bash é o filho mais novo da família Shell.     - Pô cara! Estás a fim de me deixar maluco? Eu tinha uma dúvida e você me deixa com duas!     - Não, maluco você já é há muito tempo. Desde que se decidiu a usar aquele sistema operacional que você tem que dar dez boots por dia e não tem domínio nenhum sobre o que esta acontecendo no seu computador. Mas deixa isso prá lá, vou te explicar o que é Shell e os componentes de sua família e ao final da explanação você dirá: "Meu Deus do Shell! Porque eu não optei pelo Linux antes?".

Visão Geral Ambiente Linux

Visão Geral Ambiente Shell Linux multiusuário; Arquivo /etc/passwd; Login – recebe shell; Segurança com shell; Shell – concha que envolve o S.O.

Ambiente Shell /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh sshd:x:114:65534::/var/run/sshd:/usr/sbin/nologin debian:x:1000:1000:debian,,,:/home/debian:/bin/bash gilvan:x:1001:1000:,,,,:/home/gilvan:/bin/bash brunini:x:1002:1000:,,,,:/home/brunini:/bin/bash sacix1:x:1003:1003:,,,,:/home/sacix1:/bin/bash sacix2:x:1004:1004:,,,,:/home/sacix2:/bin/bash

Principais Shells Principais Shells: sh (Bourne Shell), ksh (Korn Shell), bash (Bourne Again Shell) e csh (C Shell). SHELLs Bourne Shell (sh) - desenvolvido por Stephen Bourne da Bell Labs (da AT&T onde também foi desenvolvido o Unix), este foi durante muitos anos o Shell default do sistema operacional Unix. É também chamado de Standard Shell por ter sido durante vários anos o único e até hoje é o mais utilizado até porque ele foi portado para todos os ambientes Unix e distros Linux.

Principais Shells SHELLs Korn Shell (ksh) - desenvolvido por David Korn, também da Bell Labs, é um superset do sh, isto é, possui todas as facilidades do sh e a elas agregou muitas outras. A compatibilidade total com o sh vem trazendo muitos usuários e programadores de Shell para este ambiente. Boune Again Shell (bash) - este é o Shell mais moderno e cujo número de adeptos mais cresce em todo o mundo, seja por ser o Shell default do Linux, seu sistema operacional hospedeiro, seja por sua grande diversidade de comandos, que incorpora inclusive diversos instruções características do C Shell. C Shell (csh) - desenvolvido por Bill Joy da Berkley University é o Shell mais utilizado em ambientes *BSD e Xenix. A estruturação de seus comandos é bem similar à da linguagem C. Seu grande pecado foi ignorar a compatibilidade com o sh, partindo por um caminho próprio. Além destes Shells existem outros, mas os trataremos genericamente por Shell.

Funcionamento do Shell Shell – primeiro programa no login Interpreta comandos Poderosa linguagem com comandos de alto nível, que permite construção de loops (laços), de tomadas de decisão e de armazenamento de valores em variáveis Ordem de funcionamento do shell: Exame da linha de comando, Atribuição, Comando, Redirecionamento, Substituição de variáveis e meta caracteres, Passar linha de comando para o kernel.

Exemplos Exemplos de funcionamento do shell: ls diretório, var = 100; echo var; echo $var

Caracteres especiais para o Shell Caracteres para remoção do significado Apóstrofo ou plic ( ' ): $ ls nome*; $ ls 'nome*' Contrabarra ou barra invertida ( \ ): $ ls casa brasil; ls casa\ brasil $ cd /etc,$ echo '*', $ echo \*, $ echo * Aspas ( “ ): igual ao apóstrofo exceto que, se a cadeia entre aspas contiver um cifrão ($), uma crase (`), ou uma barra invertida (\), estes caracteres serão interpretados pelo Shell.

Caracteres especiais para o Shell Caracteres para redirecionamento Comando: entrada, saída, erros Stdin – teclado, stdout – tela, stderr – tela $ cat, $cat > teste, $cat >> teste Redirecionamento da saída de erro padrão: 2> nome_arquivo Ex: $nano arquivo rm /tmp/arquivo$$ 2> /dev/null $ls naoexiste $ls naoexiste 2> arquivodeerros $cat arquivodeerros

Dicas de Shell Dica # 1 Dica # 2 O $$ contém o PID, isto é, o número do seu processo. Como o Linux é multiusuário, é bom anexar sempre o $$ ao nome dos dos arquivos que serão usados por várias pessoas para não haver problema de propriedade, isto é, caso você batizasse o seu arquivo simplesmente como seraqueexiste, o primeiro que o usasse (criando-o então) seria o seu dono e todos os outros ganhariam um erro quando tentassem gravar algo nele. Dica # 2  - Quem é esse tal de /dev/null?  - Em Unix existe um arquivo fantasma. Chama-se /dev/null. Tudo que é mandado para este arquivo some. Assemelha-se a um Buraco Negro. No caso do exemplo, como não me interessava guardar a possível mensagem de erro oriunda do comando rm, redirecionei-a para este arquivo. É interessante notar que estes caracteres de redirecionamento são cumulativos, isto é, se no exemplo anterior fizéssemos: $ ls naoexiste 2>> arquivodeerros

PARTE 02 Redirecionamento de comandos Caracteres de Ambiente

Redirecionamento de comandos cat < arquivo ftp -ivn hostremoto << fimftp user $Usuário $Senha binary get arquivoremoto fimftp $ ls | wc -l $ cat /etc/passwd |sort | lp

Caracteres de Ambiente $ who | wc -l $ echo "Existem who | wc -l usuários conectados" $ echo "Existem `who | wc -l` usuários conectados" $ echo Existem `who | wc -l` usuários conectados $ pwd ; cd /etc; pwd; cd -; pwd $ (pwd ; cd /etc ; pwd;)‏ $ pwd

Referências Livro de Shell em português, disponível em: http://twiki.softwarelivre.org/TWikiBar/WebHome#Livro_de_Shell_em_Portugu_s TwikiBar – wiki com materiais sobre shell, disponível em: http://twiki.softwarelivre.org/TWikiBar/WebHome NEVES, Júlio Cesar. Programação Shell Linux, 6ª edição, Ed. Brasport, 2006. Curiosidades: http://pt.wikipedia.org/wiki/Jean- Fran%C3%A7ois_Champollion