2. Fundamentos de Linux
Linux – História, Overview & Filosofia
Usuários & Permissões
Arquivos
Diretórios
Discos & Partições
Instalação & Desinstalação
Redes
Mais comandos básicos & Coringas
Gabriel Ferreira e Pedro José
gabrielfeear@gmail.com; pjneto@gmail.com
3. Quem Somos
Gabriel Ferreira - Técnico em Desenvolvimento de sistemas
pelo IFS, graduando em Ciências da Computação pela
Universidade Federal de Sergipe.
Pedro José – Técnico em Desenvolvimento de sistemas pelo
IFS, graduando em Ciências da Computação pela Universidade
Federal de Sergipe, Analista/Desenvolvedor de sistemas da na
empresa Moobi. Utiliza linux para o desenvolvimento de
aplicações utilizando PHP e Python.
5. História do Linux
Sistema Operacional
Conjunto de programas que fazem interface com
usuário e seus aplicativos com o computador
Usuário e Computador
Sistema Operacional
aplicativos (Hardware)
6. História do Linux
Sistema Operacional
Kernel - Núcleo do sistema operacional
Usuário e Computador
Sistema Operacional
aplicativos (Hardware)
P1 P2 P3
... Pn
KERNEL(Núcleo)
7. História do Linux
Unix
Criado no final da década de 1960 e inicio da
década de 1970
Computadores grandes e caros.
Sistemas que não satisfaziam as necessidades da
maioria de profissionais e pesquisadores
Necessidade: sistema operacional multiusuário e
multitarefa
8. História do Linux
Unix
Em 1965, AT&T(Laboratórios Bell), General
Eletric(GE) e o MIT(Massachussets Institute of
Technology) iniciaram o projeto de um SO
chamado Multics.
Em 1969 o projeto foi abondonado
Ken Thompson reescreveu o Multics, chamando de
Unics
Mais tarde Brian Kernighan rebatizou de Unix
9. História do Linux
Unix
Em 1973, Dennis Ritchie e Ken Thompson
reescreveram o Unix, usando a linguagem C
Aplamente utilizado e difundido posteriormente
pelas universidades
1977 começou a ser comercializado pela AT&T
Inconveniente: comercializado e de código fechado
10. História do Linux
Projeto GNU
Em 1984, Richard Stallman deu ínicio ao projeto
GNU
Sistema operacional compatível com Unix
Totalmente livre. Qualquer pessoa tem direito de
usar, modificar e redistribuir o programa e seu
código fonte
GNU: GNU is not Unix
11. História do Linux
Projeto GNU
No final da década de 80 o projeto estava dito por
”fracassado”
Desenvolveram partes importantes de um sistema
operacional como utilitários de programação e os
comandos
Faltava o principal: o KERNEL
GNU Hurd
12. História do Linux
Linux
Por volta de 1987 Andrew S. Tanenbaum criou o
Minix, baseado no Unix (Unix-like) para instrumento
de ensino
Linus Torvalds, aluno de graduação da
Universidade de Helsinque, na Finlândia
Objetivo de melhorar o Minix
Posteriormente pediu ajuda a
interessados no projeto
13. História do Linux
Linux
”Você suspira pelos bons tempos do Minix-1.1,
quando os homens eram homens e escreviam seus
próprios "device drivers"? Você está sem um bom
projecto em mãos e deseja trabalhar num S.O. que
possa modificar de acordo com as suas
necessidades? Acha frustrante quando tudo
funciona no Minix? Chega de noite ao computador
para conseguir que os programas funcionem?
Então esta mensagem pode ser exactamente para
você.”...
14. História do Linux
Linux
”Como eu mencionei há um mês atrás, estou
trabalhando numa versão independente de um S.O.
similar ao Minix para computadores AT-386. Ele
está, finalmente, próximo do estado em que poderá
ser utilizado (embora possa não ser o que você
espera), e eu estou disposto a disponibilizar o
código-fonte para ampla distribuição. Ele está na
versão 0.02... contudo eu tive sucesso ao executar
bash, gcc, gnu-make, gnu-sed, compressão etc.
nele.”...
15. História do Linux
GNU/Linux
Kernel Linux com aplicativos GNU (shell bash,
compilador gcc, emacs, etc..)
Customização – Distribuições GNU/Linux
http://distrowatch.com/
Linux Distro Timeline
16. Ambiente gráfico X Window
Sistema gráfico de janelas que oferece o
serviço para gerar a interface gráfica
Servidor X – controla a exibição dos gráficos na
tela
Gerenciador de Janelas – interface entre Servidor
X e aplicação
Window Maker, After Step, Gnome, KDE, XFCE,
etc
startx e xinit
17. Ubuntu
Sistema operacional de código aberto e
baseado no Debian
Lançamentos semestrais, com versões
desktop, server e netbook
SO código aberto mais popular do mundo
Comunidade Ubuntu e patrocinado pela
Canonical Ltd
Deriva do conceito sul africano u'buntu , que
significa "humanidade com os outros" ou "sou o
que sou pelo que nós somos".
18. Ubuntu
Filosofia
Software Livre - difundir os benefícios do software
para todas as partes do mundo
1º - Todo usuário de computador deve ter a
liberdade para fazer o download, executar, copiar,
distribuir, estudar, compartilhar, mudar e melhorar o
software para qualquer finalidade, sem pagar nada
por isso.
19. Ubuntu
2º - Todo usuário deve ser capaz de usar seu
software na língua de sua escolha.
3º – Deve ser dada a oportunidade de usar o
software a todos os usuários de computadores,
mesmo que este seja portador de deficiência
20. Ubuntu
Versão atual: 10.04 LTS (Long Term Support)
Suporte previsto até abril de 2013
Características da versão atual
Rápido e leve
Firefox
OpenOffice
Centro de Software Ubuntu
Evolution e Empathy
Redes Sociais
Music Store e Ubuntu One
Editor de vídeo Piviti
22. Manipulação de contas
root
Conta de usuário especial, que detem de todos os
privilégios possíveis no sistema (privilegios de
adiministrador)
adduser
Sintaxe: adduser [opções] [usuário/grupo]
Após adcionar um novo usuário, será criado o
diretório /home/[usuario]
passwd
Sintaxe: passwd [usuário/grupo] [opções]
23. Manipulação de contas
addgroup
Adiciona um novo grupo de usuário no sistema
Sintaxe: addgroup [usuário/grupo] [opções]
groupdel
Remove um grupo do sistema
Sintaxe: groupdel [grupo]
24. Manipulação de contas
userdel
Sintaxe: userdel [-r] [usuário]
-r : apaga também o diretório do usuário
users
Lista os usuários atuais do sistema
groups
Exibe os grupos que o usuário pertence
25. Manipulação de contas
userdel
Sintaxe: userdel [-r] [usuário]
-r : apaga também o diretório do usuário
users
Lista os usuários atuais do sistema
groups
Exibe os grupos que o usuário pertence
27. Permissões de acesso
- rwx rwx rwx
Permissoões de outros
Permissoões de grupo
Permissões de usuário
Tipo de Arquivo
28. Permissões de acesso
Permissões
Tipo de
Arquivos Diretórios
acesso
Listar o conteúdo do
r Ler conteúdo do arquivo
arquivo
Alterar o conteúdo do Alterar o conteúdo de
w
arquivo diretório
x Executar o aquivo Permite ser acessado
29. Permissões de acesso
Tipos de arquivos
TIPO DESCRIÇÃO
- Arquivos comuns
d Diretórios
b Arquivos especiais de bloco
c Arquivos especiais de caracter
s Sockets
p Named pipe
l Link simbólicos
30. Permissões de acesso
chmod: Muda a permissão de acesso a um
arquivo ou diretório
Sintaxe:
chmod [opções] [permissões] [diretório/arquivo]
chgrp: Muda o grupo de um arquivo/diretório
Sintaxe:
chgrp [opções] [grupo] [arquivo/diretório]
chown: Muda dono de um arquivo/diretório
Sintaxe:
chown [opções] [dono.grupo] [diretório/arquivo]
32. Manipulando arquivos
mkdir (criar de diretório)
rmdir (remove um diretório)
rm (remove um arquivo)
mv (move ou renomeia um arquivo)
cp (copia um arquivo)
34. Estrutura dos diretórios
/ - Diretório Raiz
/home - Diretório com dados de cada usuário
/bin - Diretório com os binários essenciais
/etc - Diretório com configurações do sistema
/var - Diretório com variáveis e logs
/sbin - Diretório com binários do sistema
/tmp - Diretório com arquivos temporários
/dev - Diretório com arquivos dos dispositivos
35. Estrutura dos diretórios
/lib - Diretório com as bibliotecas do kernel
/mnt - Diretório para arquivos montados
/root - Diretório padrão do ”root”
/lost+found - Blocos de SA perdidos e encontrados pelo
fsck
/boot - Diretório com os arquivos estáticos do boot loader
/proc - Diretório com informações sobre os processos do
sistema
37. Discos e partições
No linux o acesso a partições é feito através de
diretórios
Pontos de montagem
No linux, dispositivos do computador são
identificados por uma arquivo no diretório /dev
/dev/hda1
Número da partição do disco rígido
Identificaçã do disco rígido
Sigla do tipo de disco rígido(hd=ide, sd=SCSI, xt=XT, etc)
38. Discos e partições
mount
Montar(acessar) uma partição de disco
Sintaxe:
mount [dispositivo] [ponto de montagem] [opções]
umount
Desmontar partição de disco
Sintaxe:
umount [dispositivo/ponto de montagem]
39. Discos e partições
fstab
O arquivo /etc/fstab contém parâmetros sobre
partições
Facilita a montagem de partições
Organização:
Dispositivo Ponto de Montagem Tipo Opções dump ordem
/dev/hda3 /dos msdos defaults,noauto,rw 0 0
42. Comandos Básicos
Alguns comandos:
ping (envia um sinal para um host na rede)
telnet (protocolo de acesso remoto em máquinas windows)
ssh (protocolo para acesso remoto em servidores *nix)
tracerout (traça sua rota até um determinado ativo na rede)
netcat (canivete suisso para adminstradores de rede)
ttp (cliente para acesso a servidores de arquivos)
ifconfig (comando utilizado para configurar interfaces de rede)
finger (mostra informações sobre os usuários do sistema)
hostname (exibe e configura o nome dá máquina)
43. Comandos Básicos
Alguns comandos:
wget (permite fazer o download de arquivo em outros
servidores)
talk (permite comunicar-se com outros usuários do sistema)
dig (mostra informações sobre o domínio)
whois (comando utilizado para obter mais informações sobre
uma máquina)
45. Comandos Básicos
Estrutura dos comandos no Linux:
prompt: comando [opções] [argumentos]
prompt: prompt de comando
comando: comando a ser executado
opções: opções extras para o comando
argumentos: parâmetros para o programa
46. Comandos Básicos
Documentação
Podemos encontrar uma documentação dos comandos tanto
on-line, nos sites dos projetos quanto off-line utilizando os
recursos abaixo:
Man pages: Páginas de ajuda que descrevem a utilização do
comando, juntamente com seus parâmetros.
Info: Fornece informações sobre o comando/utilitário
man [nome_do_comando]
info [nome_do_comando]
47. Comandos Básicos
Alguns comandos:
ls (listagem de arquivos de um diretório, similar ao ”dir” DOS)
cd (mudar de diretório)
pwd (exibe o diretório atual)
clear (limpa o console, similar ao ”cls” no MS-DOS)
history (vê o histórico dos comandos digitados pelo usuário)
date (exibe a data e hora do sistema)
find (procura arquivos no sistema)
grep (realiza uma busca textual em arquivos do sistemal)
cat (exibe o conteúdo de um arquivo na tela)
48. Comandos Básicos
Mais comandos:
ps (exibe os processos do sistema)
top (monitora os processos do sistema)
kill (mata processos do sistema)
md5sum (função de hash utilizada geralmente em arquivos
para verificar sua integridade)
49. Editores
Editores de texto para linha de comando:
vi: editor de texto robusto, porém pouco intuitivo a princípio
vim (variante do vi)
nano: editor de texto presente em alguma distribuições, leve e
de fácil utilização.
pico
mcedit
51. Redirecionamentos e Pipe
> , >>
Redireciona a saída para algum dispositivo ou
arquivo ao invés do dispositivo de saída padrão
(tela)
Diferenças
Com arquivos:
> : cria ou substitui o conteúdo do arquivo
>> : adiciona ao final do conteúdo do aarquivo
52. Redirecionamentos e Pipe
<
Direciona a entrada padrão de arquivo/dispositivo
para um comando.
| (pipe)
Envia a saída de um comando para a entrada do
próximo comando
tee
Envia o resultado do programa para a saída padrão
(tela) e para um arquivo ao mesmo tempo.
Sintaxe: comando | tee [arquivo]
54. Softwares alternativos
Microsoft Office
Open Office
Write - Editor de texto
Calc - Planilha eletrônica
Impress – Apresentação
Draw – ferramenta gráfica
Math – Equações e fórmulas
Base – Banco de dados
windows, mac, linux, unix
55. Softwares alternativos
Internet Explorer
Firefox
windows, mac, linux
Iceweasel
Distribuições baseado o Debian
Chrome
Windows, linux
56. Softwares alternativos
MATLAB
Octave
Windows, linux
PHOTOSHOP
GIMP
Windows, linux
NERO
K3b
linux
57. Softwares alternativos
Zend Studio(Programação em PHP)
windows, mac, linux
Netbeans(Programação em muita coisa)
windows, linux
Eclipse(Programação em muita coisa também)
windows, linux
Dreamweaver
QuantaPlus
linux
58. Softwares alternativos
IIS (Páginas WEB)
APACHE
Windows, linux
SQLSERVER
Não temos!! Mais podemos usar:
POSTGRESQL
MYSQL
ORACLE(versão express)