prática de software e hardware básico professor me. ricardo ferrari fisma e-mail/msn:...

28
Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: [email protected]

Upload: internet

Post on 16-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Prática de Software e Hardware Básico

Professor Me. Ricardo FerrariFISMA

E-mail/Msn: [email protected]

Page 2: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Introdução ao Universo Linux

Conhecendo o Linux Desenvolvido por Linus Torvalds Baseado em unix, é um sistema POSIX (padrão

para garantir portabilidade de programas entre SOs diferentes)

Qualquer pessoa pode alterar o kernel do Linux desde que distribua isso para a comunidade.

Page 3: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Introdução ao Universo Linux

Sua história

Projeto particular de Linus e acabou tendo colaboração de hackers do mundo todo (Linus+Unix=Linux)

Seria uma melhora do Minix

Em 1992 é lançada a primeira versão estável do Linux

Conhecido por:

Mais segurança Livre de vírus (programas oficias de graças através do

repositório padrão, autenticação necessária do root para instalar programas e não possui arquivos executáveis como .exe)

Multiusuário Melhor para redes Correção de bugs gratuita e rápida

Page 4: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Introdução ao Universo Linux

Conhecendo o Unix Desenvolvido na década de 60 por Ken Tompson

(AT&T) Reescrito em 1973 em linguagem C Surgiram sistemas compatíveis e baseados, todos

seguindo o padrão POSIX Em 1979 já permitia desenvolvimento de

programas caseiros Variações do Unix:

BSD, Solaris, Linux e outros

Page 5: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Manual de Referências

Exemplos: man ls

Name, synopsis, flags, description, examples, files, return value, related information, diagnostics, bugs, warning author standards conformance (tipos de descrições)

ls -l (lista arquivos e diretórios) ls -a (lista arquivos e diretórios + arquivos ocultos

como “.” e “..”) Explicar comandos com exemplos na

lousa/terminal

Page 6: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Sintaxe do Manual de Referências

man + comando Consulta o manual e apresenta todas as páginas Enter: próxima linha Espaço: próxima página q: finaliza a consulta

Page 7: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Principais Características do Linux

Modular

Adiciona/remove partes do sistema sem afetar outras partes Multitarefa

Pode executar várias tarefas em backgroud, deixando o terminal livre para outras atividades

Multiusuário

Permite que usuários rodem o sistema simultaneamente e executem aplicativos no próprio servidor

Transportabilidade

Executa programas em ambientes diferentes do qual ele foi criado

Page 8: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Principais Características do Linux

Comunicação com muita facilidade Comunicação entre Linux e Windows através de

servidor Samba Comunicação remota entre computadores

Ambiente propício para desenvolvimento Ambiente voltado para esse segmento Compiladores: C, cobol, fortran, pascal, basic, c++.

perl, java, php, html, etc... Shell que é o interpretador de comandos e pode ser

utilizado para programação. Opção do delphi: kylix e lazarus

Page 9: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Estrutura do Sistema

Níveis no Linux: Kernel interage com o hardware O shell é o ambiente de linha de comando A camada do usuário que possui os aplicativos e

ferramentas

Page 10: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

O Kernel

Responsável pelo gerenciamento básico do sistema, dando suporte completo para utilização do hardware

Fica carregado na memória depois que o sistema foi inicializado

Possui módulos programados em C, como de gerenciamento de memória e processos

Page 11: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Shell

Existem tipos de shells, como: sh, csh e bash. Por padrão o ubuntu utiliza o bash

É um interpretador de comandos, o usuário digita o comando, o shell traduz para que o kernel entenda o que deve fazer

Possui um recurso muito poderoso, que são os pipes (canos), permitindo que a saída de um comando seja a entrada de outro (executando vários comandos em uma única linha)

Exemplos: ls | grep “filtro” , cat arq | sort e scripts

Page 12: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Shell

Exemplo de script

#! /bin/bash

cd /home/ferrari/

mkdir script

cd script

echo “conteúdo do arquivo” > arquivo

Salva e dar permissão de execução

Executa com ./nome_do_script

Questão:

Crie seu próprio script com o comando echo” ”

Page 13: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Ferramentas e Aplicativos (camada do usuário)

Contém as ferramentas que são utilizadas pelos usuários

Essas ferramentas podem ser criadas através de scripts e comandos, desde que siga algumas regras, como utilizar sempre entradas e saídas sem formatação e criar interface amigável para usuário separada da ferramenta

Page 14: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Utilitários para Linux

São programas do sistema Chamados pelo terminal ou modo gráfico Tipos:

Manipulação de arquivos, diretórios e textos Comunicação Manutenção do sistema

Obs.: o linux é case sensitive, ou seja, o arquivo Alunos é diferente de alunos.

Page 15: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Processos

Criado quando um programa é executado Dois tipos:

Background: o terminal fica livre para outras tarefas

Foreground: o terminal fica retido até o término do processo

Para colocar o processo em background é necessário o símbolo & no final do comando

Exemplo: find [argumento] (opção) & Todo processo no Linux possui uma entrada padrão (0),

saída padrão (1) e saída padrão de erros (2)

Page 16: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Redirecionamento e Pipes

Caracteres utilizados

>: redirecionamento de saída para um novo arquivo

>>: redirecionamento de saída para um novo arquivo ou para o final de um já existente

<: redirecionamento de entrada

| ou ^: canalização da saída de um comando para ser entrada de outro comando

Exemplos:

ls > lista.txt

ls >> lista.txt

ls | grep t*

Page 17: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Usuários

Tipos:

Usuários comuns ($): utilizam recursos liberados pelo root

Superusuários, root (#) ou administradores do sistema: o usuário mais conhecido é o root e tem acesso irrestrito no sistema

Informações ficam em /etc/passwd e /etc/group

O uid é o root e gid é o grupo de administradores do sistema

Variáveis do sistema

PATH: onde estão os comandos do usuários

LOGNAME: login do usuário

HOME: onde está o diretório do usuário

TERM: tipo do terminal utilizado pelo usuário

Para imprimir o valor das variáveis: echo $PATH

Para listar as variáveis: set ou env

Page 18: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Comandos do Linux

Identificação do usuário

who e whoami (exibe usuários logados no S.O.) # who # whoami

finger (exibe detalhes de um usuário local ou remoto conectado em sua máquina)

# finger ferrari Comunicação com usuários

mail (para ler suas mensagens e enviar para usuários da máquina ou da rede)

write (envia mensagens para usuário remoto conectado em sua máquina)

# write ferrari

Page 19: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Comandos do Linux Comandos diversos

date (exibe data e hora do S.O.)

# date

echo (mostra o conteúdo de uma variável)

# nome = Ricardo

# echo $nome

passwd (altera sua própria senha, apenas o root altera de outros usuários)

# passwd

lp (comando para impressão de arquivos)

# lp tcc.pdf

uname (informações dobre o S.O.)

cal (exibe o calendário do mês)

cp (copia arquivos de um lugar para outra)

# cp tcc.pdf /home/projetos

mount (usado para montar dispositivos como CD-Rom, HD e disquete)

ln (cria um link, ou atalho, para um determinado lugar)

# ln -s /mnt/hda1 /home/windows

Page 20: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Arquivos e Diretórios

Sistema de arquivos

Estrutura de árvore invertida

Raiz é o /

Pathname (caminho)

Absoluto: caminho a partir do /

Relativo: não começam com /, começam a partir do ponto atual

Tipos de arquivos

Arquivos simples: como tipo texto

Diretórios: como o home

Arquivos especiais: como o dev (arquivos de hardware)

Comandos para manipulação de diretórios

pwd (informa o caminho absoluto); comando ls (lista o conteúdo de um diretório); mkdir (cria um diretório); rmdir (remove diretórios vazios)

Page 21: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Arquivos e Diretórios

Os diretórios especiais: . e ..

Diretório atual: .

Diretório pai: ..

Principais diretórios do sistema Linux

/root: arquivos de configuração do root

/bin: maioria dos comandos Linux

/lib: bibliotecas do Linux

/usr: arquivos e diretórios do Linux

/etc: maioria dos aquivos e comandos de administração do computador, arquivos de configuração e inicialização do kernel e de programas

/home: diretórios dos usuários

/dev: arquivos para comunicação com periféricos

/tmp: arquivos temporários

Page 22: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Manipulação de Arquivos - I

Arquivos e diretórios d: diretório: drw-r—r-- pasta -: arquivo: -rw-r—r-- arquivo l: link simbólico: lrw-r—r-- link

Permissões r: read; w: write; x: execute rwxrw-r-- : os três primeiros para o dono, os três do

meio para o grupo e os três últimos para outros usuários

Page 23: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Manipulação de arquivos - I

Comandos para manipulação de arquivos

cat: lista conteúdo de um arquivo

more: exibe o conteúdo do arquivo paginando

pg: igual o more

head: primeiras linhas de um arquivo (por padrão as 10 primeiras)

head -20 arquivo tail: últimas linhas de um arquivo (por padrão as 10 últimas)

tail -15 arquivo cp: copia arquivos de um lugar para outro

cp arq1 /home/aluno/arq2 arq1: origem e arq2 destino

ln: cria link ou atalho

ln -s arq1 arq2 (onde arq1 é o arquivo real e arq2 é o link) mv: move e renomeia arquivo e diretórios

mv arq1 /home (move o arq1 para a pasta home) rm: remove arquivos e diretórios

Page 24: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Manipulação de arquivos - I

tar

Para juntar vários arquivos e diretórios:

tar -cvf imagens.tar imagens c: para criar o arquivo imagens.tar; v: para exibir os arquivos

manipulados e f: para especificar o arquivo a ser criado (esse sempre é por último)

Se quiser extrair troque o c por x O tar não compacta, por isso utilizamos o gzip ou bzip2

gzip

gzip imagens.tar (cria o arquivo imagens.tar.gz)

bzip2

bzip2 imagens.tar (cria o arquivo imagens.tar.bz2)

tar + gzip/bzip2

tar -czvf imagens.tar.gz imagens

tar -cjvf imagens.tar.bz2 imagens

Page 25: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Manipulação de arquivos - I

chmod (alterar permissão de arquivo) Exemplo: chmod 764 (7: dono, 6: grupo e 4: outros) Dono: leitura, escrita e execução Grupo: leitura e escrita Outros: leitura

Page 26: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Exercícios

1) Acione o terminal e descubra em qual diretório você está. Liste os arquivos deste diretório. Entre no diretório tmp, crie um diretório teste_1 com o seguinte comando: mkdir teste_1, crie um diretório dentro do diretório teste_1 com o seguinte comando: mkdir teste_2.

2) Apague os dois diretórios criados anteriormente com apenas uma linha de comando. Crie (na pasta do usuário) os diretório teste1 , teste2 e teste3, liste o conteúdo doasua pasta home para confirmar a criação dos diretórios.

3) Entre em teste1 e crie os arquivos, contas.txt, supermercado.txt, agora utilizando o vim crie no mesmo diretório os arquios FEA.txt, fea.txt, Fea.txt e Outros.txt (digite o nome dos arquivos exatamente como escrito aqui), com algum conteúdo.

4) Volte para o diretório tmp, crie um novo diretório chamado aula, mova os diretórios teste1, teste2 e teste3 (que estão em home) para dentro do diretório aula

5) Mude as permissões das 3 pastas e os arquivos dentro delas para: Dono: leitura, escrita e execução, grupo: leitura e escrita e outros: leitura

6) Volte para o diretório home, gere um arquivo .tar chamado teste com o conteúdo da pasta aula (que está na pasta tmp), apague a pasta aula, extraía o conteúdo do arquivo tar que você gerou.

7) Entre novamente na pasta teste1 que acabou de extrair do arquivo tar, gere um arquivo chamado TUDO.TXT com a junção de todos os arquivos de texto que estão neste diretório. (faça redirecionamento com >>) Compacte este novo arquivo com o Gzip

Page 27: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Exercícios

Verifique onde você está. Liste o conteúdo do /, /etc, /var e /home Entre na pasta /dev, liste o conteúdo e encontre os resultados

iniciados por sda ou hda Entre na pasta /tmp, crie uma pasta teste, entre na pasta teste

e crie um arquivo arq.txt. Liste o conteúdo de /tmp com ls -l, pegue as permissões da pasta teste e inverta as permissões de grupo e outros (ex: rwxrwxr-x para rwx----w-) recursivamente.

Liste o conteúdo de /tmp e veja se a permissão de teste mudou, faça o mesmo para o arquivo arq.txt

Remova a pasta teste

Page 28: Prática de Software e Hardware Básico Professor Me. Ricardo Ferrari FISMA E-mail/Msn: rccferrari@hotmail.com

Exercícios

Crie a estrutura da Fea com cursos, disciplinas e ementas

De permissão total para o dono as pastas das disciplinas e zero para grupo e outros

Faça um backup da estrutura com o nome fea.tar.gz

Mover fea.tar.gz para pasta /tmp, extrair o conteúdo