Você está na página 1de 66

GNU/LINUX

Tssio Ferenzini M. Sirqueira


Tssio Ferenzini M. Sirqueira 2
Quem sou eu?
www.tassio.eti.br
e-mail: tassio@tassio.eti.br
Currculo:
http:lattes.cnpq.br!"!#$!%""!$%&$#&
Tssio Ferenzini M. Sirqueira $
Antes de Comear
O que um sistema operacional?

Sistema operacional um software bsico que


permite aos programas executarem suas
tarefas.

o sistema operacional que fornece acesso ao


hardware do computador (como a placa de
som, placa de rede), a internet, aos arquivos
que esto no nosso disco rgido, cdrom etc.
Tssio Ferenzini M. Sirqueira !
Qual melhor?
Tssio Ferenzini M. Sirqueira "
Porque muitos ainda no
investem no GNU/Linux?
Tssio Ferenzini M. Sirqueira %
Chefe!
Tssio Ferenzini M. Sirqueira '
Ou pior...
Ms. Burns
Tssio Ferenzini M. Sirqueira #
Tssio Ferenzini M. Sirqueira &
Qual melhor?
Tssio Ferenzini M. Sirqueira ()
O que me deixa feliz!!!
Tssio Ferenzini M. Sirqueira ((
Tssio Ferenzini M. Sirqueira (2
Deixando de enrolar!
O que o Linux ou
GNU/Linux?
Tssio Ferenzini M. Sirqueira ($
Tssio Ferenzini M. Sirqueira (!
GNU/LNUX

Um sistema operacional desenvolvido com


base no Unix, suas derivaes so comumente
chamado de Unix-like.

Linux

Famlia BSD (FreeBSD, OpenBSD, NetBSD)

Solaris, HP UX, AX, RX

Mac OS X
Tssio Ferenzini M. Sirqueira ("
O projeto GNU

O projeto GNU escreveu componentes


principais, essenciais mas no excitantes.

No final da dcada de 1980, o projeto tinha


"fracassado: apenas os utilitrios de
programao e os comandos estavam prontos, e
o kernel, no.

Objetivo era um sistema operacional completo,


compatvel com o UNX, que fosse software
livre.
Tssio Ferenzini M. Sirqueira (%
O que GNU

GNU um acrnimo recursivo para


"GNU No UNX.

Sua grande arma a licena GPL.

GNU General Public License (GNU GPL


ou GPL), a licena livre mais usada no mundo,
que inaugurou o conceito de copyleft.
Tssio Ferenzini M. Sirqueira ('
GPL e as 4 liberdades
1) A liberdade de executar o programa, para
qualquer propsito;
2) A liberdade de estudar como o programa
funciona e adapt-lo para as suas necessidades;
3) A liberdade de redistribuir cpias de modo que
voc possa ajudar ao seu prximo ;
4) A liberdade de aperfeioar o programa, e liberar
os seus aperfeioamentos, de modo que toda a
comunidade beneficie deles.
Tssio Ferenzini M. Sirqueira (#
Surgimento do Linux

Linus Torvalds comeou o desenvolvimento do


ncleo como um projeto particular, inspirado
pelo seu interesse no Minix, um pequeno
sistema UNX desenvolvido por Andrew S.
Tanenbaum.

"um Minix melhor que o Minix" ("a better Minix


than Minix").
Tssio Ferenzini M. Sirqueira (&
Histria longa...

Depois de um certo tempo reconhecendo que no


conseguiria continuar sozinho desenvolvendo o
projeto, postou uma mensagem numa lista de
discusso pedindo colaborao obtendo o resultado
que vemos hoje.

O nome Linux foi criado por Ari Lemmke,


administrador do site ftp.funet.fi que deu esse nome
ao diretrio FTP onde o ncleo Linux estava
inicialmente disponvel. Linus inicialmente tinha-o
batizado como "Freax".
Tssio Ferenzini M. Sirqueira 2)
Linux ou GNU/Linux?

Linux o ncleo do sistema operacional.

GNU todos os aplicativos e utilitrios bsicos


para o funcionamento do sistema.

Essa discusso vai longe!!!


Tssio Ferenzini M. Sirqueira 2(
rvore de diretrio

/ - O diretrio raiz, permitir a incluso dos outros


sistemas de arquivos (outras hierarquias de diretrios)
na rvore de diretrios.

/bin - Contm programas (executveis) que so


necessrios durante o boot do sistema mas que
tambm podem ser usados pelos usurios.

/dev - Os arquivos deste diretrio so tambm


conhecidos como "device drives e so usados para
acessar dispositivos eletrnicos do sistema, ex:
/dev/cdrom0.
Tssio Ferenzini M. Sirqueira 22
Continuando...

/etc - Este diretrio um dos mais importantes. Contm uma


miscelnea de dados de configurao, de inicializao do sistema
em seus vrios nveis e outros como a tabela de sistemas de
arquivo, configurao da inicializao do sistema para cada nvel,
configuraes de login para todos os usurios, configurao da
fila de impresso, e um nmero considervel de arquivos para
configurao de rede e outros aspectos do sistema, incluindo a
interface grfica.

/home - Contm os diretrios pessoais dos usurios. Por


exemplo: /home/professores, /home/estudantes.

/lib - Este diretrio contm bibliotecas do sistema. O nome lib vem


de library, ou biblioteca.
Tssio Ferenzini M. Sirqueira 2$
E continuando...

/lost+found - Um diretrio aonde so colocados os arquivos "recuperados


pelo utilitrio fsck, perdidos no disco ou que pertenciam a arquivos
danificados.

/mnt - um diretrio com pontos para montagem de dispositivos de bloco,


como discos rgidos adicionais, disquetes, CD-ROMs, etc.

/proc - um diretrio cujos dados so armazenados na memria e no em


disco. Nele encontramos "arquivos' com a configurao atual do sistema,
dados estatsticos, dispositivos j montados, interrupes, endereos e
estados das portas fsicas, dados sobre a rede, processador, memria,
etc. Alm disso, contm subdiretrios com informaes detalhadas sobre
o estado de cada programa em execuo na mquina.

/sbin - Executveis e ferramentas para a administrao do sistema (para


uso do superusurio).
Tssio Ferenzini M. Sirqueira 2!
E parece que no tem fim...

/tmp - Local destinado aos arquivos


temporrios.

/usr - Contm arquivos de comandos,


programas, bibliotecas, manuais, e outros
arquivos estveis.

/var - Contm em geral os arquivos que sofrem


modificaes durante a sesso, bem como
arquivos temporrios.
Tssio Ferenzini M. Sirqueira 2"
Permisses dos arq.

Todo arquivo tem um "dono, e esse dono faz


parte de um grupo.

Cada arquivo possui permisses diferentes


para cada um: Proprietrio, Grupo e Outros

Pode ser de Leitura(Read), Gravao(Write)


e/ou Execuo(Execute).
Tssio Ferenzini M. Sirqueira 2%
Entendendo melhor
Cada tipo de permisso tem um valor(numeral) e
sua combinao gera a permisso.
4 read (r)
2 write (w)
1 execute (x)
Ex. 1: chmod 777 todo podem ler, gravar,
executar
Ex. 2: chmod 754 'rwx' dono, 'rx' grupo e 'r' outros
Tssio Ferenzini M. Sirqueira 2'
Manipulando arquivos

ls = Lista o diretrio atual

ls -al = Lista o diretrio mostrando as


informaes detalhadas dos arquivos

cd = Vai para a pasta raiz do usurio

cd pasta = Acessa a pasta que foi informada

pwd = informa o caminho completo da pasta


atual

mkdir pasta = cria uma pasta com o nome


informado
Tssio Ferenzini M. Sirqueira 2#
Manipulando arquivo - p2

cp arq1 arq2 Faz uma cpia do arquivo

cp -r pasta1 pasta2 = Faz uma cpia recursiva


da pasta(todo contedo)

mv pasta1 pasta2 = Renomeia uma pasta ou


muda de lugar

ln -s arq link = cria um atalho de um arquivo

cat arq = lista o contedo de um arquivo

more = mosta a sada por partes pausadamente


Tssio Ferenzini M. Sirqueira 2&
Manipulando arquivos p3

rm = remove um arquivo

rm -r = remove uma pasta

rm -f = fora a remoo

rm -rf = fora a remoo de toda a pasta (/*)

grep valorbuscado arquivo = realiza a busca


dentro de um arquivo

grep -r valorbuscado pasta = realiza a busca


dentro de uma pasta
Tssio Ferenzini M. Sirqueira $)
Sistema

date = data atual do sistema

cal = mostra o calendrio do sistema

w, who, whoami = informaes dos usurios

finger usuario = informao completa do


usurio

man comando = manual do comando (--help)

uptime = Tempo que a mquina esta ativa


Tssio Ferenzini M. Sirqueira $(
Sistema

df = informaes de disco

free = utilizao de memria

ps = processos ativos do usuario

top = todos processos em execuo

kill pid= mata um processo em execuo (pid =


nmero do processo)

Killall proc = mata um servio em


execuo( proc = nome do processo)
Tssio Ferenzini M. Sirqueira $2
Arquivos compactados

Compactar em .zip: zip nome_do_arquivo


nome_do_arquivo.zip

Descompactar .zip: unzip nome_do_arquivo.zip

Compactar .gz: gzip nome_do_arquivo

OBS: o arquivo compactado ser criado com o


mesmo nome

Descompactar .gz: gzip -d nome_do_arquivo.gz

Compactao .tar: tar -cvf nome_do_arquivo


nome_do_arquivo.tar

descompactar .tar: tar -xvf nome_do_arquivo.tar


Tssio Ferenzini M. Sirqueira $$
Continuao...

Compactar .bz2: bzip2 nome_do_arquivo

Descompactar .bz2: bunzip2 nome_do_arquivo.bz2

Compactao do tipo .tar.gz ou .tgz: tar -zcvf


nome_do_arquivo.tgz ou .tar.gz

Descompactar .tar.gz ou .tgz: tar -zxvf


nome_do_arquivo.tgz ou .tar.gz

Compactao .tar.bz2: tar -cjf nome_do_arquivo


nome_do_arquivo.tar.bz2

Descompactao .tar.bz2: tar xvj


nome_do_arquivo.tar.bz2
Tssio Ferenzini M. Sirqueira $!
nstalao de programas

nstalao a partir do cdigo fonte:


./configure
make
make install

rpm -Uvh pct.rpm - instalao de pacotes


(RPM)

dpkg -i pct.deb - instalao de pacotes para


derivaes Debian.
Tssio Ferenzini M. Sirqueira $"
Continuao...

apt-get install programa - nstalao de


programa

apt-get purge programa Desistalao de


programa

apt-get autoremove Remove programas


obsoletos

dkpg --configure -a correo em falhas de


instalao ou configurao
Tssio Ferenzini M. Sirqueira $%
Continuao...

apt-get update atualiza a lista dos


repositrios

apt-get upgrade atualiza as verses dos


programas

apt-get dist-upgrade atualiza a verso do


sistema(ex:Kernel). Obs.: No migra a verso

Local do source.list - /etc/apt/sources.list


Tssio Ferenzini M. Sirqueira $'
Rede

/etc/network/interfaces - Configurao manual


das placas de rede

ifconfig informaes das placas

ifup placa habilita a placa de rede

ifdown placa desabilita a placa de rede

/etc/init.d/networking restart reinicia as


configuraes de rede manualmente
Tssio Ferenzini M. Sirqueira $#
Servios

/etc/init.d/servio start ou start servio inicia


um servio

/etc/init.d/servio stop ou stop servio para


um servio em execuo

/etc/init.d/servio status ou status servio


verifica a execuo de um servio

/etc/init.d/servio restart reinicia um servio


em execuo
Tssio Ferenzini M. Sirqueira $&
Privilgios

sudo comando executa o comando com


privilgios de root

sudo su loga como o usurio root

passwd usurio troca de senha para o


usurio informado

exit logoff do usurio


Tssio Ferenzini M. Sirqueira !)
Grupos e Usurios

groupadd adiciona um novo grupos de


usurios ao sistema

groupdel removo um grupo do sistema

useradd adiciona um usurio ao sistema

userdel remove um usurio do sistema

usermod modifica conta do usurio

EX: useradd -d /home/tassio -g admin -s /bin/bash


-p 123 tassiofms
Tssio Ferenzini M. Sirqueira !(
Aplicativos

Vim editor de texto sem interface grfica

/ realiza a busca dentro do editor

Shift + i ou nsert Habilita a edio do contedo

Del apaga sem a necessidade de habilitar a


edio

Shift + q Sair da edio

: wq gravar as alteraes e fechar o arquivo


Tssio Ferenzini M. Sirqueira !2
Vamos trabalhar!!!
Tssio Ferenzini M. Sirqueira !$
Um Novo Dia!
No meio de tantas coisas s me
resta o seguir em frente.
Renato Russo
Tssio Ferenzini M. Sirqueira !!
Mudando de Assunto!
Tssio Ferenzini M. Sirqueira !"
No era bem aquele!
Tssio Ferenzini M. Sirqueira !%
O que o shell?

o "Terminal que recebe os comandos


digitados pelo usurio, interpreta e executa.

Ele que aparece aps o login do sistema

Responsvel pela ponte entre o usurio e o


kernel.
Tssio Ferenzini M. Sirqueira !'
Como funciona?

O Shell Script, no uma linguagem compilada


e sim interpretativa.

A primeira linha do script deve ser:

#!/bin/bash

Ou

#!/bin/sh

Para que ao ser executado, o sistema saiba que


o shell quem ir interpretar estes comandos.
Tssio Ferenzini M. Sirqueira !#
Como pode ser executado?

Para o diretrio corrente pasta utilizar o ./, ex:

./script

Vale lembrar que o arquivo criado tem que ter


as permisses de execuo.

chmod +x script

Ele s executa se toda sua sintaxe estiver


correta, e em caso de erro informa qual foi a
linha.
Tssio Ferenzini M. Sirqueira !&
nterao

Para exibir informaes ao usurio utilizado o


echo, ex:

echo "Hello Word!*

E para capturar a resposta do usurio o comando


read

read RESPOSTA

Para adicionar uma linha de comentrio o #

# isso um comentrio
* tinha que ser esse exemplo?
Tssio Ferenzini M. Sirqueira ")
Variveis

a base de todos os software

Sua atribuio de valor feita atravs do sina de "=


sem espao, ex.:
#!/bin/bash
date
HOJE=$(date)
echo "Hoje $HOJE"

Para apagar uma varivel usa unset, ex.:


unset HOJE
Tssio Ferenzini M. Sirqueira "(
Comandos

Pode se passar um comando por vez ou


conjunto separando eles por pipe "| e extrair
seu resultado para um arquivo com "> ex.:
cat /etc/passwd | grep sys | cut -c1-1000 >
saida

Como funciona cada parte...


Tssio Ferenzini M. Sirqueira "2
test

O comando "test utilizado para fazer


comparaes:
Tssio Ferenzini M. Sirqueira "$
test exemplo
# Mostra uma pergunta na tela ao usurio
echo "Quer saber a date de hoje? [s/n] "
read RESPOSTA
# Se ele digitou "s, exibi a data
test "$RESPOSTA = "s && date
Tssio Ferenzini M. Sirqueira "!
Mltiplas entradas

O shell permite trabalhar com mais de uma


entrada por linha de comando.

$0 o prprio nome do escript

$1, $2, $3, ... so varivel de atribuio


automtica.

$# - exibi a contagem total

$* - exibi o seus valores


Exemplo:
Tssio Ferenzini M. Sirqueira ""
#!/bin/sh
# multiplas entradas
echo "O nome deste script : $0"
echo "Recebidos $# argumentos que so $*"
echo "O primeiro argumento recebido foi: $1"
echo "O segundo argumento recebido foi: $2"
Tssio Ferenzini M. Sirqueira "%
Operaes matemticas

Operaes devem ser tratadas dentro do $


((operao)).
MEDA=$((70+70/2))

Qual o resultado desa operao?


Tssio Ferenzini M. Sirqueira "'
if

O "if testa um comando e no uma condio,


diferente das outras linguagens, ex.:
if COMANDO
then
comandos
else
comandos
fi
Tssio Ferenzini M. Sirqueira "#
Exemplo if
if test "$HOJE=s
then
date
else
cal
fi
Tssio Ferenzini M. Sirqueira "&
While
O while um lao que tambm no verifica
condio e sim comando, ex.:
while COMANDO
do
comandos
done
Tssio Ferenzini M. Sirqueira %)
Na prtica!
while test "$PAUSAR=s
do
echo "Pausa"
sleep 10
done
Tssio Ferenzini M. Sirqueira %(

O for verifica o valor em uma lista, ex.:


for VAR in LSTA
do
comandos
done
Tssio Ferenzini M. Sirqueira %2
Exemplo prtico
for numero in $(seq 10)
do
echo "Contando: $numero"
done

O "seq serve para gerar uma sequencia


numrica
Tssio Ferenzini M. Sirqueira %$
Case

Verificao de valor passado, ex.:


case $VALOR in
1)
comando;;
2)
comando;;

*) opo invalida;;

esac
Tssio Ferenzini M. Sirqueira %!
Funes

A funo trabalho como se fosse um comando

Sua criao :
funcao(){
.
}
Tssio Ferenzini M. Sirqueira %"
Vamos ao trabalho...
Tssio Ferenzini M. Sirqueira %%
Referncias
http://www.inf.ufpr.br/nicolui/Docs/Livros/LinuxB
asico/

Jargas, A. M. - ntroduo ao Shell Script


http://aurelio.net

Demetrio, C. - Apostila Shell Script 2012

Cooper, M. - Advanced Bash-Scripting Guide -


2012

Você também pode gostar