Sie sind auf Seite 1von 40

FAEC

Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Fundamentos de Sistemas Operacionais


(Sistemas Abertos)

Prof.Roberson Araujo
Reviso Vrs.01 Ano 2010

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

1/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Sumrio
Fundamentos de Sistemas Operacionais..............................................................................................1
(Sistemas Abertos)................................................................................................................................1
Prof.Roberson Araujo...........................................................................................................................1
Reviso Vrs.01 Ano 2010.....................................................................................................................1
1. Sistema Operacional.........................................................................................................................4
O que um sistema operacional?....................................................................................................4
2. O que Linux?.................................................................................................................................6
O que Software Livre?..................................................................................................................7
Sistemas Operacionais.....................................................................................................................8
Arquitetura Geral........................................................................................................................9
Ambiente Grfico........................................................................................................................9
Shell..........................................................................................................................................10
Comandos em Unix.....................................................................................................10
Comandos Bsicos....................................................................................................................10
Manipulao de Arquivos e diretrios ..........................................................................................11
Arquivos e rvores de Diretrios.............................................................................................11
Usurios e Segurana em Arquivos ..........................................................................................11
Permisses de acesso ................................................................................................................11
NOTA: .................................................................................................................................12
Alterando as permisses de um arquivo: chmod .....................................................................13
3. Comandos bsicos do VI. Editor de terminal SSH ........................................................................13
4. Distribuies Linux........................................................................................................................15
O que uma distribuio? O que uma distro Linux...................................................................15
Como escolher uma distribuio....................................................................................................15
Download ou aquisio de uma distribuio de Linux..................................................................17
Live CDs: Linux sem instalao....................................................................................................17
Porque usar a Debian?...................................................................................................................18
5. Unix: Conceitos e Comandos Bsicos............................................................................................19
Ligando e Desligando a Mquina .................................................................................................19
Manipulando arquivos e diretrios ...............................................................................................19
Shell Scripts ..................................................................................................................................22
Variveis de Environment .............................................................................................................22
Uso de Metacaracteres ..................................................................................................................23
Uso de Expresses Regulares .......................................................................................................23
Manipulando processos .................................................................................................................24
Configurando o terminal ...............................................................................................................25
Diretrios Principais do Sistema ...................................................................................................26
Atributos e Nomes de Arquivos ....................................................................................................26
Intercambiando Disquetes com o MS-DOS ..................................................................................27
O Kernel.........................................................................................................................................28
Redirecionamento da Entrada e da Sada; Pipes ...........................................................................29
Comunicao Serial e Paralela .....................................................................................................29
Configurao do TCP/IP ...............................................................................................................30
Servios TCP/IP ............................................................................................................................31

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

2/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Disparo do Xwindows e das suas aplicaes ................................................................................32
Procedimentos de boot e o init ......................................................................................................32
Referncias ....................................................................................................................................34
Materiais Complementares em:.....................................................................................................34
Exerccios.......................................................................................................................................35
EXERCCIOS 2.............................................................................................................................37
LISTA 1.....................................................................................................................................37
LISTA 2.....................................................................................................................................37
LISTA 3.....................................................................................................................................38
LISTA 4.....................................................................................................................................38
LISTA 5.....................................................................................................................................39
LISTA 6.....................................................................................................................................39
LISTA 7.....................................................................................................................................40

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

3/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

1. Sistema Operacional
O que um sistema operacional?
O Sistema Operacional o conjunto de programas que fazem a interface do usurio e seus
programas com o computador. Ele responsvel pelo gerenciamento de recursos e perifricos
(como memria, discos, arquivos, impressoras, CD-ROMs, etc.), interpretao de mensagens e a
execuo de programas.
No Linux o Kernel mais o conjunto de ferramentas GNU compem o Sistema Operacional. O
kernel (que a base principal de um sistema operacional), poder ser construdo de acordo com a
configurao do seu computador e dos perifricos que possui.
Fonte: http://focalinux.cipsga.org.br/guia/iniciante/ch-intro.htm#s-introducao-linux
Sistema operacional (como conhecido no Brasil) um conjunto de ferramentas necessrias para
que um computador possa ser utilizado de forma adequada.
Um SO, como tambm so conhecidos os Sistemas operacionais, faz o papel de intermedirio entre
o aplicativo e a camada fsica do hardware. Esta uma das formas de conceituar o termo sistema
operacional, como um conjunto que permite a abstrao do hardware.
Desta forma, se no houvessem sistemas desse tipo, todo software desenvolvido deveria saber se
comunicar com os dispositivos de hardware do computador de que precisasse.
Quando temos um sistema operacional, ele quem precisa saber lidar com os dispositivos, sabendo
falar com a placa de som, com a internet, com os disquetes, etc. Assim, um software que seja feito
para funcionar neste sistema no precisar de informaes especficas do equipamento. Ao invs
disso, ele chamar funes do kernel e o sistema operacional que far a comunicao, repassando
os resultados. Cada sistema operacional pode ter uma maneira prpria e distinta de comunicar-se
com o hardware, razo pela qual comum que softwares feitos para um sistema operacional no
funcionem em outro, principalmente no caso de linguagens compiladas.
Uma outra forma de conceituar sistema operacional como um gerenciador de recursos. funo
do SO identificar que dispositivos esto ociosos e ocupados, como por exemplo dividir o tempo de
uso da CPU entre os vrios processos, alocar e gerenciar o uso de memria principal e secundria.
A definio do que constitui um sistema operacional bastante controversa. Acadmicos como
Andrew Tanenbaum consideram que s a parte do sistema que roda sobre modo kernel constituem o
sistema operacional e os demais softwares bsicos so ferramentas de sistema. Outros no entanto
consideram os sistemas operacionais como o conjunto de kernel e ferramentas de sistema.
No incio da computao os primeiros "sistemas operacionais" eram nicos, pois cada mainframe
vendido necessitava de um sistema operacional especfico. Esse problema era resultado de
arquiteturas diferentes e da linguagem utilizada no caso, assembly (linguagem de baixo nvel). Aps
essa fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a troca de tarefas
(jobs), pois os sistemas eram mono-usurio e tinham cartes perfurados como entrada (eliminando,
assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartes perfurados). Um
dos primeiros sistemas operacionais foi o CTSS, desenvolvido no MIT. Outro, que na poca
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

4/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
revolucionou o conceito de sistema operacional foi o Multics, desenvolvido nos laboratrios da
AT&T. Os sistemas operacionais eram geralmente programandos em assembly, at mesmo o UNIX
em seu incio. Aps poucas verses, o UNIX comeou a ser desenvolvido atravs de uma nova
linguagem (a linguagem C) e teve em seus prncipios muitas inovaes do Multics. O UNIX criou
um ecosistema de verses e inovaes, entre estes, destacam-se: System V e derivados - famlia
BSD (FreeBSD, NetBSD, OpenBSD,

Figura 1. Smbolos dos sistemas operacionais Windows, McOS, GNU/Linux

Na dcada de 1970, quando comearam a aparecer os computadores pessoais, houve a necessidade


de um sistema operacional de utilizao mais fcil. Em 1980, William (Bill) Gates e seu colega de
faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty
Operating System") de Tim Paterson por $50.000, batizam-no de DOS (Disk Operating System) e
vendem licenas IBM. O DOS vendeu muitas cpias, como o sistema operacional padro para os
computadores pessoais desenvolvidos pela IBM. No comeo da dcada de 1990, um estudante de
computao finlands postou um comentrio numa lista de discusso da Usenet dizendo que estava
desenvolvendo um kernel de sistema operacional e perguntou se algum gostaria de auxili-lo na
tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direo ao to conhecido
Linux foi dado naquele momento.Um sistema operacional, um conjunto de rotinas executado pelo
processador. Sem o SO, um usurio para interagir com o computador deveria conhecer
profundamente diversos detalhes sobre o hardware do equipamento, o que tornaria seu trabalho
lento e com grandes possibilidades de erros. O objetivo de um SO funcionar como uma interface
entre o usurio e o computador, tornando sua utilizao mais rpida e segura.
Fonte: http://pt.wikipedia.org/wiki/Sistema_operacional

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

5/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

2. O que Linux?
O Linux um sistema operacional criado
em 1991 por Linus Torvalds na
universidade de Helsinki na Finlndia.
um sistema Operacional de cdigo aberto
distribudo gratuitamente pela Internet. Seu
cdigo fonte liberado como Free
Software (software livre) o aviso de
copyright do kernel feito por Linus
descreve detalhadamente isto e mesmo ele
no pode fechar o sistema para que seja
usado apenas comercialmente.
Isto quer dizer que voc no precisa pagar
nada para usar o Linux, e no crime fazer
cpias
para
instalar
em
outros
computadores, ns inclusive incentivamos
voc a fazer isto. Ser um sistema de cdigo
aberto pode explicar a performance,
estabilidade e velocidade em que novos
recursos so adicionados ao sistema.
Figura 2. Tux Mascote do Linux

Para executar o Linux voc precisa, no mnimo, de um computador 386 SX com 2 MB de memria
(para um kernel at a srie 2.2.x) ou 4MB (para kernels 2.4 e superiores) e 40MB disponveis em
seu disco rgido para uma instalao bsica e funcional.
O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim,
aprendendo o Linux voc no encontrar muita dificuldade em operar um sistema do tipo UNIX,
FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada
sistema.
O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para
aprendizado), corrija alguma problema ou faa alguma sugesto sobre sua melhoria, esse um dos
motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas
placas sendo suportadas logo aps seu lanamento) e de sua estabilidade.
Outro ponto em que ele se destaca o suporte que oferece a placas, CDRoms e outros tipos de
dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo
completamente suportados pelo sistema operacional). Este um ponto forte para empresas que
desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com
as mquinas que possui.
Hoje o Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo
sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha
em seu desenvolvimento e tambm ajuda na coordenao entre os desenvolvedores.
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

6/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
O suporte ao sistema tambm se destaca como sendo o mais eficiente e rpido do que qualquer
programa comercial disponvel no mercado. Existem centenas de consultores especializados
espalhados ao redor do mundo. Voc pode se inscrever em uma lista de discusso e relatar sua
dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir
te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.
Fonte: http://focalinux.cipsga.org.br/guia/iniciante/ch-intro.htm#s-introducao-linux

O que Software Livre?


Um software considerado como livre quando atende aos quatro tipos de liberdade para os usurios
do software definidas pela Free Software Foundation:
A liberdade para executar o programa, para qualquer propsito (liberdade n 0);
A liberdade de estudar como o programa funciona, e adapt-lo para as suas necessidades
(liberdade n 1). Acesso ao cdigo-fonte um pr-requisito para esta liberdade;
A liberdade de redistribuir cpias de modo que voc possa ajudar ao seu prximo (liberdade n 2);
A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos, de modo que toda a
comunidade se beneficie (liberdade n 3). Acesso ao cdigo-fonte um pr-requisito para esta
liberdade;

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

7/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Figura 3 GNU smbolo do software livre Fonte: http://commons.wikimedia.org/wiki/Image:Gnu_meditate_levitate.jpg

A liberdade de executar o programa significa a liberdade para qualquer tipo de pessoa fsica ou
jurdica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de
trabalho ou atividade, sem que seja necessrio atender a alguma restrio imposta pelo fornecedor.
A liberdade de redistribuir deve incluir a possibilidade de se repassar os cdigos-fonte bem como,
quando possvel, os arquivos binrios gerados da compilao desses cdigos, seja em sua verso
original ou modificada. No necessria a autorizao do autor ou do distribuidor do software para
que ele possa ser redistribuido, j que as licenas de software livre assim o permitem.
Para que seja possvel estudar ou modificar o software (para uso particular ou para distribuir)
necessrio ter acesso ao cdigo-fonte. Por isso a disponibilidade desses arquivos pr-requisito
para a liberdade do software. Cada licena determina como ser feito o fornecimento do fonte para
distribuies tpicas, como o caso de distribuies em mdia porttil somente com os cdigos
binrios j finalizados (sem o fonte). No caso da licena GPL, o fonte deve ser disponibilizado em
local de onde possa ser acessado, ou deve ser entregue ao usurio, se solicitado, sem custos
adicionais (exceto transporte e mdia). Para que essas liberdades sejam reais, elas devem ser
irrevogveis. Caso o desenvolvedor do software tenha o poder de revogar a licena, o software no
livre.
Tais liberdades no fazem referncia aos custos envolvidos. possvel que um software-livre no
seja gratuito. Quando gratuito, empresas podem explor-lo comercialmente atravs do servio
envolvido (principalmente suporte). A maioria dos softwares livres licenciada atravs de uma
licena de software livre, como a GNU GPL, a mais conhecida.

Sistemas Operacionais
Criam uma interface para acesso ao hardware.
Controle de recursos.
Acesso a dispositivos
Alocao/liberao de memria
Gerenciamento de processos (O que so processos?).
Gerenciamento de usurios.
Gerenciamento de permisses (usurios, arquivos).
Programas acessrios

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

8/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Arquitetura Geral

Figura 4 Organizao em camadas do Sistema Unix. Fonte:http://www.inf.ufpr.br/danielw/grad/ci048/20081/02-GNULinux.html

Ambiente Grfico
Sistema de janelas e aplicativos grficos
GNOME, KDE, ICEWM, XFCE ...
Mltiplos Desktops
Principais aplicativos
Nautilus
Navegador (Firefox, Galeon, Epiphany, Opera ...)
OpenOffice
GIMP
Gaim, Skype, Amsn
Gedit

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

9/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Shell

Terminal Grfico
Responsvel pela interao entre usurio e sistema operacional;
Interface com usurio textual;
Principais tarefas:
Exame da linha de comando;
Programa ou Comando X Atribuio de valores:
Substituio de metacaracteres;
Passar a linha de comando para o kernel para que este efetivamente
providencie a execuo do programa (Processos).

Comandos em Unix
Programa = comando;
Estrutura geral:
<nome>

<opcoes>

<argumentos>

Exemplos:
ls -l /usr/lib
date
grep -i Lili carta.txt

Opes podem ter seus prprios argumentos;


Interpretao dos argumentos feita pelo programa;

Comandos Bsicos
ls - mostra relao dos arquivos em um diretrio;
more, less - mostra contedo de um arquivo, com pausa;
man - mostra texto de ajuda sobre diversos comandos do sistema;
cd - muda o diretrio corrente;
passwd - muda a senha de acesso ao sistema.
who - mostra os usurios utilizando a mesma servidora que voc.
id - mostra informaes sobre o seu User ID e os grupos aos quais pertence.
chmod - modifica as permisses de um arquivo
mkdir - cria diretrios.
rm - apaga arquivos.
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

10/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
cp - copia arquivos.
mv - move arquivos.
file - mostra o tipo de dados contidos em um arquivo.

Manipulao de Arquivos e diretrios


Arquivos e rvores de Diretrios
Arquivos: notao, nomes (nomes com espaos, caracteres acentuados, arquivos
ocultos, etc.)
Caminhos absolutos e relativos
Notao: , ,
e $HOME
rvore de diretrios Linux (/usr, /bin, /etc, /home, ...)
Diretrios

Usurios e Segurana em Arquivos


Usurios em um sistema UNIX possuem uma identificao numrica nica denominada UID
(User IDentification) e um nome simblico nico conhecido como Login ou Username.
Tambm so definidos em um sistema UNIX os chamados grupos. Cada grupo representa um
conjunto de usurios que por alguma razo possuem uma funo ou atividades em comum
(por exemplo, usurios que so alunos de graduao, usurios que so os professores, etc.).
Cada grupo em um sistema UNIX possui tambm uma identificao numrica nica
denominada GID (Group IDentification) e um nome simblico nico conhecido como Group
name ou simplesmente Grupo.
Estes conceitos so importantes para entender como um sistema UNIX controla a forma com
que arquivos podem ser acessados e o que se pode se fazer com eles uma vez acessados. Voc
pode, por exemplo, desejar que o contedo de um determinado arquivo possa ser alterado
apenas por voc que o criou. Por outro lado voc pode fazer com que um outro arquivo tenha
seu contedo lido por qualquer usurio no sistema.
O comando id pode ser usado para se determinar a identificao completa de um usurio: seu
UID e GID.

Permisses de acesso
Quando um arquivo qualquer criado em UNIX, ele dito ter um Proprietrio e um Grupo.
O Proprietrio do arquivo corresponde ao Login do usurio que criou o arquivo. O Grupo
do arquivo corresponde ao Grupo ao qual pertence o usurio que o criou. Por exemplo, se o
usurio ci066, registrado como sendo do grupo especial cria um arquivo, dizemos que este
pertence ao Proprietrio ci066 e ao Grupo especial.
O acesso a arquivos UNIX definido atravs de 3 conjuntos de permisses: um conjunto para
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

11/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Proprietrio do arquivo, um conjunto para Grupo do arquivo e um conjunto para Outros
usurios.
Cada conjunto pode assumir as permisses de Leitura (representada pela letra r), Escrita
(representada pela letra w) e Execuo ou Navegao (representada pela letra x).
Em se tratando de um arquivo regular, a permisso de Leitura significa que se pode ler o
contedo do arquivo, a permisso de Escrita significa que se pode alterar (editar) o contedo
do arquivo, e a permisso de Execuo significa que este arquivo contm um programa ou um
script shell, podendo ser executado como um comando.
Em se tratando de um diretrio, a permisso de Leitura significa que se pode ler o contedo
do diretrio (por exemplo com ls), a permisso de Escrita significa que se pode criar ou
remover arquivos do diretrio, e a permisso de Execuo significa que este diretrio
navegvel, isto , pode-se navegar para ele ou atravs dele com comandos como cd.
NOTA:
Em UNIX, TUDO CONSIDERADO UM ARQUIVO. Existem assim diferentes tipos de
arquivos: regulares, diretrios, links simblicos, arquivos associados a recursos de hardware
(tais como disco, interface de rede, teclado e terminal, etc.). Assim, a permisso de Escrita em
um diretrio significa alterar o arquivo que representa um diretrio, o que significa
efetivamente criar e remover arquivos.
As permisses de acesso podem ser definidas a qualquer hora por chmod e podem ser
visualizadas atravs do comando ls usando-se a opo -l. Seja, por exemplo:
ci066@dupond
-rw-r--r-- 1
ci066@dupond
-rw-r-x--- 1
ci066@dupond
drwxr-xr-- 1

$ ls -l teste.c
ci066 especial 2331 Mai 30 11:36 teste.c
$ ls -l a.out
ci066 especial 2331 Mai 30 11:36 a.out
$ ls -ld LabNum2
ci066 especial 2331 Mai 30 11:36 LabNum2

No exemplo acima, o arquivo teste.c possui permisso de Leitura e Escrita para o


Proprietrio do arquivo (usurio ci066), apenas permisso de Leitura para usurios do Grupo
do arquivo (grupo especial), e apenas permisso de Leitura para Outros usurios.
Ainda no exemplo acima, o arquivo a.out possui permisso de Leitura e Execuo para
Proprietrio e Grupo, Escrita apenas para Proprietrio, e NENHUMA permisso para Outros
usurios. Assim, a.out pode ser executado como um comando apenas pelo usurio ci066 e
por usurios do grupo especial.
Finalmente, todos os usurios tem permisso para listar o contedo do diretrio LabNum2.
Por outro lado, apenas o usurio ci066 e os usurios do grupo especial tem permisso para
navegar para ou atravs deste diretrio. Somente o usurio ci066 tem permisso para criar
arquivos dentro do diretrio.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

12/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Alterando as permisses de um arquivo: chmod


Para alterar as permisses com chmod pode ser usado um Modo (notao octal) ou notao
simblica ([augo][+-=][rwx]) para especificar a mudana de permisses:
chmod u=rwx,g=rx,o=r teste.c
chmod ug=rw,o=r teste.c
chmod u+r,go+r,go-wx teste.c

3. Comandos bsicos do VI. Editor de terminal SSH


Em uma distribuio linux/unix, uma tima opo de editor de texto o vi. O vi um editor de
texto, que aparentemente muito simples, porm oferece timos recursos. Abaixo encontra-se uma
lista contendo alguns comandos bsicos do vi.
Para iniciar o vi, basta digitar no terminal: vi
Para abrir ou criar um arquivo, basta digitar no terminal: vi
Comandos:
Observacao:
Para passar para o modo comando pressione ESC.
Comandos basicos de insercao de texto:
i Insere texto antes do cursor
a Insere texto depois do cursor
r Insere texto no incio da linha onde se encontra o cursor
A Insere texto no final da linha onde se encontra o cursor
o Adiciona linha abaixo da linha atual
O Adiciona linha acima da linha atual
Ctrl + h Apaga o ultimo caracter
Comandos basicos de movimentacao:
Ctrl+f Move o cursor para a proxima tela
Ctrl+b Move o cursor para a tela anterior
H Move o cursor para a primeira linha da tela
M Move o cursor para o meio da tela
L Move o cursor para a ultima linha da tela
h Move o cursor um caracter a esquerda
j Move o cursor para a proxima linha
k Move o cursor para linha anterior
l Move o cursor um caracter a direita
w Move o cursor para o inicio da proxima palavra (Ignora a pontuacao)
W Move o cursor para o inicio da proxima palavra (Nao ignora a pontuacao)
b Move o cursor para o inicio da palavra anterior (Ignora a pontuacao)
B Move o cursor para o inicio da palavra anterior (Nao ignora a pontuacao
0 Move o cursor para o inicio da linha atual
^ Move o cursor para o primeiro caracter nao branco da linha atual
$ Move o cursor para o final da linha atual
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

13/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
nG Move o cursor para a linha n
G Move o cursor para a ultima linha do arquivo
Comandos basicos para localizar texto:
/palavra Busca pela palavra ou caracter em todo o texto
?palavra Move o cursor para a ocorrencia anterior da palavra
n Repete o ultimo comando / ou ?
N Repete o ultimo comando / ou ? , na direcao reversa
Ctrl+g Mostra o nome do arquivo, o numero da linha corrente e o total de linhas
Comandos basicos para alteracao de texto:
x Deleta o caracter que esta sob o cursor
dw Deleta a palavra, da posicao atual do cursor ate o final
dd Deleta a linha atual
D Deleta a linha a partir da posicao atual do cursor ate o final
rx Substitui o caracter sob o cursor pelo especificado em x( opcional indicar o caracter)
Rx Substitui a palavra sob o cursor pela palavra indicada em x
u Desfaz a ultima modificacao
U Desfaz todas as modificacoes feitas na linha atual
J Une a linha corrente a proxima
s:/palavra1/palavra2 Substitui a primeira ocorrencia de palavra1 por palavra2
:wq Salva o arquivo e sai do editor
:e! Atualiza o arquivo aberto
:w nome_do_arquivo Salva o arquivo corrente com o nome especificado
:w! nome_do_arquivo Salva o arquivo corrente no arquivo especificado
:q Sai do editor
:q! Sai do editor sem salvar as alteracoes realizadas
fonte: http://www.primeirospassos.org/sessao3_4.html
RESUMO BSICO:
Editando um arquivo no Vi:
vi FILENAME
Escolhendo um dos modos do Vi:
normal mode: <ESC>
edit mode: i or a
Sando do Vi (volte para normal mode <ESC>):
Exit Vi: :q
Exit Vi (ignore changes): :q!
Save: :w
Save and Exit: :wq
Precisa de mais ajuda?
:help topic

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

14/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

4. Distribuies Linux
O que uma distribuio? O que uma distro Linux
Distribuio um sistema operacional Unix-like incluindo o kernel Linux e outros softwares de
aplicao, formando um conjunto. Distribuies (ou distros) mantidas por organizaes
comerciais, como a Red Hat, Ubuntu, SUSE e Mandriva, bem como projetos comunitrios como
Debian e Gentoo montam e testam seus conjuntos de software antes de disponibiliz-los ao pblico.
Como o Linux e a maior parte dos softwares includos em distribuies so livres, qualquer
organizao ou indivduo suficientemente motivado podem criar e disponibilizar (comercialmente
ou no) a sua prpria distribuio. Isso faz com que hoje haja registro de mais de 300 distribuies
ativamente mantidas, embora menos de 20 delas sejam largamente conhecidas.
Algumas distribuies populares oferecem (como opo ou como seu nico modo de operao) a
possibilidade de execuo em modo Live CD, que permite o uso integral do Linux sem instalao
ou alterao dos dados armazenados no disco rgido do computador: o sistema roda integralmente a
partir de um CD-ROM desde o momento em que o computador ligado. Exemplos de Live CDs
bastante conhecidos so o alemo Knoppix e o brasileiro Kurumin.

Como escolher uma distribuio


Voc pode obter o Linux de diversas origens. Nunca opte por uma verso antiga comum
encontrar usurios novos com dificuldades tpicas de 2 anos atrs (O Linux no reconhece meu
hardware, No consigo discar para a Internet) justamente porque instalaram uma verso de 2
anos atrs, que estava guardada num armrio.
O Linux evolui muito rapidamente, e os principais distribuidores tendem a lanar verses novas a
cada 3 ou 4 meses, ou pelo menos semestralmente. Como em geral voc pode obter o software
gratuitamente ou a custo baixssimo, no faz sentido optar pela verso antiga espere mais alguns
dias, e instale a mais recente.
Outro erro a ser evitado optar por uma mini-distribuio, para ver como esse tal Linux. De
fato, existem mini-distribuies de boa qualidade, que podem ser instaladas na mesma partio que
o Windows, e cujo download pode ser bem menor do que uma distribuio completa. Mas em geral
o que voc pode fazer com ela limitado, e o suporte que voc encontra na comunidade usuria
mais restrito, porque so raros os usurios experientes (portanto aptos a responder perguntas) que
utilizam esse tipo de sistema.
No vou indicar uma distribuio para voc todas tm vantagens e desvantagens. Cada caso um
caso, e eu opto entre elas de acordo com a necessidade do momento. Para saber as caractersticas de
cada uma, voc pode pesquisar nos artigos do BR-Linux, ou consultar os sites de cada uma delas.
Segue uma lista parcial de distribuies de Linux para facilitar sua escolha:

Conectiva (brao brasileiro da Mandriva)


Kurumin (brasileira)
Debian BR CDD (brasileira)
Debian
Fedora
Gentoo

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

15/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Knoppix
Mandriva
Red Hat
Slackware
SUSE
Ubuntu
Yellow Dog Linux (para Mac)

Em geral, voc pode encontrar grupos de usurios brasileiros de cada uma destas distribuies de
Linux digitando no Google o nome dela, seguido pela palavra Brasil, como no exemplo: Ubuntu
Brasil. Para saber mais detalhes sobre distribuies populares, visite o Distrowatch.
No possvel responder de forma ampla qual a melhor distribuio de Linux a melhor sempre
ser a que atender mais perfeitamente s suas necessidades. A resposta depende do que voc
pretende fazer com o sistema, da sua capacidade e interesse de administrar o sistema, e at mesmo
de sua atitude em relao a algumas questes polticas e filosficas.
A maior parte das distribuies de Linux consegue disponibilizar o mesmo conjunto de servios,
embora s vezes de maneiras bem diferentes. Algumas j vm com todos os aplicativos e servios
includos nos CDs de instalao, outras exigem downloads e instalaes adicionais. Algumas se
distinguem por uma nfase em aspectos especficos do sistema, como a facilidade de configurao,
a quantidade de aplicativos, a segurana, a personalizao e vrios outros.
No site LWN.net voc pode encontrar uma lista atualizada e dividida em categorias das
distribuies de Linux, das mais conhecidas s mais obscuras. J no LinuxISO.org voc encontra
links para download de imagens de CD da maior parte delas. E j que so tantas as opes, como
escolher uma? O primeiro passo saber o que recomendam as pessoas a quem voc pretende pedir
ajuda na hora das dificuldades. Sejam os colegas, ou um grupo de usurios, ou at mesmo um
website ou revista, tente descobrir o que eles usam se a distribuio indicada satisfizer os seus
requisitos, poder contar com o suporte deles pode ser interessante.
Em seguida, faa uma lista de perguntas sobre os diversos aspectos que podem ser do seu interesse
na hora de selecionar uma distribuio. claro que eles variam de acordo com seu objetivo:
selecionar uma distribuio para ver qual a cara desse tal de Linux no seu micro pessoal bem
diferente do que escolher onde rodar o banco de dados do CRM de uma empresa com 1000
funcionrios. Algumas perguntas que voc deve tentar responder com a ajuda dos websites das
distribuies, das revistas especializadas, da comunidade Linux e (por que no?) com uma
mozinha do Google so:

Esta distribuio suporta todo o meu hardware?


Ela inclui os pacotes de software de que necessito?
O processo de instalao e configurao est de acordo com minhas aptides?
Ela tem documentao e treinamento em um idioma que eu entendo?
O suporte prestado (gratuito ou pago) atende minhas necessidades?
H uma comunidade de usurios da qual eu possa participar?
Ela lana atualizaes de segurana quando necessrio?
Ela continuar sendo atualizada?
Ela livre? grtis? O preo aceitvel?

Sob um conjunto de critrios objetivos, todas as distribuies podem competir em p de igualdade,


Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

16/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
e voc pode selecionar a que pontuar melhor nos critrios que fizerem mais sentido para a sua
situao especfica. Procure as informaes, conte os pontos e faa sua escolha!

Download ou aquisio de uma distribuio de Linux


Embora provavelmente a forma mais fcil de obter o Linux seja atravs dos CDs distribudos como
brinde em diversas revistas nacionais (escolha sempre uma verso recente!), o jeito mais fcil de
obter sua cpia sem desembolsar nada a mais atravs do download de imagens ISO, que so
arquivos (geralmente por volta de 650MB cada um) trazendo o contedo completo de um CDROM, prontos para serem gravados em um CD, permitindo assim que voc obtenha cpias idnticas
de um CD original. Verifique na ajuda do seu programa favorito de gravao de CDs como fazer
para gravar a partir de uma imagem ISO quase todos os programas populares dispem deste
recurso, e a operao em geral simples.
Algumas distribuies (como o Knoppix e o brasileiro Kurumin) so especialmente
disponibilizadas na forma de Live CDs, capazes de rodar diretamente do CD e dispensando
instalao no disco de seu computador uma boa forma de ter seu primeiro contato.
Como o Linux um software livre, a maior parte dos produtores disponibiliza imagens ISO
contendo exatamente o mesmo contedo dos CDs vendidos em lojas ou na Internet, e voc pode
fazer o que quiser com elas at mesmo gravar em CDs para revend-las (e se voc quiser comprar
CDs deste tipo, lojas virtuais brasileiras como a Tempo Real e a LinuxMall esto disposio).
Quando se trata de Linux, este tipo de cpia e revenda no irregular nem anti-tico, pois da
essncia do software livre.
Voc pode procurar suas imagens ISO no site de sua distribuio preferida s vezes ser
necessrio fazer o download de mais do que uma imagem, e em outros casos o download da
primeira imagem obrigatrio, e o das outras opcional. Raras so as distribuies que no
disponibilizam imagens ISO de instalao.
Se preferir, procure no site linuxiso.org, cuja especialidade apontar links para imagens ISO dos
CDs das distribuies de Linux do mundo todo.
Como se trata de um download grande (uma distribuio em 3 CDs corresponde a quase 2GB de
dados), certifique-se de ter espao suficiente no seu HD, e utilize um bom gerenciador de download.
Veja tambm o artigo Escolhendo, obtendo e gravando o Linux: como fazer o download ou
comprar.

Live CDs: Linux sem instalao


Algumas distribuies so especialmente disponibilizadas na forma de Live CDs, capazes de rodar
diretamente do CD e dispensando instalao no disco de seu computador uma boa forma de ter
seu primeiro contato. fcil encontr-los encartados em revistas de informtica nas bancas de
jornal, mas voc tambm pode fazer o download e gravar seu prprio CD. Depois, basta certificarse de que seu micro aceita inicializar pelo drive de CD (a maior parte dos micros produzidos nos
ltimos 5 anos aceita, mas s vezes necessrio alterar uma opo na BIOS se tiver dvida,
consulte aquele seu primo tcnico!), inserir o CD no drive e ligar o computador.
Veja abaixo alguns exemplos de Live CDs. H muitos outros, e no difcil encontr-los.
Kurumin (brasileira)
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

17/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Litrix (brasileira)
Knoppix
Mandriva (possui verso Live)
Ubuntu (possui verso live)

Porque usar a Debian?


A Debian a distribuio que mais cresce no mundo, cada verso somente lanada aps
rigorosos testes de segurana e correo de falhas fazendo desta a mais segura e confivel dentre
todas as outras distribuies Linux. reconhecida como a mais segura, maior e atualizada mais
freqentemente entre as outras distribuies Linux, alm de ser a nica sem fins comerciais.
a nica que adota o estilo de desenvolvimento aberto e no mantida por uma empresa comercial
(note que o endereo do WebSite da Debian termina com .org), ao invs disso mantida por
programadores, hackers e especialistas de segurana espalhados ao redor do mundo, seguindo o
estilo de desenvolvimento do Linux. Possui suporte a mais de 10 arquiteturas e 15 sub-arquiteturas
(entre elas, Intel x86, Alpha, VMS, Sparc, Macintosh (m68k), Power Pc, ARM, etc).
Suas atualizaes so constantes e no necessrio adquirir um novo CD para fazer upgrades. Meu
sistema atualizado semanalmente e de forma segura atravs de 2 simples comandos. Veja apt,
Seo 20.2 as instrues de como fazer isto.
Cada pacote da distribuio mantida por uma pessoa, o que garante uma boa qualidade,
implementaes de novos recursos e rpida correo de falhas. Qualquer pessoa com bons
conhecimentos no sistema e ingls pode se tornar um Debian Developer, para detalhes consulte a
lista de discusso debian-user-portuguese (veja Listas de discusso, Seo 31.12.2) ou veja a pgina
oficial da Debian: http://www.debian.org/.
A distribuio apresenta compatibilidade com outros sistemas a partir da instalao at a seleo de
programas e execuo do sistema, sua instalao est at mesmo disponvel desde computadores
386 que utilizam unidades de disquetes de 5 1/4 polegadas at para computadores UDMA66 e com
CD-ROM inicializvel.
a distribuio mais indicada para uso em servidores devido ao seu desempenho, segurana e
programas teis de gerenciamento e monitorao da rede, recomendados por especialistas que
participam de seu desenvolvimento.
No existem verses separadas da Debian para servidores, uso pessoal, etc, ao invs disso a
distribuio usa perfis de usurio (dependendo da funo do usurio) e perfis de computador
(dependendo do que deseja fazer), podendo ser selecionado mais de um perfil de
usurio/computador.
Os perfis selecionam automaticamente os pacotes mais teis para a instalao. Os pacotes existentes
em cada perfil foram escolhidos atravs de debates entre usurios que trabalham ativamente naquela
rea, resultando em uma seleo de pacotes de alta produtividade.
Para os usurios avanados e exigentes, tambm possvel selecionar os pacotes individualmente
via dselect, o que resultar em uma instalao somente com pacotes teis e melhor configurada.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

18/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

5. Unix: Conceitos e Comandos Bsicos


Ligando e Desligando a Mquina
Salvo orientao especfica do hardware em uso, ligar uma mquina Unix no costuma envolver
maiores detalhes do que o acionamento de um boto liga/desliga no console da mquina e uma
eventual interveno humana logo em seguida, solicitando o boot efetivo do sistema a partir de um
menu de opes.
O boot costuma gerar uma razovel quantidade de mensagens que aparecem no console da
mquina. Normalmente elas referem-se aos diferentes estgios do reconhecimento e inicializao do
hardware. interessante conhec-las, no obstante, salvo contingncias, podem ser ignoradas at
que surja o prompt ou a janela de login.
O desligamento um processo mais delicado. O Unix utiliza parte da memria principal como
cache de disco, a fim de acelerar as operaes de leitura e gravao de arquivos. Antes de se
desligar a mquina, necessrio assegurar que os discos estejam sincronizados com o cache, o que
feito pelo comando sync, que deve ser precedido do encerramento de todos os processos, a fim de
que no ocorra uma dessincronizao em seguida. Todos esses passos so tomados pelo comando
shutdown:
$ shutdown -y -g 1 -i 5
$ shutdown -h now

(Solaris)
(Linux)

Em sistemas baseados em PC, o shutdown por vezes acionvel atravs do ctrl-alt-del.

Manipulando arquivos e diretrios


O shell o programa que l e executa os comandos que voc passa a digitar logo aps logar no
sistema, como cd ou ls. Via de regra voc estar usando o Bourne shell (sh), ou o C shell (csh), ou
aperfeioamentos desses, como o Korn shell (ksh) ou o Bourne again shell (bash). Via de regra
voc poder descobrir qual deles est usando ao executar um ps ou um finger com o seu username
com argumento.
Obsoleta ou no, a interface de linha de comandos possui caractersticas ainda no suficientemente
reproduzidas nas interfaces grficas, como a possibilidade de uso remoto com baixa banda, e a
programabilidade. No caso do Unix, h ainda a vantagem dela estar melhor estandardizada que as
interfaces grficas. Em boa parte dessas notas estaremos nos referindo interface de linha de
comandos, mas abordaremos tambm a interface grfica ao final. Vejamos alguns tpicos comandos
dos sistemas Unix-like:

cat [-r] arquivo1 arquivo2 ...

Concatena os vrios arquivos, na ordem especificada, copiando o resultado para a sada


padro. Se no houver argumentos, copia a entrada padro para a sada padro.

cd diretrio

Troca o diretrio corrente para o diretrio especificado, ou para o diretrio home, se no


houver argumento.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

19/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

cp [-r] argumento1 argumento2 ...

Copia um ou mais arquivos, trocando seu nome ou criando a cpia num outro diretrio,
conforme a quantidade e o tipo dos argumentos. Se o primeiro argumento for um diretrio,
faz uma cpia recursiva de toda a subrvore iniciada nele, desde que a opo -r (recursive)
tiver sido especificada.

chmod nnn argumento1 argumento2 ...

Troca os atributos do(s) argumento(s) para nnn (veja atributos de arquivos). Ao invs de
nnn, a alterao pode ser especificada por exemplo como a+r ou g-w (a, g e o significam
all, group e owner; + significa adicionar e - remover; r,w, x e s indicam respectivamente
atributos de leitura, escrita, execuo e setuid).

ls [-la] diretrio1 diretrio2 ...

Lista o contedo do(s) diretrio(s) especificado(s), ou do diretrio corrente se no houver


argumento. Opes principais:
-a Inclui arquivos com nome iniciado por ``.'' (tais arquivos normalmente armazenam
configuraes de aplicativos).
-l Formato longo (veja atributos de arquivos).

ln -s argumento1 argumento2

Cria um link simblico cujo nome o primeiro argumento, apontando para o segundo
argumento. A opo -s no pode ser omitida, ou o link criado ser um hard link, ao invs de
simblico.

man [-k] nome

Invoca a man-page associada ao nome, ou exibe uma lista das man pages associadas ao
nome, no caso da opo -k (de key) ter sido especificada.
As man pages Unix so referncias tcnicas sumrias por vezes difceis de compreender.
Elas so exibidas atravs do more ou de algum outro paginador semelhante, por isso os
comandos do more indicados mais adiante valem para a leitura de man pages, e so teis
para ajudar a localizar informaes dentro de uma man page.
As man pages so divididas em sees, que tradicionalmente so referidas atravs de
parnteses. Por exemplo, a man page shutdown(2) a man page do system call chamado
shutdown, ao passo que a man page shutdown(8) a man page do comando administrativo
shutdown. Alm dessas, a seo 1 contm manuais de comandos comuns, a 3 contm
manuais de servios de bibliotecas, a 4 descreve device special files, a 5 descreve formatos
de arquivos de configurao, a 6 os jogos eventualmente instalados, e a 7 contm tudo o
mais que no couber nas anteriores.

mkdir diretrio1 diretrio2 ...

Cria os diretrio(s) especificado(s).

more arquivo

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

20/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Exibe de forma paginada o arquivo especificado, ou a entrada padro no caso de no haver
argumento. Aceita vrios comandos, entre eles
ESPAO, C-b
Avana/recua uma pgina.
/
Busca.
?
Exibe relao de comandos.

mv argumento1 argumento2

Renomeia o primeiro argumento, que pode ser um arquivo ou um diretrio, para o nome
dado como segundo argumento. Se ao tentar executar esse comando a mensagem de erro
cannot move across filesystems for exibida, porque a origem e o destino esto em
filesystems diferentes. Nesse caso deve-se copiar a origem para o destino usando cp, e
depois remover a origem com rm.

rm [-r] argumento1 argumento2 ...

Remove os arquivo(s) especificado(s). Se um argumento for um diretrio, remove toda a


subrvore iniciada nele, desde que a opo -r (recursive) tenha sido especificada. Via de
regra no h modo em sistemas Unix-like de recuperar (undelete) um arquivo removido.

rmdir diretrio1 diretrio2 ...

Remove os diretrio(s) especificado(s), desde que estejam vazios.

vi arquivo

O vi uma ferramenta obsoleta, mas est est presente em virtualmente qualquerr


plataforma Unix-like, e constitui por vezes a nica alternativa para edio de arquivos, por
isso convm conhec-lo ao menos de forma minimal. No uso quotidiano, entretanto,
normalmente preferir-se- outras ferramentas, como o emacs ou o pico ou outras.
h, j, k, l cursor para esquerda/baixo/cima/direita.
C-f,C-b Pgina seguinte/anterior.
x,X
Remove caracter atual/anterior.
[n]dd
Remove n linhas (default 1).
i,ESC
Entra/sai do modo insero.
a,A
Insere aps caracter atual/final da linha.
J
Concatena linha seguinte atual.
:
entra comando, entre eles w (salva), q (sair) e / (busca).

wc arquivo1 arquivo2 ...

Obtm o total de linhas, palavras e caracteres de cada um dos arquivos estipulados, ou da


entrada padro no caso de no haver argumentos.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

21/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Shell Scripts
Seqncias de comandos que se necessita repetir com grande frqncia podem ser colocados num
arquivo que, ao ser ``executado'', ocasiona o disparo de cada um dos comandos da seqncia, na
ordem indicada. Um arquivo desses um shell script, cujo equivalente no MS-DOS so os arquivos
``.BAT''.
Mesmo que nunca se escreva nenhum, com certa freqncia necessrio analisar shell scripts a fim
de elucidar o modo de uso de determinados comandos, ou de realizar diagnsticos. Suponhamos por
exemplo que voc no se lembre como usar um comando chamado xpatgen, mas esteja com um
shell num diretrio que contm scripts, que usam entre outros o xpatgen. Basta ento buscar
ocorrncias dele nos scripts:
$ grep xpatgen *
patgen: xpatgen -cal_bl

Com isso sabemos que o script patgen executa o xpatgen, e relembramos o modo de executar esse
comando, o que talvez j seja suficiente para a necessidade do momento.
Shell scripts utilizam com freqncia de variveis de environment e de parmetros de linha de
comando. Assim, se ao analisar um script voc se deparar com algo como $HOST, lembre-se de
que nesse ponto ser substitudo o valor da varivel HOST, e que $1 significa o primeiro
parmetro da linha de comandos, $2 o segundo, e assim por diante.

Variveis de Environment
Alm dos parmetros de linha de comandos como -l ou outros, pode-se tambm passar parmetros a
um programa atravs do uso de variveis de environment. As mais comuns so:
PATH - Lista os diretrios (separados por ``:'') onde os executveis sero procurados,
tipicamente /bin, /usr/bin e /usr/X11/bin, entre outros.
TERM - Tipo do terminal, por exemplo xterm ou vt100 (veja Configurando o Terminal).
DISPLAY - Display default para as aplicaes Xwindows.
Para exibir o valor de uma delas pode-se usar echo, antepondo o operador $ ao nome da varivel,
por exemplo:
$ echo $TERM

Existem dois estilos de atribuio de valores a variveis de environment, o do Bourne shell, usado
pelo sh, ksh e bash:
$ TERM=vt100; export TERM

e o do C shell, usado pelo csh e pelo tcsh:


% setenv TERM vt100

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

22/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Uso de Metacaracteres
O metacaracter mais utilizado provavelmente o ``*''. Por exemplo,
$ rm *

ir remover todos os arquivos do diretrio corrente. necessrio prestar ateno a dois detalhes
quando se usa metacaracteres:
1. O caracter ``.'' no tem o significado de separador entre nome e sufixo que possui no MSDOS, por isso ``*.*'' significa todos os arquivos em cujo nome ocorre ao menos um ponto.
2. A expanso do metacaracter feita pelo shell, e no pela aplicao, por isso o comando
$ mv *.txt *.bak

no ir surtir o efeito esperado de renomear todos os arquivos que terminam com ``.txt'' para
``.bak'' (para essa operao deve-se usar o comando for).
Os shells Unix aceitam tambm o metacaracter ``?'', que significa qualquer caracter e tambem
intervalos, como [0-9] (qualquer dgito decimal), entre outros.

Uso de Expresses Regulares


Aplicativos Unix via de regra aceitam expresses regulares como argumentos de busca. Os usos
mais freqentes delas so bem ilustrados atravs do aplicativo grep. Nos casos abaixo ele ser
utilizado para buscar uma dada expresso em todos os arquivos do diretrio corrente:
1. Busca de ocorrncias de algum dos anos da dcada de 80:
$ grep "198[0-9]" *

2. Busca de uma ocorrncia da palavra "yellow" seguida de uma ocorrncia da palavra "page",
separadas por zero ou mais caracteres quaisquer:
$ grep -i "yellow.*page" *

3. Busca de uma das palavras "roget" ou "thesaurus":


$ grep -i "roget\|thesaurus" *

A sintaxe das expresses regulares pode variar um pouco, dependendo da plataforma e da


ferramenta. Via de regra as diferenas consistem em proteger-se ou no alguns caracteres especiais,
e nas extenses que algumas ferramentas introduzem. Note por exemplo, o uso do egrep, em
comparao com o uso do grep acima:
$ egrep -i "roget|thesaurus" *

Via de regra todas as ferramentas Unix que lidam com texto, como o more, o sed, e o vi, entre
outros, aceitam expresses regulares como argumento de buscas.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

23/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Manipulando processos
Um processo um programa em execuo. Num computador que possui apenas uma cpu, na
verdade apenas um processo pode estar sendo executado em cada instante. O que se faz executar
um processo durante uma frao fixa de segundo, congel-lo e passar a executar um outro, e assim
por diante, criando a iluso de simultaneidade.
Atravs do comando ps pode-se examinar os processos correntes. Por exemplo:
$ ps
PID TTY STAT
45 v02 S
105 v02 R

TIME COMMAND
0:00 -bash
0:00 ps

O ps em geral omite muitos processos a fim de exibir uma sada limpa. Atravs das opes a e x (ou
e no Solaris), pode-se exibir todos os processos correntes. O nmero de um processo usado, por
exemplo quando necessrio interromper prematuramente a sua execuo, atravs do comando kill.
A finalidade primria do comando kill no matar um processo, mas enviar um sinal para ele. O
Unix possui diversos sinais predefinidos, como SIGHUP, SIGPIPE, SIGTERM, etc. O atendimento
a um sinal entretanto responsabilidade do processo, ou do programador que fez o programa, e por
isso a forma com que cada processo reagir a cada sinal poder variar. A fim de se interromper a
execuo de um processo, deve-se enviar para ele o sinal SIGKILL:
$ kill -SIGKILL 45
$ kill -9 45

As duas formas acima em geral so equivalentes (o nmero associado a cada sinal pode variar com
a plataforma).
O caracter ``&'' colocado ao final da linha de comandos instrui o shell para disparar o comando em
background, a fim de que se possa continuar usando o shell mesmo antes desse comando encerrar a
sua execuo.
O comando nice faz com que um processo seja disparado com baixa prioridade.
$ nice gzip -9 *

O comando nohup faz com que o processo sendo disparado se torne imune ao sinal SIGHUP. Em
combinao com o &, ele permite o disparo de programas que permanecero em execuo mesmo
aps o logout do usurio. Exemplos:
$ nohup gzip -9 * &

Atravs do comando at pode-se programar a execuo de um comando para um horrio


determinado. Por exemplo:
$ at now + 1 minute
ls
ctrl-d

O comando ls ser dessa forma executado daqui a um minuto. Note que na linha seguinte do
comando at o que se escreve na verdade um shell script, terminado com control-d. Ao invs de
digit-lo, poder-se-ia l-lo de um arquivo atravs do redirecionamento da entrada:
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

24/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
$ at now + 1 minute <meuscript

A execuo peridica de um comando se faz atravs do cron, que disparado no boot do sistema e
monitora as tabelas de execuo peridica de comandos de todos os usurios (a cada usurio
corresponde uma tabela). Uma tal tabela chamada crontab. Atravs dela pode-se especificar que
um comando seja executado a cada hora, ou diariamente, ou semanalmente, etc. A edio, inspeo
e remoo da crontab de um usurio feita atravs do comando crontab, e opes -e, -l e -d. Cada
linha da crontab indica um comando e a periodicidade com que ele deve ser executado (minutos,
horas, dias do ms, meses e dias da semana). Por exemplo:
$ crontab -l
40 07 * * * updatedb
0 22 5 * * pagamento
0 6,12,15,18 * * * fetch
0 0 * * 6 backup

No caso a crontab contm trs comandos. O updatedb dever ser executado todos os dias s 7:40.
O comando pagamento dever ser executado s 22:00 do dia 5 de cada ms, e o backup ser
executado zero hora de cada sbado.
Note que a crontab um arquivo texto simples, e quando se executa o comando crontab com a
opo -e, entra-se num editor de textos para edit-la. O editor de textos utilizado normalmente ser
o vi, ou aquele especificado na varivel de environment EDITOR.

Configurando o terminal
O terminal pode ser um terminal no sentido estrito do termo, conectado ao computador por uma
linha serial, ou ento o prprio console da mquina, ou uma aplicao como o xterm emulando um
terminal dentro do Xwindows,
A configurao do terminal necessria para executar aplicativos como editores de texto visuais, ou
para os comandos de teclado como backspace serem corretamente reconhecidos. Essa configurao
envolve a configurao do driver do sistema, feita atravs do comando stty e o informe da
aplicao, normalmente feito atravs da varivel TERM. Vejamos exemplos de situaes onde uma
delas ou ambas so necessrias, e como realiz-la:
1. Ao pressionar a tecla backspace, ao invs de ser apagado o caracter anterior, surge na tela os
caracteres ``^H''. Soluo:
$ stty erase ^H

2. Ao executar o more ou o vi, algumas linhas permanecem escondidas, ou o scroll comportase de forma errtica. Soluo: cheque quantas linhas (vamos supor: 24) e quantas colunas
(vamos supor: 80) o seu terminal/emulador possui e execute
$ stty rows 24 cols 80

3. Aps o uso de alguma aplicao, os caracteres aparecem trocados ou o eco deixou de


funcionar, ou quando pressiono enter o cursor permanece na mesma linha. Tentativa de
soluo:
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

25/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
$ stty sane

4. Ao tentar executar uma aplicao, a mensagem de erro terminal capability cm required, ou


Terminal type is not defined, ou Terminal type is not powerful enough, ou outra semelhante
foi exibida. Soluo: cheque o tipo de terminal que voc est usando ou emulando
(dificilmente ser algo diferente de xterm ou vt100) e atribua para a varivel de
environment TERM esse valor.

Diretrios Principais do Sistema


No Unix no h o conceito de nomes de drives, como C:, mas todos os paths partem de uma raiz
comum, o root directory ``/''. Quando a mquina possui vrios discos diferentes (ou ao menos vrias
parties diferentes de um mesmo disco), cada uma delas em geral corresponder a uma subrvore
do filesystem, como /usr, /var ou ainda nomes no standard como /disco2, que so chamados de
seus pontos de montagem. O comando mount executado sem parmetros listar os diferentes
dispositivos fsicos montados (discos locais e remotos e suas parties) e a subrvore
correspondente a cada um deles. A tabela que indica todas essas montagens o arquivo /etc/fstab.
Apesar de algumas pequenas diferenas de plataforma para plataforma, os diretrios principais do
sistema so:
/bin
Binrios bsicos, como sh e ls.
/sbin
Binrios bsicos de administrao do sistema.
/etc
Arquivos de configurao do sistema e scripts de boot.
/home Os diretrios dos usurios residem aqui.
/lib
Bibliotecas bsicas.
/proc
Estado corrente do sistema e dos processos.
/tmp
Arquivos temporrios.
/usr
Demais binrios e bibliotecas.
O termo bsico aplicado acima aos diretrios /bin e /lib quer significar principalmente essenciais
para o boot e operao mnima do sistema. A separao desses elementos bsicos, em contraposio
aos que so deixados no /usr, deve-se a razes prticas, principalmente para facilitar a organizao
de redes de mquinas compartilhando subrvores de diretrio. De fato, comum que o diretrio
/usr ao invs de estar replicado em todas as mquina da rede esteja residindo fisicamente num nico
disco, e sendo compartilhado por todas as mquinas.

Atributos e Nomes de Arquivos


No Unix cada arquivo (inclusive diretrios, que so casos particulares de arquivos), conta com um
conjunto de atributos de leitura, escrita e execuo, que so setveis atravs do comando chmod, e
podem ser exibidos pelo comando ls -l:
$ ls -l /bin/cat
-rwxr-xr-x
1 root

root

16584 Dec 16 20:09 /bin/cat

A string -rwxr-xr-x representa os atributos do arquivo /bin/cat. O primeiro caracter (-) significa

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

26/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
que se trata de um arquivo regular, em contraposio aos diretrios (d), device special files (c) e
links simblicos (l). Os 9 caracteres restantes informam as permisses de leitura, escrita e execuo
desse arquivo relativas ao seu proprietrio, ao seu grupo, e a todos os demais. O proprietrio e o
grupo so informados logo direita, e no caso so o usurio root e o grupo root.
Note que no Unix no existem os atributos de arquivo oculto ("hidden") e do sistema ("system"),
suportados no MS-DOS. No obstante, arquivos cujo primeiro caractere ponto (".") normalmente
so omitidos pelo ls, a no ser que se utilize a opo -a (de "all"), conforme comentamos no incio.
Um atributo importantssimo existente no Unix o chamado setuid, atravs do qual um processo
adquire ao ser executado os privilgios do owner do arquivo. Isso frequentemente utilizado por
programas que so disparados por usurios no privilegiados mas que por algum motivo necessitam
dos privilgios do superusurio, por exemplo:
$ ls -l /usr/sbin/pppd
-rwsr-xr-x 1 root
bin

104876

Apr 27

1998 /usr/sbin/pppd

Sem os privilgios de superusurio, um usurio comum no conseguiria configurar a interface ppp e


nem alterar a tabela de rotas do sistema, no momento em que se conecta ao provedor Internet.
Assim, o pppd, ao ser executado, requisitar os privilgios do owner do arquivo, que no caso o
superusurio, e dessa forma ele poder realizar essas operaes.
No Unix via de regra so suportados nomes ``longos'' (at 64 ou s vezes at 256 caracteres), e o
``.'' no um separador entre o nome do arquivo e sua extenso, mas um caracter como os outros.
No obstante, a noo de ``sufixo'' utilizada informalmente para facilitar a identificao de alguns
formatos de arquivos, por exemplo:
.tar
Archive produzido com tar
.zip
Archive comprimido produzido com zip
.Z
Arquivo comprimido com compress
.gz
Arquivo comprimido com gzip
Archives (o termo no tem correspondente em portugus) so concatenaes de vrios arquivos ou
de subrvores inteiras num nico arquivo. Em Unix, tipicamente so produzidos com tar:
$ tar cvf /tmp/etc.tar /etc
$ tar tvf /tmp/etc.tar /etc
$ cd /tmp; tar xvf etc.tar

O primeiro comando ir criar o archive /tmp/etc.tar, composto por toda a subrvore /etc. O segundo
exibir o contedo desse archive. O terceiro ir extrair todo o seu contedo dentro do diretrio /tmp,
ou seja, recriar aquela mesma subrvore como uma subrvore do diretrio /tmp.

Intercambiando Disquetes com o MS-DOS


Via de regra as plataformas Unix-like oferecem ferramentas para lidar com disquetes ``formatados''
no MS-DOS (ou, mais precisamente, disquetes que usam FAT). Um set de ferramentas bastante
popular o mtools, que oferece clones das ferramentas do MS-DOS. Exemplos de uso:
$ mformat a:
$ mcopy a:relat.txt .
$ mdir a:
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

27/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Verses recentes dessas ferramentas lidam tambm com o VFAT do Windows 95, que permite
nomes de arquivos ``longos''.
O intercmbio de arquivos texto entre Unix e MS-DOS deve ser feito com cuidado. Por herana das
antigas impressoras, o fim-de-linha no MS_DOS codificado atravs de dois caracteres (CR e LF),
enquanto no Unix h apenas um (o LF), alm do que o final do arquivo sinalizado no MS-DOS
por um CTRL-Z. O mcopy possui a opo -t para realizar essas converses quando copia de ou
para disquetes.

O Kernel
O Kernel do Unix (e de virtualmente qualquer outro sistema operacional) possui um papel de que
convm ter noes, a fim de se poder compreender melhor o funcionamento do sistema, realizar
diagnsticos e procedimentos administrativos como adio de componentes de hardware. Algum
conhecimento do papel do kernel importante tambm para se ter uma noo mais clara do uso de
arquivos especiais e do diretrio /proc.
O Kernel ordinariamente reside no filesystem como um outro arquivo qualquer. No Linux, ele em
geral o arquivo /vmlinuz ou /boot/vmlinuz, ou ainda /boot/vmlinuz-2.0.36. Ele um programa,
ainda que um pouco diferente dos programas de aplicao como o /bin/ls. O kernel carregado e
posto em execuo no boot da mquina, e a sua execuo somente se encerra com o shutdown.
De forma simplificada, o seu papel num primeiro momento reconhecer o hardware e inicializar os
respectivos drivers. Em seguida ele entra num estado administrativo onde funciona como
intermedirio entre as aplicaes e o hardware. Por exemplo, quando uma aplicao necessita alocar
mais memria, ela solicita isso ao kernel. o kernel que distribui o tempo de CPU aos vrios
processos ativos. ele que habitualmente realiza a entrada e sada de dados nas diferentes portas de
comunicao.
por isso que a adio de hardware novo a uma mquina pode requerer a substituio ou ao menos
a reconfigurao do kernel. Os kernels mais recentes do Linux oferecem vrios mecanismos de
configurao que os tornam sobremaneira flexveis, a ponto de ser rara a necessidade de
substituio do kernel. Os dois mecanismos fundamentais de se configurar a operao do kernel so
a passagem de parmetros no momento do boot (realizada pelo LILO) e a carga de mdulos, feita
manualmente ou por mecanismos automticos como o kerneld.
O dilogo entre as aplicaes e o kernel realiza-se fundamentalmente atravs dos system calls, que
so servios que o kernel oferece, como por exemplo read(2). Os device special files so maneiras
de se referir ao kernel os dispositivos fsicos ou lgicos com que se pretende operar, por exemplo a
primeira porta serial ou a segunda unidade de fita, ou o disco principal do sistema. Neles, o
importante no o nome, mas sim os nmeros de dispositivo, ou mais precisamente o major e o
minor device numbers. Device special files so criados atravs do comando mknod, ou atravs de
interfaces mais amigveis, como o comando MAKEDEV.
Os sistemas Unix-like mais recentes oferecem um outro mecanismo de comunicao com o kernel,
que o filesystem /proc. As entradas desse filesystem so pseudo-arquivos cujo contedo reflete o
estado atual de inmeras estruturas de dados internas do kernel. Assim, um programa de aplicao
passa a poder comunicar-se com o kernel atravs dos mecanismos ordinrios de leitura e escrita de
arquivos.
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

28/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Em muitos casos a comunicao entre as aplicaes e o kernel intermediada por bibliotecas,
principalmente a libc. Elas oferecem servios de mais alto nvel que os system calls do kernel,
tornando mais simples o trabalho de programao.

Redirecionamento da Entrada e da Sada; Pipes


Processos num sistema Unix habitualmente possuem trs dispositivos de I/O ``padres'', a ``sada
padro'', a ``entrada padro'' e a ``sada de erros''. O Unix permite que esses dispositivos (e outros)
sejam definidos no momento da execuo, podendo escolher o console, um ``pipe'', a impressora,
um circuito virtual de rede conectando duas mquinas, uma linha fsica serial ou outras coisas.
Usurios de MS-DOS talvez j tenham feito coisas como
C> DIR >PRN:

para imprimir a sada de um comando. Essa sintaxe foi herdada do Unix da a semelhana:
$ ls -l >/dev/lp1

Naturalmente tanto no MS-DOS quanto no Unix existem formas mais apropriadas para se imprimir
algo, mas no momento esse exemplo convm. Shells do estilo ``Bourne'' (sh, ksh, bash) permitem
redirecionamento da sada de erros atravs da seguinte sintaxe:
$ rm /bin/ls 2>/tmp/error

O ``2'' deve-se a que, internamente, a sada de erros corresponde ao descritor 2 (o 0 a entrada


padro e o 1 a sada padro).
A entrada pode ser redirecionada de forma semelhante:
$ wc </tmp/error

Os shells Unix oferecem um recurso para a ligao da sada padro de um processo com a entrada
padro de outro, chamado pipe:
$ ls|wc

No exemplo a sada do ls est sendo usada como entrada do wc. Note que o shell dispara os dois
processos ao mesmo tempo. Se o primeiro estiver produzindo sada numa taxa superior que o
segundo l, o sistema operacional paralizar o primeiro sempre que o buffer que armazena o trfego
estiver cheio. Isso significa, por exemplo, que um pipe pode ser usado mesmo quando o volume
total da sada do primeiro processo extraordinariamente grande, por exemplo quando se tenta
localizar informaes de arquivos deletados atravs de um dump de todos os setores do disco.

Comunicao Serial e Paralela


O Unix apresenta as portas de comunicao seriais e paralelas na forma de arquivos especiais. J
vimos um exemplo do seu uso no tem Redirecionamento da Entrada e da Sada, em que fizemos a
impresso da sada de um comando.
Na comunicao entre dois computadores, utiliza-se freqentemente portas seriais, e s vezes
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

29/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
tambm as paralelas. Em muitos casos, quando a distncia entre os dois grande, haver uso de
modems, e eventualmente tambm de uma linha telefnica. Atravs de trs exemplos prticos podese ter um bom panorama do uso de comunicao serial no Unix. Como os procedimentos variam
um pouco dependendo das plataformas em uso, s possvel indic-los de forma genrica:
a) Adio de um terminal
1.
2.
3.
4.

Conectar a serial do terminal com a da mquina Unix.


Disparar no Unix a variante do getty disponvel.
Logar no terminal.
Transferir arquivos se o terminal oferecer esse recurso.

b) Conexo a um sistema remoto


1.
2.
3.
4.
5.
6.
7.

Disparar algum emulador de terminal disponvel.


Selecionar a serial em que o modem est conectado.
Configurar o modo de operao da serial (velocidade, bits).
Configurar o modem atravs de comandos AT, se necessrio.
Instruir o modem para discar, com ATD
Aguardar a negociao.
Logar.

c) Estabelecimento de um link ppp


1. Executar a conexo ao sistema remoto como indicada acima.
2. Iniciar o ppp no sistema remoto.
3. Disparar o pppd localmente.
Em PCs, os conectores externos das portas seriais so conectores DB-9 ou DB-25 macho, e os das
paralelas so DB-25 fmea.

Configurao do TCP/IP
Numa rede TCP/IP, a cada mquina est associado um nmero IP, que um inteiro de 32 bits,
normalmente escrito na forma de octetos, como 192.168.0.5. A cada mquina est associado um
nome, como por exemplo marte ou pimenta.
A atribuio tanto do nmero quanto do nome feita durante o processo de boot, a partir da
especificao deles feita atravs da edio manual de arquivos de configurao e/ou do uso de
aplicativos de gerenciamento do sistema especficos de cada plataforma.
Na verdade, o nmero IP no est associado mquina, mas a uma determinada interface dela. Via
de regra, a interface envolvida a ethernet. Tanto para exibir quanto para setar manualmente o
nmero IP de uma interface usa-se o comando ifconfig. Por exemplo, o comando:
$ ifconfig -a

ir listar todas as interfaces com informaes de cada uma. A interface ethernet costuma chamar-se
le0 (Solaris) ou eth0 (Linux). Alm do ethernet, comum usar-se portas seriais para criar interfaces
TCP/IP, principalmente para criar links com linhas telefnicas. As placas ethernet costuma oferecer
dois ou mais tipos de conectores. Ela pode ou no descobrir automaticamente qual est em uso. Em
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

30/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
caso negativo, voc dever inform-la, o que habitualmente feito atravs de um software de
configurao que acompanha a placa.
O passo seguinte a configurao das rotas. Atravs delas a mquina sabe por onde enviar
datagramas a fim de que eles cheguem em seus destinos. Equivale de certa forma sinalizao do
trfego urbano, com placas indicativas da direo a tomar para atingir cada destino (Ponte do Limo
esquerda, ou Avenida Bandeirantes em frente, etc).
Cada rota envolve um destino, uma mscara, um gateway e uma interface. Pode-se exibir todas elas
atravs do comando netstat:
$ netstat -r
Destination
192.168.1.0
127.0.0.0
default

Gateway
*
*
192.168.1.1

Genmask
255.255.255.0
255.0.0.0
0.0.0.0

Iface
eth0
lo
eth0

Suponha que voc deseja atingir a mquina 192.168.1.7. A aplicao da tabela de rotas indica,
atravs de uma operao e bit-a-bit entre 192.168.1.7 e a mscara 255.255.255.0, que deve ser
usada a primeira rota. Como no h gateway, a comunicao ser feita diretamente atravs do
ethernet.
Se o destino agora for 200.136.35.65, as duas primeiras rotas no nos serviro (experimente aplicar
o e como no caso anterior). Portanto ser usada a rota default, e como ela especifica um gateway, a
comunicao ter que ser feita atravs dele. Assim, toda vez que se pretender enviar alguma
informao para o 200.136.35.65, esta ser enviada antes para o gateway 192.168.1.1, na esperana
de que este consiga rote-la para o seu destino.

Servios TCP/IP
Atualmente comum as pessoas confundirem Internet com a teia mundial WWW, entretanto muito
antes de surgir a teia, a Internet j usava um sem-nmero de servios construdos a partir dos
protocolos de transporte TCP e UDP.
Um circuito TCP entre duas mquinas equivale a um pipe duplo entre dois processos, cada um
rodando em uma das mquinas. O telnet um tpico servio que se utiliza desse recurso, a fim de
criar sesses remotas. Pode-se exibir todas os circuitos TCP ativos atravs do comando netstat:
$ netstat -t

O FTP, por sua vez, cria dois circuitos, utilizando um para envio de comandos e outro de dados.
Atravs do uso de alguns comandos simples, permite transferir arquivos de ou para uma mquina
remota. Os principais comandos do FTP so:
asc,bin
modo de transferncia texto/binrio
hash
faz o display de um ``#''a cada 1kb transferido
get,put
transfere de/para a mquina remota o arquivo especificado
mget,mp
idem, mltiplos arquivos
ut
liga/desliga o modo interativo
prompt
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

31/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Disparo do Xwindows e das suas aplicaes


O disparo do X desnecessrio quando o sistema opera num runmode em que o X est
permanentemente ativo. Nesse caso, o prprio login feito numa janela, ao invs de no console no
modo texto.
Quando for necessrio disparar o X manualmente, via de regra haver dois ou trs scripts j
preparados para isso, como o startx ou o openwin. O que eles fazem basicamente definir uma
srie de parmetros e executar o xinit, que por sua vez dispara o Xserver e o Window Manager.
Convm no perder de vista que o Xwindows um sistema cliente-servidor. O Xserver o
programa que conhece o hardware grfico, capaz de colocar o display no modo desejado, e
desenhar nele. As aplicaes conectam o Xserver atravs de um circuito TCP (por exemplo) e
enviam a ele comandos atravs dos quais desenham as suas janelas e o contedo delas. O Window
Manager responsvel por desenhar as molduras das janelas, criar menus de aplicaes, e controlar
o foco.
Assim, natural que no disparo de cada aplicao seja necessrio especificar qual o server a ser
utilizado. Isso normalmente se faz atravs da opo de linha de comando -display, ou atravs da
varivel de environment DISPLAY.
$ xterm -display 192.168.0.1:0.0
$ DISPLAY=192.168.0.1:0.0; export DISPLAY; xterm

Quando o Xserver est rodando numa mquina Unix, a permisso para um cliente us-lo dada
atravs do comando xhost:
$ xhost +192.168.1.5
$ xhost -192.168.1.5
$ xhost

(autoriza o cliente 192.168.1.5)


(desautoriza o cliente 192.168.1.5)
(lista os clientes autorizados)

Pode-se autorizar permanentemente um cliente a usar um determinado Xserver adicionando-o ao


arquivo /etc/X0.hosts (um cliente por linha).
Ao longo dos anos foram sendo criados inmeros Window Managers diferentes para o Xwindows.
Algumas vezes alm do window manager foram criadas tambm complexas bibliotecas oferecendo
servios de alto nvel que alm de simplificar o trabalho de programao tamm permitem
estandardizar o aspecto visual e os recursos das janelas das aplicaes. Um dos produtos mais
conhecidos dessa linha o Motif. O advento do Free Software criou outras opes, sendo as mais
em voga atualmente o GTK e o QT, que so utilizados respectivamente pelo GNOME e pelo
KDE.

Procedimentos de boot e o init


O boot do Unix consiste inicialmente na carga e execuo do kernel. Em seguida, disparado o
processo init, que segue as instrues do arquivo /etc/inittab, que portanto o ponto de partida
para tudo o que se pretenda configurar a nvel de disparo de processos ao longo do boot.
O inittab no um script como o AUTOEXEC.BAT, mas uma lista de aes, algumas delas de
valor permanente para todo o curso da operao do sistema. Cada linha vlida representa um
processo que o init deve disparar. O termo respawn significa que, alm de disparar, o init dever
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

32/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
monitorar o processo e, se porventura ao longo da operao do sistema ele for encerrado, o init
dever redispar-lo.
Via de regra as linhas do inittab referem-se ou chamada de scripts de configurao inicial do
sistema, que so executados apenas uma vez, ou aos processos de controle de login no sistema, que
so redisparados sempre que ocorre um logout. O inittab inclui ainda o conceito de runlevel, o que
cria a flexibilidade de se poder inicializar a mquina em um de vrios possveis modos de operao.
Na prtica, costuma haver trs modos principais, o single-user, utilizado para manuteno, um
grfico e um no grfico.
Quanto aos scripts de configurao (normalmente so os arquivos e/ou diretrios /etc/rc.*,
dependendo da plataforma a mecnica de disparo deles pode ser bastante complexa. Note que cada
runlevel pode disparar ou deixar de disparar alguns scripts, a fim de estabelecer o modo de operao
desejado. Em quase todas as verses mais recentes do Linux essa mecnica segue o padro dos
diretrios /etc/rc.d/rcN.d, onde N cada um dos runlevels. O contedo desses diretrios so links
para cada um dos scripts de ativao ou desativao de servios bsicos (interfaces de rede, servidor
de email, etc), com nmeros embutidos nos nomes dos links, a fim de definir a ordem em que
devem ser processados.

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

33/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Referncias
Virtualmente qualquer informao tcnica sobre sistemas Unix-like pode ser obtida na Teia
Mundial. Estou colocando aqui apenas um referncia clssica (o Livro do Bach), e um link para
uma lista de pontos de entrada de documentao sobre Linux.
[1] Bach, M. J. The Design of the Unix Operating System, Prentice-Hall, 1986.
[2] Alguns links de Linux, inclusive para materiais em portugus, esto disponveis em
http://www.ime.usp.br/~ueda/ldoc/links.html .
[3] CAMPOS, Augusto. O que uma distribuio Linux. BR-Linux. Florianpolis, maro de
2006. Disponvel em <http://br-linux.org/faq-distribuicao>. Consultado em [2010].

Materiais Complementares em:


1. Guia Foca Linux: http://focalinux.cipsga.org.br/
2. Projeto de Documentao do Open Office.org: http://www.openoffice.org.br/?q=docs
3. Dicas e Dvidas do Firefox: http://br.mozdev.org/firefox/vocesabia/
4. Tutorial Linux Bsico: http://www.guiadohardware.net/tutoriais/024/
5. BR-Linux : http://br-linux.org/
6. Dicas-L: http://www.dicas-l.com.br/
Este material adere ao padro de licena em Creative Commons Atribuio no Comercial
Compartilhamento Pela mesma Licena 2.5 Brasil, para contedos Iguais ou Modificados .

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

34/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

Exerccios
Quando voc efetua login, o UNIX/Linux assume um determinado diretrio como sendo o
diretrio de trabalho inicial.
Este diretrio inicial conhecido dentro do jargo UNIX como diretrio de login, diretrio
home, ou simplesmente home.
ATENO: Daqui para frente, nos textos produzidos para esta disciplina, este diretrio ser
referenciado como home , $HOME ou ~.
1. Verificando o diretrio de login. Execute o comando pwd. Ele mostra ao usurio o
diretrio corrente. Imediatamente aps o login, ele mostra qual seu diretrio de
login. Procure memorizar o nome deste diretrio. Ele muito importante. Outra
maneira de saber qual seu diretrio <home> consiste em executar o comando echo
$HOME.
2. Monitorando sua quota. Todo usurio possui uma quota, isto , um espao mximo
em disco que este usurio pode ocupar com seus arquivos. O comando para verificar
este espao utilizado e seus limites quota.
Execute este comando com a opo -s e verifique o resultado que aparece na tela.
NOTA: No resultado apresentado pelo comando quota, a coluna blocks indica o
total de espao em disco ocupado pelos seus arquivos. A coluna quota indica o limite
permitido. A coluna limit indica o limite de tolerncia em sua quota. Enquanto o
valor da coluna blocks estiver entre os valores das colunas quota e limit, a coluna
grace mostra uma mensagem com o prazo que voc tem para limpar sua rea e
baixar o espao ocupado por seu arquivos abaixo de sua quota. Durante este perodo
de grace, o sistema ainda deixa voc criar arquivos.
Esgotado o prazo, o sistema dar sempre a mensagem de disk full ou Disk quota
exceeded sempre que voc tentar criar um arquivo (via cp, emacs ou qualquer outra
forma de criao de arquivos).
3. Verificando usurios no sistema. Execute o comando who para saber quem est
compartilhando a estao com voc.
4. Use o comando whoami para identificar o seu prrpio username.
5. Exibindo o contedo de um diretrio. Execute as variantes do comando ls abaixo.
Este comando mostra o contedo de um diretrio.
ls
ls -a
ls -l
Voc consegue perceber a diferena entre os resultados da execuo de cada linha de
comando acima?
6. Criando arquivos e exibindo seu contedo. Em seu diretrio de login, crie os
arquivos fantomas, nacional_kid, incas_venusianos e macanudo usando
seu editor predileto (por exemplo, Gedit). Coloque em cada um deles qualquer texto
de sua escolha, desde que cada texto tenha pelo menos 4 linhas. Coloque textos

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

35/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
diferenciados em cada arquivo.
7. Usando cat, exiba separadamente o contedo de cada um dos arquivos criados no
item 6.
NOTA 1: Quando o contedo de um arquivo muito extenso que no cabe todo na
tela de terminal, usa-se less ou more para exibir o contedo. do arquivo.
NOTA 2: Os comandos cat, less e more so usados para exibir contedos de
arquivos do tipo texto ou ASCII. Para exibir contedo de arquivos de outros tipos
outros comandos devem ser usados (por exemplo, od).
8. Criando diretrios. Usando mkdir, crie o diretrio ~/teste.
9. Copiando, movendo e apagando arquivos e diretrios. Usando cp, copie o arquivo
macanudo criado no item 6 para este diretrio.
DICA: cp usa pelo menos 2 argumentos: um arquivo de origem seguido de um
argumento que pode ser o nome de outro arquivo ou o nome de um diretrio.
10.O comando cp (copy) cria uma cpia de um arquivo com outro nome ou copia um
arquivo de um diretrio para outro. Copie fantomas para o arquivo phantomas e
liste o contedo do diretrio aps a operao. Liste tambm o contedo de
phantomas.
11.Execute cada um dos programas listados na Seo Ambiente Grfico e procure
entender seu funcionamento.
Fonte: http://www.inf.ufpr.br/danielw/grad/ci048/20081/02-GNULinux.html

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

36/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo

EXERCCIOS 2

LISTA 1
1.
2.
3.
4.
5.

O que o Linux?
O que so distribuies?
Cite 4 caractersticas do Linux.
No diretrio /dev, como so representados o primeiro HD, CD e disquete no Linux?
Se eu tenho um nico HD com 4 parties, como essas parties so representadas no
diretrio /dev do Linux?
6. O que o KERNEL?
7. Como posso visualizar o KERNEL do meu sistema?
8. O que o SHELL?
9. Que comando posso utilizar para saber quais processos esto rodando no sistema?
10. Qual comando completo utilizado para finalizar um processo imediatamente?
11. Que comando utilizado para saber a identificao do meu usurio e do meu grupo?
12. Que seqncia de teclas devo usar para acessar o terminal 4 (TTY4) do Linux?
13. Como posso saber qual usurio est logado no terminal 3 (TTY3)?
14. Como podemos saber se o usurio de um terminal qualquer o root sem nenhum
comando?
15. Que comando devo usar para visualizar arquivos ocultos?
16. Qual comando utilizado para listar arquivos detalhadamente?
17. Como fao para limpar a tela no Linux?
18. Exerccios prticos.

LISTA 2
19. Descreva a funo dos diretrios abaixo:
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)

/
/bin
/dev
/etc
/home
/tmp
/lib
/root
/sbin
/proc

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

37/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
k)

/mnt

20. Se eu digitar o nome de login e a senha para entrar no sistema Linux e ao invs de entrar no
sistema aparecer novamente na tela a palavra LOGIN, por que o usurio no consegue se
logar, o que pode estar acontecendo?
21. Cite 3 formas diferentes de sair do sistema Linux?
22. Cite 3 maneiras de desligar o Linux.
23. Cite duas formas de reiniciar o Linux.
24. Para que serve o comando man?
25. Cite o nome de dois editores de texto bsicos do Linux?
26. Existe alguma forma de criar arquivos sem usar um editor de texto no Linux? Explique.
27. Se eu no consigo sair do vi quando estou editando um arquivo, mas desejo sair dele sem
salvar, tem como eu forar uma sada? Explique.
28. Exerccios prticos.

LISTA 3
29. Qual a diferena entre um caminho absoluto e um caminho relativo?
30. De que maneira pode-se saber qual o caminho completo do diretrio atual?
31. De que forma eu posso remover um diretrio vazio? E um diretrio com contedo?
32. O que o DIT?
33. Como eu fao para ir diretamente para o DIT do usurio?
34. Como fao para ir para o ltimo diretrio acessado?
35. Que comando permite visualizar de forma hierrquica o contedo completo de um diretrio?
36. Descreva o comando completo que pode ser usado para localizar um arquivo chamado
historia do linux dentro de um CD, sabendo-se que o CD tem vrios diretrios e eu no
tenho idia de qual diretrio est este arquivo?
37. Como eu fao para criar um diretrio oculto? D um exemplo.
38. Descreva duas maneiras de listar o contedo de um diretrio pausadamente quando o seu
contedo muito grande e no cabe na tela.
39. Descreva uma forma de listar o contedo de um diretrio em ordem alfabtica.
40. Cite duas formas de usar vrios comandos ao mesmo tempo.
41. Descreva a forma correta de enviar o resultado do comando cal (calendrio) para dentro
de um arquivo chamado teste. E como enviar o resultado do comando ls para este
arquivo teste, sem apagar o calendrio.
42. Exerccios prticos.

LISTA 4
43. Qual comando usado no Linux equivale ao attrib no DOS?
44. Para limpar a tela no DOS usa-se o comando cls, e no Linux?
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

38/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
45. Como podemos fazer para sair do terminal 3 e acessar o tty5?
46. Normalmente que seqncia de teclas utilizada para retornar a interface grfica quando se
est trabalhando em um terminal modo texto?
47. Se digitarmos o comando Ls no prompt, o que deve acontecer?
48. O comando CD pode ser utilizado no Linux? Explique.
49. De que forma pode-se cancelar um comando?
50. Como podemos compactar um arquivo no linux chamado arquivoxatravs do comando
tar? E de que forma podemos descompact-lo?
51. Como podemos compactar um arquivo no linux chamado arquivox atravs do comando
gzip? E de que forma podemos descompact-lo?

LISTA 5
52. Como podemos saber quantos usurios esto logados no sistema e o nome de cada um
deles?
53. Descreva a forma correta de criar uma usuria chamada ana.
54. Continuando a questo anterior, explique como deve ser feito para fornecer uma senha para
ana.
55. Cite como se faz para criar um grupo chamado alunos.
56. Numa empresa existem 3 usurios (jose, luis e aline), explique como deve ser feito para
inserir estes usurios num grupo chamado adm.
57. O que deve ser feito para saber o UID e GID do usurio?
58. Descreva a forma correta para remover o usurio jose.
59. Qual o nome do arquivo que armazena informaes dos usurios? Como se faz para ver o
contedo deste arquivo sem usar um editor de textos?
60. Que arquivo armazena informaes sobre os grupos, e como visualizamos seu contedo sem
um editor de textos?
61. Qual a importncia do arquivo /etc/shadow?

LISTA 6
62. Como podemos ver quais so as parties que esto montadas?
63. Qual diretrio usado para montar dispositivos no Linux?
64. Os perifricos so arquivos especiais no Linux. Em que diretrio os perifricos ficam
armazenados?
65. Que comando usado para montar dispositivos no Linux?
66. Que comando usado para desmontar dispositivo no Linux?
67. Descreva a forma correta para montar o primeiro disquete do micro no diretrio
/mnt/floppy usando o sistema fat.
68. Qual o nome do gerenciador de pacotes baseado no Red Hat, usado para instalar pacotes de
Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

39/40

FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
programas no Linux?
69. Se a pessoa deseja saber se um programa est instalado no linux, como ela pode visualizar
os arquivos instalados atravs do prompt?
70. Descreva uma forma confivel para instalar um pacote no linux com o comando rpm.
71. Como deve ser feito para remover um pacote no Linux?
72. Demonstre uma forma de verificar a integridade de um pacote instalado.

LISTA 7
73. Que comando utilizado no Linux para listar o contedo de um diretrio detalhadamente,
permitindo visualizar as permisses, dono e grupo de arquivos e diretrios?
74. Cite 2 maneiras diferentes para alterar permisses no Linux.
75. De que forma pode-se alterar as permisses do dono, grupo e outros de um arquivo no
prompt de comando do Linux?
76. Descreva a forma correta para alterar o dono de um arquivo chamado aula.txt atravs do
prompt de comando.
77. Como podemos alterar o grupo do diretrio chamado teste no prompt de comando?
78. Se eu digito no prompt #chmod 465 teste, qual ser a permisso do dono, do grupo e
outros em relao ao diretrio teste?
79. Se for usada a seguinte sintaxe: #chmod 723 aula.txt. Qual ser a permisso do dono, do
grupo e outros em relao ao arquivo aula.txt?

Prof. Roberson Araujo

fonte: Casa Brasil (Conhecimento e cidadania morando juntos)

40/40

Das könnte Ihnen auch gefallen