SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
1
Minicurso –
INTRODUÇÃO AO LINUX
Uma abordagem dirigida por
resolução de problemas
Alexandre Augusto Giron
2
Objetivos deste Minicurso
● Aprender os conceitos básicos relacionados ao
Linux
● Aprender como utilizar o sistema
– Abordagem Problema → solução
● Obs: a instalação não será abordada neste minicurso.
3
Roteiro
● Introdução ao Linux e às suas distribuições
– Histórico e Características
– Ambiente Gráfico
– Instalação de Pacotes e Utilitários
● Shell Scripting
– Introdução
– Administração do Sistema
– Configuração de Rede
4
Material Base & Referências
● Apostilas de Linux
– http://paginapessoal.utfpr.edu.br/alexandregiron/paginapesso
al/fundamentos-de-sistemas-operacionais-2015-2-tsi
● Livros
– Artigo: “20 Melhores Livros”
https://edersg.wordpress.com/2014/06/18/os-20-melhores-ebook
s-gratuitos-sobre-o-gnu-linux/
● Lista de Comandos (A a Z):
– http://paginapessoal.utfpr.edu.br/alexandregiron/paginapesso
al/fundamentos-de-sistemas-operacionais-2015-2-tsi/commandos
_terminal.txt/view
5
Introdução
6
Linux – O básico
● O que é?
– Termo usado em contextos diferentes:
● Sistema Operacional (SO)
● Kernel: núcleo de um SO.
● A rigor, o Linux é um Kernel
– Compatível com sistema Unix
– Criado por Linus Torvalds em 1991
7
Linux – O básico
● História
– 1984: Richard Stallman iniciou o
projeto GNU (GNU is Not Unix)
● Fomentar o uso de Software Livre
– 1985: Free Software Foundation
– 1991: GNU/Linux
● Kernel Linux + Softwares e Utilitários
8
Distribuições
● Cada distribuição tem característica própria
– Pacotes de software: Editores, planilhas, bancos de dados,
navegadores, etc.
● Exemplos
– Ubuntu
– Xubuntu
– Debian
– Slackware
– RedHat
– Fedora
– Linux Mint
– Entre outros!
9
Distribuições - “flavors”
10
Distribuições: Qual escolher?
● Escolha depende do objetivo da distribuição
● Alguns exemplos:
– Ubuntu:
● Interação com o usuário: mais recomendada para usuários que não
conhecem Linux
● Ambiente Unity
● Ubuntu GNOME: ambiente GNOME para Ubuntu
– Xubuntu
● Ambiente Xfce
– RedHat
● Foco no ambiente corporativo: versões para desktop e para servidores de
aplicações
– Fedora, Kubuntu
● Interação com usuário
● Ambiente KDE
11
Ambiente Gráfico
● Ambiente GNOME
12
Ambiente Gráfico
● Ambiente GNOME
● Tecnologias utilizadas:
– GNOME Shell: Interpretador de comandos
– GTK+
● Estilos CSS
● OpenGL
● Suporte Multitouch & acessibilidade (ATK)
– X11
● X window system
– GIO
● Sistema de arquivos e E/S
13
Ambiente Gráfico
● Ambiente KDE
14
Ambiente Gráfico
● Ambiente KDE
● Tecnologias utilizadas
– Arch Linux
– Plasma Desktop: área de trabalho
– Qt: desenvolvimento de softwares para o KDE
● KDE Applications
– KHTML
● Engine HTML desenvolvido para o KDE
– Phonon
● API para aplicações multimídia
15
Estrutura do SO
● Sistema Operacional como intermediário entre
Hardware-Software
Shell
Hardware
Kernel
Firmware
Aplicativos de Usuário
16
Aplicativos de Usuário
17
Aplicativos de Usuário –
migrando
Descrição Programas usados no
Windows
Programas usados
no GNU/Linux
Pacote Office Microsoft Office (Word, Excel,
Powerpoint)
Koffice, LibreOffice (Writer,
Calc, Impress)
Música & Vídeo Windows Media Player Mplayer, VLC, Rhythm Box,
Amarok
Edição de Vídeo Windows Movie Maker Avidemux, Cinelerra, Lives,
OpenShot, Pitivi
Navegador Web Internet Explorer, Google Chrome,
Firefox
Google Chrome, Firefox,
Iceweasel, Konqueror
Gravação de Mídia Nero Brasero, K3b
Leitor de PDF Adobe PDF Reader Adobe PDF Reader, Evince,
Kpdf
Compactação Winrar, Winzip Tar, bzip2
Torrent uTorrent uTorrent, qBitTorrent,
Transmission, KTorrent
18
Diretórios: organização dos
arquivos
● Divisão de diretórios do Linux (principais
diretórios):
/ → diretório raiz
/bin → comandos do sistema
/boot → inicialização do sistema
/dev → dispositivos do sistema
/etc → arquivos de configurações
/home → diretório dos usuários
/media → diretório para as mídias removíveis
(CD, Pen-drives)
/root → diretório do usuário administrador
/usr → programas de usuário
19
Hands-On!
● Aplicativos do Xubuntu
– Gedit: editor de textos
– Firefox: navegador Web
● Acesse as apostilas de Linux:
http://paginapessoal.utfpr.edu.br/alexandregiron/pagina
pessoal/fundamentos-de-sistemas-operacionais-2015-2-tsi
● Faça o download
● Abra o(s) PDF(s): eles serão úteis!
– Gerenciador de Pacotes
20
Instalação de Pacotes e Utilitários
● Gerenciador de Pacotes
– Forma simples de instalar programas
– Para instalar é necessário permissão de
administrador do sistema
– Menu → Sistema → Gerenciador de Pacotes
Synaptic
● Alternativa: comando apt-get
– Executado por meio do Interpretador de comandos
(Shell)
21
Interpretador de Comandos: Shell
● Shell: programa que interpreta comandos de
usuário ao sistema
– Comandos internos (built-in) ou Programas externos
● Shell Script
– Arquivo composto por um conjunto de comandos
● Tipos:
– sh: originário do UNIX
– bash (Bourne Again Shell): mais utilizado no
GNU/Linux
– csh (C shell): sintaxe de comandos similar à da
linguagem C
22
Shell Scripting
23
Quando usar Shell Scripting
● Automatização de tarefas simples
– Criação/cópia/movimentação de arquivos ou
diretórios
– Processamento de dados
– Execução de programas em sequência
● Configurações do sistema
– Tarefas administrativas
● Configuração e Instalação de aplicações
24
Shell Scripting: Passos
1. Escolher um tipo (sh, bash)
2. Utilizar um editor de texto para especificar os
comandos
– Gedit
– Leafpad
– Vim, nano
3. Executar o script
25
Quais comandos posso utilizar?
● Hands-On! Ambientação.
Principais comandos:
– ls
– cd
– pwd
– man
– clear
– mkdir
– touch
– rm
– cp
– mv
– echo
– date
– cat
– find
– history
– shutdown -now
**Mais detalhes: consulte a apostila!
26
O primeiro script
#!/bin/bash
# declarar STRING e o dir. atual
STRING="Meu Primeiro Script Shell Linux"
Meudir=$(pwd)
#mostrar o conteúdo em tela
echo $STRING
# parâmetro informado ao script:
echo “Autor do script:” $1 $2 $3
echo “Fim da execução!”
exit
● Salve o script como script.sh
chmod +x script.sh
● Execução:
./script.sh Nome do Participante
27
Sintaxe básica
● Cada linha corresponde a um (ou mais)
comandos a executar
– Linhas precedidas por # são comentários
● Variáveis:
– Não há necessidade de declaração de tipos
– Padrão: string
– Acesso por meio do operador $
#Declaração
NOMEVAR=Conteudo
#Acesso
OUTRAVAR=$NOMEVAR
28
Abordagem deste Minicurso
● Prática: Dirigida por Resolução de Problemas
– Não substitui a leitura de apostilas/livros!
● Lista de Problemas
(Rede):
1. Configurações de rede
2. Download de arquivos
da Internet
● Lista de Problemas (Admin.):
1. Informações do sistema Linux
2. Usuários logados no sistema
3. Processos em execução
4. Backup
5. Compartilhando Arquivos no SO
6. Permissões
7. Procurar de arquivos
8. Redirecionamento de saída e Pipeline
9. Ler a partir de arquivos CSV
29
Problema 1: Informações do
sistema Linux
● Como descobrir informações do sistema?
● Comando:
uname <opções>
● Opções
– -a : todas as informações
– -m : tipo de máquina
– -p : tipo do processador
– -r : versão do sistema
– --help : lista as opções disponíveis
30
Problema 1: script
#!/bin/bash
# exibir informações do sistema
uname -a
# exibir info. do tipo de máquina
uname -r
#exibir versão
uname -v
exit
31
Problema 2: Usuários logados
● Descobrir usuários logados no sistema
● Comando:
who <opções>
● Opções
– -a: mostra todos usuários
– -q: todos os nomes de login
– --help: lista todas as opções
32
Problema 2: script
#!/bin/bash
# exibir usuários do sistema
who
# exibir nomes de login
who -q
exit 0 #valor de retorno do script
33
Problema 3: Gerenciando
processos
● Processos em execução no sistema
– Processo é um programa em execução
● Comandos:
ps <opções>
top <opções>
jobs <opções
● Finalizar processos
kill <opções>
34
Problema 3: estruturas
condicionais
● Uso de estruturas condicionais no script
if [ <condicao> ]
then
<comandos>
fi
● Parâmetros de execução do script
$1, $2, $3 ...
./script par1 par2 par3
35
Problema 3: script
#!/bin/bash
# verificar parâmetro
if [ “$1” == “ps” ]
then
ps -ef
fi
if [ “$1” == “top” ]
then
top
fi
exit 0 #valor de retorno do script
36
Problema 3: finalizando
processos
● Script para finalizar processo
– Precisamos identificar o PID (Identificação de
processo) ou o nome
– Realizar o comando kill
kill PID
kill -9 PID
● Alternativa:
– Encerrar por nome
killall -e firefox
37
Problema 3: script para encerrar
(por nome) processo
#!/bin/bash
# Testa se o parâmetro
# está presente
if [ -n “$1” ]
then
parametro=$1
killall -e $parametro
fi
exit
38
Problema 3: Hands-On
● Modifique os scripts:
– Para identificar os processos que executam em
segundo plano
● Comando: jobs
– Para encerrar um processo pelo seu PID
● Comando: kill <PID>
39
Problema 4: Backup
● Realizar backup de arquivos e diretórios
● Alguns requisitos:
– Espaço ocupado:
● Compactação dos arquivos
● Cópia integral
● Algumas formas (cópia):
– dump <opções>
– dd <opções>
– cp <opções>
40
Problema 4: Backup
● Compactação de Arquivos:
– tar <opções>
– zip <opções>
● Outras abordagens
– Programas específicos para backup
– Compactação usando a interface gráfica
● Botão direito → Comprimir …
41
Problema 4: Backup
● Script para:
– Compactar os arquivos utilizados neste minicurso
até agora
● Utilize um nome que descreva informações do backup
(data, horário, conteúdo)
– Copiar para um armazenamento (ou outro diretório)
● Localização dos dispositivos: /media/
42
Problema 4: script
#!/bin/bash
# compactar diretório com tar
# Par. 1 é o diretório (.)
# Par. 2 é o arquivo final (arq.zip)
tar -cvf $2 $1
#criar diretório de backup
mkdir BACKUP
# copiar para o armazenamento
cp $2 “BACKUP/$2”
exit
43
Problema 5: Compartilhamento
de Arquivos no SO
● Linux fornece métodos para compartilhar
arquivos no SO
– Criação de atalhos
– Compartilhar arquivos para diferentes usuários
● Dois métodos:
– Soft Links: link simbólico
– Hard Links: referência ao arquivo
● Requisito:
– Conhecer o caminho do arquivo
44
Problema 5: Compartilhamento
de Arquivos no SO
● Todo arquivo no Linux tem um caminho:
● Caminho Absoluto
– Desde o diretório raiz até o diretório do arquivo
– Começam (normalmente) com a /
/home/aluno/Documentos/Arquivo.txt
● Caminho relativo
– Refere-se ao diretório “corrente” (atual)
Arquivo.txt
Documentos/Arquivo.txt
● Um link é criado por meio do caminho
do arquivo
45
Problema 5: Compartilhamento
de Arquivos no SO
● Soft Links
– Comando:
ln -S caminhoArquivo nomeLink
● Hard Links
– Comando:
ln caminhoArquivo nomeLink
● Criar um script para
– Dado o caminho (absoluto ou relativo) do arquivo
– Criar um soft link e um hard link para
o arquivo
46
Problema 5: script
● Faça modificações no arquivo
– Compare o resultado nos links criados
#!/bin/bash
# Criação do SoftLink
# Par. 1 é o caminho do arquivo
# Par. 2 é o nome do Soft link
ln -s $1 $2
# Par. 3 é o nome do Hard Link
ln $1 $3
# exibir o resultado
ls -la
exit
47
Problema 6: Permissões
● Usuários comuns Usuário Administrador
● Permissões:
– ACL: Access Control List
● Verificar permissões no Linux:
– Comando chmod
chmod <valorOctal> nomeArquivo
48
Problema 6: Permissões
● Tabela de referência
49
Problema 6: Permissões
● Exemplo: Owner – Group – Universe
● Fazer script para atribuir permissões de escrita,
gravação e execução recursivamente em um
diretório
50
Problema 6: script
#!/bin/bash
# Exibir as permissões do diretório
ls -la $1
# Atribuir permissão recursivamente
# no diretório
chmod -R +x $1
# exibir o resultado
ls -la $1
exit
51
Problema 7: Procurar arquivos
● Sistemas com milhares de arquivos
– Realizar busca manualmente é inviável
● Script realizar busca por arquivos
– Comando: find
find / -name NomeArquivo
● “/” é o caminho do diretório de início da busca
● -name: busca pelo nome do arquivo
– Comando: grep
52
Problema 7: script
#!/bin/bash
# busca a partir do diretório atual
echo “Buscando a partir do dir. atual”
find . -name “$1”
echo “Buscando a partir do dir. raiz”
find / -name “$1”
exit
53
Problema 7: Procurar dentro dos
arquivos
● Unir comando grep com o find
● Comando grep:
grep <opções> ' texto a procurar ' nomeArquivo
– Exemplos:
grep -l '/bin/bash' BACKUP/script.sh
grep -r '/bin/bash' BACKUP/*
● União com o find
find . -name “*.sh” -exec grep 'Texto a procurar' {} ;
54
Problema 7: script (find + grep)
#!/bin/bash
# busca todos os scripts a partir do
# diretório atual cujo conteúdo tenha
# o texto 'ls'
find . -name “*.sh” -exec grep -l 'ls' {} ;
exit
55
Problema 8: Redirecionamento de
saída e Pipeline
● Pipeline em shell script
– Agrupamento de comandos
– Exemplo:
ls | grep sh
● Redirecionamento de saída
– Saída de um comando armazenada em um arquivo
– Exemplo:
ls -la > arquivoLs.txt
56
Problema 8: Redirecionamento de
saída e Pipeline
● Aplicável em vários contextos diferentes
● Script para realizar um cálculo usando a
calculadora do Linux:
– Comando: bc
● Redirecionando para o bc
– Exemplo:
“60+30” | bc
57
Problema 8: script
#!/bin/bash
# Calcular a soma entre dois números
echo “Digite o primeiro n° e tecle enter”
read a
echo “Digite o segundo n°”
read b
echo “$a + $b” | bc
exit
58
Problema 8
● Hands On!
– Faça um script para realizar as 4 operações básicas
(soma, subtração, multiplicação e divisão)
– Modifique o script para que o resultado de cada
operação seja armazenado em um arquivo
“resultado.txt”
59
Problema 9: entrada de arquivos
● Arquivo CSV (Comma-separated values)
– Baixe o arquivo CSV (Salário) da página
● Script shell pode ler o conteúdo
– “Comando” awk
– AWK é uma linguagem (Aho, Weinberger and
Kernighan)
– Exemplos:
awk -F ',' ' {print $0 }' Salario.csv
awk -F: '{ print $1 }' /etc/passwd | sort
60
Problema 9: ler arquivos CSV
● Script para ler apenas a primeira coluna do
arquivo “Salario.csv”
– Delimitador: vírgula (“,”)
– Salve em um novo arquivo “Coluna1Nome.txt”
61
Problema 9: script
#!/bin/bash
# Exibir a primeira coluna do arquivo CSV
echo “Primeira coluna:”
awk -F ',' ' {print $1} ' Salario.csv > Coluna1Nome.txt
exit
62
Problema 9: outra solução: linha
por linha
#!/bin/bash
# estrutura de repetição:
input="Salario.csv"
while read line
do
echo "Linha : $line"
done < $input
63
Problema 10: configuração de
rede
● Quais as atuais configurações de rede do
sistema?
– Comando ifconfig : exibir as configurações
– Comando ping : enviar um pacote ICMP para um
determinado host
– Comando nslookup : informações de domínio
● Script para
– Exibir as configurações de rede, testar a conexão
de internet, exibir informações de domínio
64
Problema 10: script
#!/bin/bash
# Configurações ativas e inativas
ifconfig -a
# Testar conexão (três tentativas)
ping www.g1.globo.com -c 3
# exibir informações de domínio
nslookup microsoft.com
exit
65
Problema 11: Download da
internet
● Script para realizar um download? N
downloads?
– Comando wget (Web Get): download de arquivos
wget –O nomeArquivo endereçoWeb
– FTP (File Transfer Protocol): download via FTP
● Script para realizar downloads
66
Problema 11: Download da
internet
● Proxy
– Computador que atua entre a rede local e a rede
externa (Internet)
● O endereço do proxy deve ser configurado para
utilização
export http_proxy=“dominio:numPorta”
export http_proxy=“usuário:senha@
dominioOuIP:numPorta”
67
Problema 11: script
#!/bin/bash
# Download via wget
wget -O apostila_so.pdf
“http://paginapessoal.utfpr.edu.br/alexandregiro
n/paginapessoal/fundamentos-de-sistemas-
operacionais-2015-2-
tsi/apostila_de_sistemas_operacionais.pdf/at_dow
nload/file”
exit
68
Problema 12
● Hands On!
– Faça um arquivo txt contendo as URLs das
apostilas de linux na página pessoal
– Utilize o wget para ler as URLs desse arquivo para
realizar o download das apostilas
wget -i Arquivo.txt
– Compacte os arquivos usando o comando tar
69
Muitos problemas?
● Aprendizado de Linux e Shell script requer
leitura
– Manuais dos comandos
– Exemplos de utilização
● Mais importante:
– Experimentação!
– Testes
– Prática
70
Dúvidas?
● Links interessantes:
– http://www.southampton.ac.uk/~feeg6002/le
cturenotes/feeg6002_applied_programming07
.pdf
– http://www.theunixschool.com/2012/05/shell-re
ad-text-or-csv-file-and-extract.html

Más contenido relacionado

La actualidad más candente

My markup - marcação de preços-v04
My   markup - marcação de preços-v04My   markup - marcação de preços-v04
My markup - marcação de preços-v04IFSC
 
As 7 novas ferramentas da qualidade
As 7 novas ferramentas da qualidadeAs 7 novas ferramentas da qualidade
As 7 novas ferramentas da qualidadeJosé Daniel Barros
 
AULA02 - Gerência de Projetos - PMI
AULA02 - Gerência de Projetos - PMIAULA02 - Gerência de Projetos - PMI
AULA02 - Gerência de Projetos - PMIDaniela Brauner
 
Tomada de decisão
Tomada de decisãoTomada de decisão
Tomada de decisãoLeila Oliva
 
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget Baixar livro a fábrica de cretinos digitais grátis por michel desmurget
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget JohnBanting3
 
Proposta de Consultoria
Proposta de ConsultoriaProposta de Consultoria
Proposta de ConsultoriaTR Consulting
 
Gerenciamento de projetos apostila completa
Gerenciamento de projetos   apostila completaGerenciamento de projetos   apostila completa
Gerenciamento de projetos apostila completaPaulo Junior
 
Gestão da cadeia de abastecimento versão final
Gestão da cadeia de abastecimento versão finalGestão da cadeia de abastecimento versão final
Gestão da cadeia de abastecimento versão finalcarneiro62
 
O que é arquivologia e a importância do arquivo - Jovem Candango
O que é arquivologia e a importância do arquivo - Jovem CandangoO que é arquivologia e a importância do arquivo - Jovem Candango
O que é arquivologia e a importância do arquivo - Jovem CandangoJader Windson
 
102773154 exercicios-de-fluxograma
102773154 exercicios-de-fluxograma102773154 exercicios-de-fluxograma
102773154 exercicios-de-fluxogramaMarcelo Ferreira
 
Sistema de Apoio a Decisao
Sistema de Apoio a DecisaoSistema de Apoio a Decisao
Sistema de Apoio a DecisaoDenilson Sousa
 
Gerenciamento de Projetos
Gerenciamento de ProjetosGerenciamento de Projetos
Gerenciamento de ProjetosMarcos Abreu
 

La actualidad más candente (20)

Cadeia de Suprimentos
Cadeia de SuprimentosCadeia de Suprimentos
Cadeia de Suprimentos
 
My markup - marcação de preços-v04
My   markup - marcação de preços-v04My   markup - marcação de preços-v04
My markup - marcação de preços-v04
 
As 7 novas ferramentas da qualidade
As 7 novas ferramentas da qualidadeAs 7 novas ferramentas da qualidade
As 7 novas ferramentas da qualidade
 
AULA02 - Gerência de Projetos - PMI
AULA02 - Gerência de Projetos - PMIAULA02 - Gerência de Projetos - PMI
AULA02 - Gerência de Projetos - PMI
 
Tomada de decisão
Tomada de decisãoTomada de decisão
Tomada de decisão
 
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget Baixar livro a fábrica de cretinos digitais grátis por michel desmurget
Baixar livro a fábrica de cretinos digitais grátis por michel desmurget
 
Proposta de Consultoria
Proposta de ConsultoriaProposta de Consultoria
Proposta de Consultoria
 
Gerenciamento de projetos apostila completa
Gerenciamento de projetos   apostila completaGerenciamento de projetos   apostila completa
Gerenciamento de projetos apostila completa
 
Matriz SWOT e Matriz Swot cruzada
Matriz SWOT  e Matriz Swot cruzadaMatriz SWOT  e Matriz Swot cruzada
Matriz SWOT e Matriz Swot cruzada
 
Gestão da cadeia de abastecimento versão final
Gestão da cadeia de abastecimento versão finalGestão da cadeia de abastecimento versão final
Gestão da cadeia de abastecimento versão final
 
O que é arquivologia e a importância do arquivo - Jovem Candango
O que é arquivologia e a importância do arquivo - Jovem CandangoO que é arquivologia e a importância do arquivo - Jovem Candango
O que é arquivologia e a importância do arquivo - Jovem Candango
 
102773154 exercicios-de-fluxograma
102773154 exercicios-de-fluxograma102773154 exercicios-de-fluxograma
102773154 exercicios-de-fluxograma
 
Administração de materiais
Administração de materiaisAdministração de materiais
Administração de materiais
 
Tecnicas de arquivamento
Tecnicas de arquivamentoTecnicas de arquivamento
Tecnicas de arquivamento
 
Gestao De Projetos
Gestao De ProjetosGestao De Projetos
Gestao De Projetos
 
Sistema de Apoio a Decisao
Sistema de Apoio a DecisaoSistema de Apoio a Decisao
Sistema de Apoio a Decisao
 
Gestao agil de projetos
Gestao agil de projetosGestao agil de projetos
Gestao agil de projetos
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Gerenciamento de Projetos
Gerenciamento de ProjetosGerenciamento de Projetos
Gerenciamento de Projetos
 
Administração de Recursos Materiais.
Administração de Recursos Materiais.Administração de Recursos Materiais.
Administração de Recursos Materiais.
 

Destacado

Sistemas Operacionais - Instalacao do Slackware Linux
Sistemas Operacionais - Instalacao do Slackware LinuxSistemas Operacionais - Instalacao do Slackware Linux
Sistemas Operacionais - Instalacao do Slackware LinuxLuiz Arthur
 
Aula 00 qs - apresentação da disciplina
Aula 00   qs - apresentação da disciplinaAula 00   qs - apresentação da disciplina
Aula 00 qs - apresentação da disciplinaJunior Gomes
 
Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)Alexandre Augusto Giron
 
Aula 04 qs - sistemas embarcados
Aula 04   qs - sistemas embarcadosAula 04   qs - sistemas embarcados
Aula 04 qs - sistemas embarcadosJunior Gomes
 
Aula 06 qs - garantia da qualidade de sw
Aula 06   qs - garantia da qualidade de swAula 06   qs - garantia da qualidade de sw
Aula 06 qs - garantia da qualidade de swJunior Gomes
 
Aula 01 qs - 6 sigma
Aula 01   qs - 6 sigmaAula 01   qs - 6 sigma
Aula 01 qs - 6 sigmaJunior Gomes
 

Destacado (12)

Customizando Slackware
Customizando SlackwareCustomizando Slackware
Customizando Slackware
 
Sistemas Operacionais - Instalacao do Slackware Linux
Sistemas Operacionais - Instalacao do Slackware LinuxSistemas Operacionais - Instalacao do Slackware Linux
Sistemas Operacionais - Instalacao do Slackware Linux
 
Aula 00 qs - apresentação da disciplina
Aula 00   qs - apresentação da disciplinaAula 00   qs - apresentação da disciplina
Aula 00 qs - apresentação da disciplina
 
Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)
 
Aula 02 qs - 5 s
Aula 02   qs - 5 sAula 02   qs - 5 s
Aula 02 qs - 5 s
 
Aula 04 qs - sistemas embarcados
Aula 04   qs - sistemas embarcadosAula 04   qs - sistemas embarcados
Aula 04 qs - sistemas embarcados
 
Slackware Linux
Slackware LinuxSlackware Linux
Slackware Linux
 
Aula 06 qs - garantia da qualidade de sw
Aula 06   qs - garantia da qualidade de swAula 06   qs - garantia da qualidade de sw
Aula 06 qs - garantia da qualidade de sw
 
Aula 01 qs - 6 sigma
Aula 01   qs - 6 sigmaAula 01   qs - 6 sigma
Aula 01 qs - 6 sigma
 
Minicurso - Introdução ao Blender
Minicurso - Introdução ao BlenderMinicurso - Introdução ao Blender
Minicurso - Introdução ao Blender
 
Desenvolvimento de sistemas embarcados
Desenvolvimento de sistemas embarcadosDesenvolvimento de sistemas embarcados
Desenvolvimento de sistemas embarcados
 
Aula 07 qs - cmmi
Aula 07   qs - cmmiAula 07   qs - cmmi
Aula 07 qs - cmmi
 

Similar a Minicurso Linux

Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Diego Damasceno
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Diego Damasceno
 
Ruben carvalho 10o_h
Ruben carvalho 10o_hRuben carvalho 10o_h
Ruben carvalho 10o_hPaula Lopes
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básicoAdriano Melo
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o PinguimDiego Rubin
 
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Tchelinux
 

Similar a Minicurso Linux (20)

Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
1 - introducao.pdf
1 - introducao.pdf1 - introducao.pdf
1 - introducao.pdf
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011
 
Minicurso linux
Minicurso linuxMinicurso linux
Minicurso linux
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Gerencia Básica Gnu/Linux
Gerencia Básica Gnu/LinuxGerencia Básica Gnu/Linux
Gerencia Básica Gnu/Linux
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Minicurso GNU/Linux
Minicurso GNU/LinuxMinicurso GNU/Linux
Minicurso GNU/Linux
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010
 
Ruben carvalho 10o_h
Ruben carvalho 10o_hRuben carvalho 10o_h
Ruben carvalho 10o_h
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básico
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
Introdução ao GNU/Linux
Introdução ao GNU/LinuxIntrodução ao GNU/Linux
Introdução ao GNU/Linux
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o Pinguim
 
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
 

Minicurso Linux

  • 1. 1 Minicurso – INTRODUÇÃO AO LINUX Uma abordagem dirigida por resolução de problemas Alexandre Augusto Giron
  • 2. 2 Objetivos deste Minicurso ● Aprender os conceitos básicos relacionados ao Linux ● Aprender como utilizar o sistema – Abordagem Problema → solução ● Obs: a instalação não será abordada neste minicurso.
  • 3. 3 Roteiro ● Introdução ao Linux e às suas distribuições – Histórico e Características – Ambiente Gráfico – Instalação de Pacotes e Utilitários ● Shell Scripting – Introdução – Administração do Sistema – Configuração de Rede
  • 4. 4 Material Base & Referências ● Apostilas de Linux – http://paginapessoal.utfpr.edu.br/alexandregiron/paginapesso al/fundamentos-de-sistemas-operacionais-2015-2-tsi ● Livros – Artigo: “20 Melhores Livros” https://edersg.wordpress.com/2014/06/18/os-20-melhores-ebook s-gratuitos-sobre-o-gnu-linux/ ● Lista de Comandos (A a Z): – http://paginapessoal.utfpr.edu.br/alexandregiron/paginapesso al/fundamentos-de-sistemas-operacionais-2015-2-tsi/commandos _terminal.txt/view
  • 6. 6 Linux – O básico ● O que é? – Termo usado em contextos diferentes: ● Sistema Operacional (SO) ● Kernel: núcleo de um SO. ● A rigor, o Linux é um Kernel – Compatível com sistema Unix – Criado por Linus Torvalds em 1991
  • 7. 7 Linux – O básico ● História – 1984: Richard Stallman iniciou o projeto GNU (GNU is Not Unix) ● Fomentar o uso de Software Livre – 1985: Free Software Foundation – 1991: GNU/Linux ● Kernel Linux + Softwares e Utilitários
  • 8. 8 Distribuições ● Cada distribuição tem característica própria – Pacotes de software: Editores, planilhas, bancos de dados, navegadores, etc. ● Exemplos – Ubuntu – Xubuntu – Debian – Slackware – RedHat – Fedora – Linux Mint – Entre outros!
  • 10. 10 Distribuições: Qual escolher? ● Escolha depende do objetivo da distribuição ● Alguns exemplos: – Ubuntu: ● Interação com o usuário: mais recomendada para usuários que não conhecem Linux ● Ambiente Unity ● Ubuntu GNOME: ambiente GNOME para Ubuntu – Xubuntu ● Ambiente Xfce – RedHat ● Foco no ambiente corporativo: versões para desktop e para servidores de aplicações – Fedora, Kubuntu ● Interação com usuário ● Ambiente KDE
  • 12. 12 Ambiente Gráfico ● Ambiente GNOME ● Tecnologias utilizadas: – GNOME Shell: Interpretador de comandos – GTK+ ● Estilos CSS ● OpenGL ● Suporte Multitouch & acessibilidade (ATK) – X11 ● X window system – GIO ● Sistema de arquivos e E/S
  • 14. 14 Ambiente Gráfico ● Ambiente KDE ● Tecnologias utilizadas – Arch Linux – Plasma Desktop: área de trabalho – Qt: desenvolvimento de softwares para o KDE ● KDE Applications – KHTML ● Engine HTML desenvolvido para o KDE – Phonon ● API para aplicações multimídia
  • 15. 15 Estrutura do SO ● Sistema Operacional como intermediário entre Hardware-Software Shell Hardware Kernel Firmware Aplicativos de Usuário
  • 17. 17 Aplicativos de Usuário – migrando Descrição Programas usados no Windows Programas usados no GNU/Linux Pacote Office Microsoft Office (Word, Excel, Powerpoint) Koffice, LibreOffice (Writer, Calc, Impress) Música & Vídeo Windows Media Player Mplayer, VLC, Rhythm Box, Amarok Edição de Vídeo Windows Movie Maker Avidemux, Cinelerra, Lives, OpenShot, Pitivi Navegador Web Internet Explorer, Google Chrome, Firefox Google Chrome, Firefox, Iceweasel, Konqueror Gravação de Mídia Nero Brasero, K3b Leitor de PDF Adobe PDF Reader Adobe PDF Reader, Evince, Kpdf Compactação Winrar, Winzip Tar, bzip2 Torrent uTorrent uTorrent, qBitTorrent, Transmission, KTorrent
  • 18. 18 Diretórios: organização dos arquivos ● Divisão de diretórios do Linux (principais diretórios): / → diretório raiz /bin → comandos do sistema /boot → inicialização do sistema /dev → dispositivos do sistema /etc → arquivos de configurações /home → diretório dos usuários /media → diretório para as mídias removíveis (CD, Pen-drives) /root → diretório do usuário administrador /usr → programas de usuário
  • 19. 19 Hands-On! ● Aplicativos do Xubuntu – Gedit: editor de textos – Firefox: navegador Web ● Acesse as apostilas de Linux: http://paginapessoal.utfpr.edu.br/alexandregiron/pagina pessoal/fundamentos-de-sistemas-operacionais-2015-2-tsi ● Faça o download ● Abra o(s) PDF(s): eles serão úteis! – Gerenciador de Pacotes
  • 20. 20 Instalação de Pacotes e Utilitários ● Gerenciador de Pacotes – Forma simples de instalar programas – Para instalar é necessário permissão de administrador do sistema – Menu → Sistema → Gerenciador de Pacotes Synaptic ● Alternativa: comando apt-get – Executado por meio do Interpretador de comandos (Shell)
  • 21. 21 Interpretador de Comandos: Shell ● Shell: programa que interpreta comandos de usuário ao sistema – Comandos internos (built-in) ou Programas externos ● Shell Script – Arquivo composto por um conjunto de comandos ● Tipos: – sh: originário do UNIX – bash (Bourne Again Shell): mais utilizado no GNU/Linux – csh (C shell): sintaxe de comandos similar à da linguagem C
  • 23. 23 Quando usar Shell Scripting ● Automatização de tarefas simples – Criação/cópia/movimentação de arquivos ou diretórios – Processamento de dados – Execução de programas em sequência ● Configurações do sistema – Tarefas administrativas ● Configuração e Instalação de aplicações
  • 24. 24 Shell Scripting: Passos 1. Escolher um tipo (sh, bash) 2. Utilizar um editor de texto para especificar os comandos – Gedit – Leafpad – Vim, nano 3. Executar o script
  • 25. 25 Quais comandos posso utilizar? ● Hands-On! Ambientação. Principais comandos: – ls – cd – pwd – man – clear – mkdir – touch – rm – cp – mv – echo – date – cat – find – history – shutdown -now **Mais detalhes: consulte a apostila!
  • 26. 26 O primeiro script #!/bin/bash # declarar STRING e o dir. atual STRING="Meu Primeiro Script Shell Linux" Meudir=$(pwd) #mostrar o conteúdo em tela echo $STRING # parâmetro informado ao script: echo “Autor do script:” $1 $2 $3 echo “Fim da execução!” exit ● Salve o script como script.sh chmod +x script.sh ● Execução: ./script.sh Nome do Participante
  • 27. 27 Sintaxe básica ● Cada linha corresponde a um (ou mais) comandos a executar – Linhas precedidas por # são comentários ● Variáveis: – Não há necessidade de declaração de tipos – Padrão: string – Acesso por meio do operador $ #Declaração NOMEVAR=Conteudo #Acesso OUTRAVAR=$NOMEVAR
  • 28. 28 Abordagem deste Minicurso ● Prática: Dirigida por Resolução de Problemas – Não substitui a leitura de apostilas/livros! ● Lista de Problemas (Rede): 1. Configurações de rede 2. Download de arquivos da Internet ● Lista de Problemas (Admin.): 1. Informações do sistema Linux 2. Usuários logados no sistema 3. Processos em execução 4. Backup 5. Compartilhando Arquivos no SO 6. Permissões 7. Procurar de arquivos 8. Redirecionamento de saída e Pipeline 9. Ler a partir de arquivos CSV
  • 29. 29 Problema 1: Informações do sistema Linux ● Como descobrir informações do sistema? ● Comando: uname <opções> ● Opções – -a : todas as informações – -m : tipo de máquina – -p : tipo do processador – -r : versão do sistema – --help : lista as opções disponíveis
  • 30. 30 Problema 1: script #!/bin/bash # exibir informações do sistema uname -a # exibir info. do tipo de máquina uname -r #exibir versão uname -v exit
  • 31. 31 Problema 2: Usuários logados ● Descobrir usuários logados no sistema ● Comando: who <opções> ● Opções – -a: mostra todos usuários – -q: todos os nomes de login – --help: lista todas as opções
  • 32. 32 Problema 2: script #!/bin/bash # exibir usuários do sistema who # exibir nomes de login who -q exit 0 #valor de retorno do script
  • 33. 33 Problema 3: Gerenciando processos ● Processos em execução no sistema – Processo é um programa em execução ● Comandos: ps <opções> top <opções> jobs <opções ● Finalizar processos kill <opções>
  • 34. 34 Problema 3: estruturas condicionais ● Uso de estruturas condicionais no script if [ <condicao> ] then <comandos> fi ● Parâmetros de execução do script $1, $2, $3 ... ./script par1 par2 par3
  • 35. 35 Problema 3: script #!/bin/bash # verificar parâmetro if [ “$1” == “ps” ] then ps -ef fi if [ “$1” == “top” ] then top fi exit 0 #valor de retorno do script
  • 36. 36 Problema 3: finalizando processos ● Script para finalizar processo – Precisamos identificar o PID (Identificação de processo) ou o nome – Realizar o comando kill kill PID kill -9 PID ● Alternativa: – Encerrar por nome killall -e firefox
  • 37. 37 Problema 3: script para encerrar (por nome) processo #!/bin/bash # Testa se o parâmetro # está presente if [ -n “$1” ] then parametro=$1 killall -e $parametro fi exit
  • 38. 38 Problema 3: Hands-On ● Modifique os scripts: – Para identificar os processos que executam em segundo plano ● Comando: jobs – Para encerrar um processo pelo seu PID ● Comando: kill <PID>
  • 39. 39 Problema 4: Backup ● Realizar backup de arquivos e diretórios ● Alguns requisitos: – Espaço ocupado: ● Compactação dos arquivos ● Cópia integral ● Algumas formas (cópia): – dump <opções> – dd <opções> – cp <opções>
  • 40. 40 Problema 4: Backup ● Compactação de Arquivos: – tar <opções> – zip <opções> ● Outras abordagens – Programas específicos para backup – Compactação usando a interface gráfica ● Botão direito → Comprimir …
  • 41. 41 Problema 4: Backup ● Script para: – Compactar os arquivos utilizados neste minicurso até agora ● Utilize um nome que descreva informações do backup (data, horário, conteúdo) – Copiar para um armazenamento (ou outro diretório) ● Localização dos dispositivos: /media/
  • 42. 42 Problema 4: script #!/bin/bash # compactar diretório com tar # Par. 1 é o diretório (.) # Par. 2 é o arquivo final (arq.zip) tar -cvf $2 $1 #criar diretório de backup mkdir BACKUP # copiar para o armazenamento cp $2 “BACKUP/$2” exit
  • 43. 43 Problema 5: Compartilhamento de Arquivos no SO ● Linux fornece métodos para compartilhar arquivos no SO – Criação de atalhos – Compartilhar arquivos para diferentes usuários ● Dois métodos: – Soft Links: link simbólico – Hard Links: referência ao arquivo ● Requisito: – Conhecer o caminho do arquivo
  • 44. 44 Problema 5: Compartilhamento de Arquivos no SO ● Todo arquivo no Linux tem um caminho: ● Caminho Absoluto – Desde o diretório raiz até o diretório do arquivo – Começam (normalmente) com a / /home/aluno/Documentos/Arquivo.txt ● Caminho relativo – Refere-se ao diretório “corrente” (atual) Arquivo.txt Documentos/Arquivo.txt ● Um link é criado por meio do caminho do arquivo
  • 45. 45 Problema 5: Compartilhamento de Arquivos no SO ● Soft Links – Comando: ln -S caminhoArquivo nomeLink ● Hard Links – Comando: ln caminhoArquivo nomeLink ● Criar um script para – Dado o caminho (absoluto ou relativo) do arquivo – Criar um soft link e um hard link para o arquivo
  • 46. 46 Problema 5: script ● Faça modificações no arquivo – Compare o resultado nos links criados #!/bin/bash # Criação do SoftLink # Par. 1 é o caminho do arquivo # Par. 2 é o nome do Soft link ln -s $1 $2 # Par. 3 é o nome do Hard Link ln $1 $3 # exibir o resultado ls -la exit
  • 47. 47 Problema 6: Permissões ● Usuários comuns Usuário Administrador ● Permissões: – ACL: Access Control List ● Verificar permissões no Linux: – Comando chmod chmod <valorOctal> nomeArquivo
  • 48. 48 Problema 6: Permissões ● Tabela de referência
  • 49. 49 Problema 6: Permissões ● Exemplo: Owner – Group – Universe ● Fazer script para atribuir permissões de escrita, gravação e execução recursivamente em um diretório
  • 50. 50 Problema 6: script #!/bin/bash # Exibir as permissões do diretório ls -la $1 # Atribuir permissão recursivamente # no diretório chmod -R +x $1 # exibir o resultado ls -la $1 exit
  • 51. 51 Problema 7: Procurar arquivos ● Sistemas com milhares de arquivos – Realizar busca manualmente é inviável ● Script realizar busca por arquivos – Comando: find find / -name NomeArquivo ● “/” é o caminho do diretório de início da busca ● -name: busca pelo nome do arquivo – Comando: grep
  • 52. 52 Problema 7: script #!/bin/bash # busca a partir do diretório atual echo “Buscando a partir do dir. atual” find . -name “$1” echo “Buscando a partir do dir. raiz” find / -name “$1” exit
  • 53. 53 Problema 7: Procurar dentro dos arquivos ● Unir comando grep com o find ● Comando grep: grep <opções> ' texto a procurar ' nomeArquivo – Exemplos: grep -l '/bin/bash' BACKUP/script.sh grep -r '/bin/bash' BACKUP/* ● União com o find find . -name “*.sh” -exec grep 'Texto a procurar' {} ;
  • 54. 54 Problema 7: script (find + grep) #!/bin/bash # busca todos os scripts a partir do # diretório atual cujo conteúdo tenha # o texto 'ls' find . -name “*.sh” -exec grep -l 'ls' {} ; exit
  • 55. 55 Problema 8: Redirecionamento de saída e Pipeline ● Pipeline em shell script – Agrupamento de comandos – Exemplo: ls | grep sh ● Redirecionamento de saída – Saída de um comando armazenada em um arquivo – Exemplo: ls -la > arquivoLs.txt
  • 56. 56 Problema 8: Redirecionamento de saída e Pipeline ● Aplicável em vários contextos diferentes ● Script para realizar um cálculo usando a calculadora do Linux: – Comando: bc ● Redirecionando para o bc – Exemplo: “60+30” | bc
  • 57. 57 Problema 8: script #!/bin/bash # Calcular a soma entre dois números echo “Digite o primeiro n° e tecle enter” read a echo “Digite o segundo n°” read b echo “$a + $b” | bc exit
  • 58. 58 Problema 8 ● Hands On! – Faça um script para realizar as 4 operações básicas (soma, subtração, multiplicação e divisão) – Modifique o script para que o resultado de cada operação seja armazenado em um arquivo “resultado.txt”
  • 59. 59 Problema 9: entrada de arquivos ● Arquivo CSV (Comma-separated values) – Baixe o arquivo CSV (Salário) da página ● Script shell pode ler o conteúdo – “Comando” awk – AWK é uma linguagem (Aho, Weinberger and Kernighan) – Exemplos: awk -F ',' ' {print $0 }' Salario.csv awk -F: '{ print $1 }' /etc/passwd | sort
  • 60. 60 Problema 9: ler arquivos CSV ● Script para ler apenas a primeira coluna do arquivo “Salario.csv” – Delimitador: vírgula (“,”) – Salve em um novo arquivo “Coluna1Nome.txt”
  • 61. 61 Problema 9: script #!/bin/bash # Exibir a primeira coluna do arquivo CSV echo “Primeira coluna:” awk -F ',' ' {print $1} ' Salario.csv > Coluna1Nome.txt exit
  • 62. 62 Problema 9: outra solução: linha por linha #!/bin/bash # estrutura de repetição: input="Salario.csv" while read line do echo "Linha : $line" done < $input
  • 63. 63 Problema 10: configuração de rede ● Quais as atuais configurações de rede do sistema? – Comando ifconfig : exibir as configurações – Comando ping : enviar um pacote ICMP para um determinado host – Comando nslookup : informações de domínio ● Script para – Exibir as configurações de rede, testar a conexão de internet, exibir informações de domínio
  • 64. 64 Problema 10: script #!/bin/bash # Configurações ativas e inativas ifconfig -a # Testar conexão (três tentativas) ping www.g1.globo.com -c 3 # exibir informações de domínio nslookup microsoft.com exit
  • 65. 65 Problema 11: Download da internet ● Script para realizar um download? N downloads? – Comando wget (Web Get): download de arquivos wget –O nomeArquivo endereçoWeb – FTP (File Transfer Protocol): download via FTP ● Script para realizar downloads
  • 66. 66 Problema 11: Download da internet ● Proxy – Computador que atua entre a rede local e a rede externa (Internet) ● O endereço do proxy deve ser configurado para utilização export http_proxy=“dominio:numPorta” export http_proxy=“usuário:senha@ dominioOuIP:numPorta”
  • 67. 67 Problema 11: script #!/bin/bash # Download via wget wget -O apostila_so.pdf “http://paginapessoal.utfpr.edu.br/alexandregiro n/paginapessoal/fundamentos-de-sistemas- operacionais-2015-2- tsi/apostila_de_sistemas_operacionais.pdf/at_dow nload/file” exit
  • 68. 68 Problema 12 ● Hands On! – Faça um arquivo txt contendo as URLs das apostilas de linux na página pessoal – Utilize o wget para ler as URLs desse arquivo para realizar o download das apostilas wget -i Arquivo.txt – Compacte os arquivos usando o comando tar
  • 69. 69 Muitos problemas? ● Aprendizado de Linux e Shell script requer leitura – Manuais dos comandos – Exemplos de utilização ● Mais importante: – Experimentação! – Testes – Prática
  • 70. 70 Dúvidas? ● Links interessantes: – http://www.southampton.ac.uk/~feeg6002/le cturenotes/feeg6002_applied_programming07 .pdf – http://www.theunixschool.com/2012/05/shell-re ad-text-or-csv-file-and-extract.html