Beruflich Dokumente
Kultur Dokumente
Prof.Roberson Araujo
Reviso Vrs.01 Ano 2010
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
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
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
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,
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
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
7/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
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
8/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Arquitetura Geral
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
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
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
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.
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
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
12/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
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
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.
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:
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!
17/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
Litrix (brasileira)
Knoppix
Mandriva (possui verso Live)
Ubuntu (possui verso live)
18/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
(Solaris)
(Linux)
cd diretrio
19/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
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.
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).
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.
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.
more arquivo
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.
vi arquivo
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
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.
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" *
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.
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 * &
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
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
25/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
$ stty sane
root
A string -rwxr-xr-x representa os atributos do arquivo /bin/cat. O primeiro caracter (-) significa
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
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.
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
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.
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
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.
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.
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
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
31/40
FAEC
Fundamentos de Sistemas Operacionais prof. Roberson Araujo
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
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.
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].
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
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
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
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
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
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?
40/40