Baixe o app para aproveitar ainda mais
Prévia do material em texto
01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 1/17 Programação para Servidores Aula 1: Introdução ao Shell Script INTRODUÇÃO Nesta aula, travaremos o primeiro contato com a disciplina de Programação para Servidores. Nossas tarefas se iniciam com a preparação do ambiente para as aulas, onde é necessário, no mínimo, um editor de textos simples e um terminal de comandos com interpretador bash. Veremos ainda os conceitos de shell script e, ainda, linguagens compiladas e interpretadas. OBJETIVOS 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 2/17 Descrever o ambiente de trabalho do laboratório; Diferenciar as linguagens interpretadas e as linguagens compiladas; Reconhecer caracteres especiais em programação shell; De�nir o conceito de shell script e sua utilização em computação. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 3/17 UM POUCO DE TEORIA Nossa disciplina é iminentemente prática. Colocaremos a mão na massa. Mas é claro que precisaremos entender “o quê” estamos fazendo antes de treinar o “como fazer”. Vamos, então, analisar conceitos importantes. DEFINIÇÃO DE SHELL SCRIPT Shell script é uma linguagem de programação interpretada usada em vários sistemas operacionais. Na linha de comandos de um interpretador (shell), podemos- empregar diversos comandos um após o outro ou combiná-los em uma mesma linha. Alguns comandos oferecem relativa complexidade, exigindo repetidas tentativas até obter sucesso. Semanas depois são feitas novas tentativas até acertar. Então, como posso salvar a sequência correta? Se forem inseridas diversas linhas de comandos em um arquivo texto simples, tem-se em um shell script. Uma vez criado, um shell script pode ser reutilizado quantas vezes for necessário. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 4/17 Todos os sistemas Unix e similares são repletos de scripts em shell para a realização das mais diversas atividades administrativas e de manutenção do sistema. Os arquivos de lote (batch) do Windows são também exemplos de shell scripts. Nesta disciplina, estudaremos apenas os comandos em lote do Linux, mas os princípios da funcionalidade são os mesmos do Command prompt ou do PowerShell dos sistemas Microsoft. Por serem facilmente agendados para execução em horas pré-de�nidas através do crontab, os shell scripts são usados para construções de ferramentas indispensáveis aos administradores de sistemas Unix. Destacamos ainda que vamos mostrar o caminho, mas seria quase impossível a�rmar que veremos todos os comandos possíveis em bash. Vamos abordar algumas ações comuns no dia a dia dos administradores de rede e de sistemas linux. É um bom começo. Ao longo de sua trajetória pro�ssional, muitos problemas aparecerão. Para cada um deles será exigido um pouco de conceituação e muita dedicação e esforço na busca pela melhor solução. PRINCIPAIS RAZÕES PARA SE UTILIZAR SHELL SCRIPTS Dentre as principais razões para se utilizar shell scripts, podem ser citadas: Simplicidade Por ser uma linguagem de alto nível, é possível expressar operações complexas de forma simples. Portabilidade Por ser universal entre sistemas Unix, existe uma grande chance de um shell script escrito para um sistema ser transferido para outro sem necessidade de alterações. Facilidade de desenvolvimento Pode-se desenvolver um shell script poderoso e útil em pouco tempo. Recursos Utilização de poucos recursos por necessitar apenas de linhas de comandos textuais. Controle Maior controle sobre os arquivos e o sistema operacional. Programação Script O conhecimento básico de programação script (glossário) é essencial para quem deseja tornar-se um administrador de sistemas. Durante o processo de boot, uma máquina Linux executa os shell scripts em /etc/rc.d para con�gurar o sistema e os serviços. Uma compreensão detalhada de tais scripts de inicialização é importante para analisar o comportamento de um sistema e, possivelmente, modi�cá-lo. Scripts VERSUS Linguagens Compiladas 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 5/17 PREPARANDO O AMBIENTE PARA A DISCIPLINA Para o ambiente de trabalho da disciplina, propomos o uso da distribuição Fedora 12, que pode ser instalada diretamente nas estações do laboratório ou utilizada em máquinas virtuais. Para a virtualização, propomos o uso do software free Oracle VM VirtualBox. Não há, necessariamente, obrigação de uso desses produtos. A proposta é tão somente por sua adaptação ao per�l de hardware padrão da maior parte dos computadores em uso atualmente. Outra vantagem é que o arquivo de disco virtual não é tão grande e permite que você copie o arquivo para uso em mais de uma estação. A única imposição é que o SO possua o interpretador de comandos “bash”. ORACLE VM VIRTUALBOX Vamos a um passo a passo utilizando o VirtualBox (glossário) e instalando o Fedora 12 (glossário). Criando uma nova máquina virtual Abra o Virtual Box e clique em NOVO (ícone no topo à esquerda). Na primeira janela, digite o nome da máquina virtual e selecione o SO. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 6/17 Clique em próximo e selecione a quantidade de memória RAM da máquina virtual. De�nindo o disco virtual O próximo passo é de�nir o disco virtual. Você tem a opção de de�ni-lo, usando um disco existente ou criar outro disco. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 7/17 Por padrão, os discos virtuais do VirtualBox são, na verdade, arquivos com extensão “.VDI”. Para a opção de usar disco existente, é possível “ler” discos virtuais criados em outros virtualizadores, como VHD do VMWare ou VHDX do Hyper-V. Caso vá criar um novo disco, selecione o tamanho (para o Fedora 12 um disco de 10Gb é su�ciente) e de�na se ele terá tamanho �xo ou dinamicamente alocado. Com tamanho �xo, já será criado um arquivo com 10Gb. No dinamicamente alocado, o arquivo começa “zerado” e vai crescendo à medida que gravamos dados no HD virtual. O primeiro caso é ligeiramente mais rápido. Entretanto, o segundo é muito mais utilizado. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 8/17 Pronto. A máquina está criada, mas temos ainda bastante trabalho pela frente. A máquina ainda está desligada como um hardware que acabou de ser montado. Vamos, então, à instalação do SO. Ajustes de con�gurações Antes de ligar a máquina, vamos ajustar as con�gurações: Selecione a máquina e clique em Con�gurações. Na opção Geral – Avançado, marque as opções de Bi-direcional para Área de transferência compartilhada e Arrastar e Soltar. Assim é possível copiar texto do Windows e colar no Linux. Para programação, facilita muito o trabalho. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 9/17 Em uma máquina física, seria necessário encontrar o DVD de instalação para prosseguir. Na máquina virtual, vamos “apontar” o DVD virtual para o arquivo ISO. Selecione Armazenamento – Controladora SATA e clique no ícone de um DVD com “+”. Clique em Escolher disco. Indique onde se encontra o arquivo. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 10/17 Antes de ligar a máquina, vamos aproveitar e con�gurar a rede. A interface virtual de rede pode ser ajustadade diversas formas. Vamos con�gurar no modo “Bridge” e associá-la à sua interface física ativa (normalmente Ethernet, a cabo, ou Wi-�, sem �o). É possível alterar essa associação a qualquer momento. O problema é que em algumas versões do VirtualBox é necessário desligar a máquina para acessar o menu de rede. A máquina virtual está con�gurada, vamos à instalação do Linux. Selecione a sua máquina e clique em Iniciar. Aparecerá, então, a tela semelhante a que teríamos em uma instalação do Linux numa máquina física. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 11/17 A sequência de opções de instalação varia bastante para cada distribuição Linux. Nessa fase, é importante destacar alguns aspectos: Para liberar a seta do mouse de dentro da janela virtual, clique na tecla CRTL da direita; Se você clicar CRTL+ALT+DEL, o comando será recebido pelo Windows. Para enviar um CRTL+ALT+DEL à máquina virtual, clique CTRL da direita+DEL. Após instalado, você já pode trabalhar com o novo SO. A exibição da nova janela pode ser em tela cheia, em janela ou no modo Seamless (mesclado com o Windows). Para escolher outro modo, selecione Visualizar e teste as opções. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 12/17 Veja como �ca o Fedora12 sobre o Windows 10 em modo Seamless. Meu primeiro script ou Alô Mundo. Construindo o primeiro script. Criar um arquivo script1.sh. Na interface grá�ca, abra o Gerenciador de Arquivos, selecione o diretório (recomendamos um diretório dentro de /home, por exemplo /home/scripts). Dentro do diretório, selecione Novo > Documento de Texto. No Terminal, digite: 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 13/17 Para executar o script digite: Funcionou? Parabéns, esse foi o primeiro script. Mensagem de erro? Reveja o código fonte e veri�que se o usuário possui direito de execução no arquivo. Para isso, digite: Para atribuir o direito de execução, digite: Tente de novo, agora deve funcionar. LINHA DE APRENDIZAGEM Antes de encerrarmos, cabe uma discussão interessante. A linha de aprendizagem mais comum vai do mais simples para o mais complexo. Ninguém aprende a andar de bicicleta sendo largado pela primeira vez para descer uma ladeira íngreme. Primeiro usamos as rodinhas, depois uma bicicleta maior, na grama e em terreno plano, depois as curvas, maior velocidade etc. E anos depois alguns loucos praticam downhill, que é aquela modalidade de mountain bike que consiste em descer o mais rapidamente possível um percurso! Da mesma forma, ao longo desta disciplina, alguns alunos ganharão �uência para usar apenas o terminal, enquanto outros já possuem essa capacidade. Para iniciantes, é fortemente recomendado que utilizem a interface grá�ca Gnome ou KDE ou qualquer outra à sua 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 14/17 escolha. O foco de nossa disciplina é a programação para comandos bash e não o uso exclusivo do terminal. Nas próximas aulas vamos simpli�car as descrições, destacando novos comandos, mas omitindo procedimentos de aulas passadas. Ficou com dúvidas? Volte e comece de novo. Esta aula é fundamental para prosseguir na disciplina. EXERCÍCIOS Para �nalizar, responda as questões a seguir: 1. Sobre Shell script é correto a�rmar que: A) Shell script é uma linguagem de programação interpretada usada em vários sistemas operacionais; B) Os programas em Shell script necessitam ser compilados; C) Um Script que utilize o interpretador bash pode rodar em qualquer dispositivo; D) O comando “echo teste” produz um som no alto falante do sistema; E) Os arquivos de um Shell script possuem extensão “.EXE”. Justi�cativa 2. Assinale a alternativa INCORRETA: A) Arquivos de lote reúnem diversos comandos do sistema; B) Os arquivos de lote (batch) do Windows são também exemplos de shell scripts; C) Em um terminal bash, é possível digitar uma sequência de comandos separados por ponto e vírgula; D) Programas .EXE são scripts interpretados; E) Além do bash, o Linux possui outros interpretadores de comando com o sh e ash. Justi�cativa 3. Entre as características abaixo, selecione aquela que não é uma vantagem ao se utilizar shell scripts: A) Portabilidade. Por ser universal entre sistemas Unix, existe uma grande chance de um shell script escrito para um sistema ser transferido para outro sem necessidade de alterações; B) Facilidade de desenvolvimento. Pode-se desenvolver um shell script poderoso e útil em pouco tempo; C) Performance – shell scripts ocupam muitos recursos do sistema por exigirem muito processamento; D) Recursos. Utilização de poucos recursos por necessitar apenas de linhas de comandos textuais; E) Simplicidade. Por ser uma linguagem de alto nível, é possível expressar operações complexas de forma e simples. 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 15/17 Justi�cativa 4. Tais programas devem ser traduzidos para um código objeto (por intermédio de um compilador) e posteriormente ligados a funções em bibliotecas (por intermédio de um linkeditor) a �m de se obter um programa executável. Os programas executáveis podem ser executados diretamente pelo hardware do computador. Assinale a alternativa incorreta: A) A maioria dos programas, notadamente os comerciais, são escritos em linguagens compiladas; B) Programas compilados devem ser traduzidos para um código objeto (por intermédio de um compilador); C) Um programa compilado só funciona na máquina onde esteja instalada a sua biblioteca; D) Os programas executáveis podem ser executados diretamente pelo hardware do computador; E) A grande vantagem na utilização de programas escritos em linguagens compiladas é a performance que se obtém. Justi�cativa 5. Assinale a a�rmativa INCORRETA: A) Linguagens scripts geralmente são interpretadas; B) O Shell Script não pode ser reutilizado em outro servidor; C) Gerenciar tarefas simples e repetitivas é característica da administração de sistemas; D) Com Shell Script, as instruções são buscadas uma após outra a �m de serem executadas; E) Uma grande vantagem na utilização de scripts é sua simplicidade. Justi�cativa 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 16/17 Glossário PROGRAMAÇÃO SCRIPT A programação script não é difícil de dominar, pois scripts podem ser construídos em pequenas seções, existindo apenas um conjunto relativamente pequeno de operadores especí�cos e opções para aprender. A sintaxe é simples e direta, semelhante à execução de forma encadeada de utilitários na linha de comando, e há apenas algumas regras que regem a sua utilização. VIRTUALBOX Download do Virtual Box: <https://www.virtualbox.org/wiki/Downloads (https://www.virtualbox.org/wiki/Downloads)> O processo de instalação é absolutamente simples. Fique atento, pois é necessário autorizar o software a acessar as interfaces de redes. Alguns sistemas de �rewall e de antivírus podem identi�cá-lo como um programa irregular. VIRTUALBOX Download do Fedora Baixe um arquivo ISO, pois ele permite gerar um DVD de instalação ou ser montado pelo software de virtualização. A versão 12 pode ser encontrada em: <https://archives.fedoraproject.org 01/03/2018 Disciplina Portal http://lms4.2.webaula.com.br/portaldoaluno/training/classroom?classId=652987 17/17 /pub/archive/fedora/linux/releases/12/Fedora/i386/iso/ (https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/i386/iso/)> O linkpara o DVD é Fedora-12-i386-DVD.iso
Compartilhar