Escola Secundária Alberto Sampaio
Carlos Freitas
Sistema operativo que incluí funções especiais
que permitem a ligação de um computador a
uma LAN.
Exemplos:
Unix
GNU/Linux;
Mac Os;
Windows Server 2003.
Aula 3/4/5 - Sistemas Operativos
2
Sistema operativo de rede, livremente
distribuído e open source que funciona em várias
plataformas;
O kernel (núcleo) utilizado pela maioria dos SOs
GNU é o Linux;
GNU:
GNU is Not Unix.
Aula 3/4/5 - Sistemas Operativos
3
Como o Linux é um SO com capacidades de
multiutilizador, é necessário que se faça um
login;
Elementos necessários:
Nome do utilizador;
Password.
Os elementos para login, são criados pelo
administrador do sistema (root).
Aula 3/4/5 - Sistemas Operativos
4
Após um login bem sucedido, o utilizador
encontra-se na sua home directory;
Home directory:
Pasta de trabalho do utilizador, onde tem direitos
de execução, escrita e leitura;
Geralmente /home/nomeUtilizador/;
Aula 3/4/5 - Sistemas Operativos
5
Quando se efectua o login, somos saudados por uma
prompt com um aspecto semelhante ao seguinte:
$
O aspecto da prompt pode ser modificado para incluir:
O nome do computador;
Nome da directoria corrente;
…
O programa que apresenta a prompt é chamado de shell;
A shell é o programa que nos permite comunicar com o
sistema operativo (CLI - Command Line Interface).
Aula 3/4/5 - Sistemas Operativos
6
Existem várias implementações de programas de shell:
sh:
ksh:
C-Shell.
bash:
Korn Shell;
csh:
Bourne Shell (Steven Bourne);
Bourne Again Shell (Integra funcionalidades da ksh e csh);
…
Aula 3/4/5 - Sistemas Operativos
7
Para se saber qual a shell em utilização:
echo $SHELL
A maioria dos sistemas Linux utiliza a Bourne Again Shell (bash);
Para “fechar” a shell Bash (voltar à prompt de login):
Escrever na prompt:
logout, ou
exit
Ou
Pressionar Ctrl+D.
Aula 3/4/5 - Sistemas Operativos
8
Além de multiutilizador, o SO Linux é um sistema multitarefa;
Mesmo que um sistema Linux seja utilizado por apenas um
utilizador, este tem à sua disposição seis consolas virtuais (pode
ser alterado);
Para alternar entre elas, basta pressionar:
Alt + Fn (1 ≤ n ≤ 6);
Alt + F7 (reservado para o modo gráfico);
Se se estiver em modo gráfico (X11), para alternar para uma das
consolas de texto, pressionar:
Ctrl + Alt + Fn;
Alt + F7 regressa ao modo gráfico;
Aula 3/4/5 - Sistemas Operativos
9
Na prompt da shell bash:
cd nomeDir
cd /
Informa a shell que se pretende trabalhar na directoria de raiz (root
directory)
cd
Informa a shell que se pretende trabalhar na directoria com o nome
nomeDir
(cd C
hange
D
irectory )
Regressa à home directory, qualquer que seja a directoria onde se
esteja
pwd
Informa ao utilizador qual a directoria onde se está a trabalhar
actualmente (
P
resent
W
orking
D
irectory
)
Aula 3/4/5 - Sistemas Operativos
10
Caminhos absolutos (começam com /):
/usr/share
/dev
/etc/network
Interpretados a partir da raiz.
Caminhos relativos (não começam com /):
usr
Maildir
home/antonio/Docs
Interpretados relativamente à pwd.
Aula 3/4/5 - Sistemas Operativos
11
Exemplo com o comando cd:
cd /usr
cd usr
Mudar para a directoria hierarquicamente abaixo da pwd;
cd ../power
Mudar para a directoria usr que existe dentro da pwd;
cd ..
Mudar para a directoria usr na raiz;
Mudar para a directoria power que é “irmã” da pwd;
cd ~/radical
Mudar para a directoria radical dentro da home directory.
Aula 3/4/5 - Sistemas Operativos
12
.refere-se à pwd (directoria corrente);
Utiliza-se frequentemente para a execução de
programas na directoria corrente;
Exemplo:
./meuprog
Executa o programa com o nome meuprog que se
encontra na pwd (obviamente meuprog é executável).
Aula 3/4/5 - Sistemas Operativos
13
Para nos referirmos às home directories de
outros utilizadores:
Com caminho absoluto:
/home/jaquim
Com o caracter ~:
~/jaquim
Aula 3/4/5 - Sistemas Operativos
14
ls
Apresenta uma listagem (ls - list) do conteúdo da pwd:
antonio@imortal:~$ ls
dead.letter Docs Maildir profile
ls -a
Apresenta uma listagem de TODO (a - all) o conteúdo da
pwd. Inclui:
Ficheiros ocultos (começados por . );
Links especiais . e .. ;
antonio@imortal:~$ ls -a
.alias
.bash_profile .cshrc
Docs
profile
.. .bash_history .bashrc
dead.letter Maildir .viminfo
Aula 3/4/5 - Sistemas Operativos
15
ls -l
Apresenta uma listagem longa (l - long) dos conteúdos
da pwd, incluindo direitos, número de links,
proprietário, grupo, tamanho, última alteração e nome:
antonio@imortal:~$ ls -l
total 16
-rw------- 1 antonio users
dead.letter
drwx------ 2 antonio users
drwxr-xr-x 9 antonio users
Maildir
drwx------ 14 antonio users
profile
1 2004-04-13 21:13
4096 2004-04-24 13:11 Docs
4096 2004-05-04 17:11
4096 2004-04-21 20:03
ls -lh
O parâmetro h (human readable) faz com que os
tamanhos dos ficheiros sejam apresentados em Kb, Mb e
Gb.
Aula 3/4/5 - Sistemas Operativos
16
ls nomeficheiro
Apresenta apenas o ficheiro nomeficheiro caso este
exista;
ls nomeDirectoria
Apresenta o conteúdo da directoria com o nome
nomeDirectoria;
ls -d nomeDirectoria
Apresenta apenas a directoria (d) com o nome
nomeDirectoria;
ls -R nomeDirectoria
Apresenta todos os ficheiros contidos na directoria
nomeDirectoria e respectivas sub-directorias (R recursivo).
Aula 3/4/5 - Sistemas Operativos
17
Um inode number é um índice numérico que
identifica cada objecto no sistema de ficheiros;
ls -i
Apresenta uma listagem do conteúdo da pwd junto com
os respectivos inodes:
antonio@imortal:~$ ls -i
65570 dead.letter 65631 Docs 65571 Maildir 65543 profile
Podem existir dois ficheiros com um mesmo
inode number, desde que que se encontrem em
sistemas de ficheiros diferentes (e.g. partições
diferentes).
Aula 3/4/5 - Sistemas Operativos
18
mkdir power
Cria a directoria power na pwd;
mkdir um dó li tá
Cria as directorias um, dó, li e tá na pwd;
mkdir -p um/dó/li/tá
Cria a inteira árvore de directorias especificada
(p - parent directories).
Aula 3/4/5 - Sistemas Operativos
19
cp fich1 fichCópia
cp -i fich1 fichCópia
Cria uma cópia do ficheiro fich1 com o nome fichCópia, mas se
fichCópia
já existir, pergunta (i - Interactivo) se se quer
substituir;
cp /usr/src/kernel-source-2.6.5.tar .
Cria uma cópia do ficheiro fich1 com o nome fichCópia;
Cria uma cópia do ficheiro kernel-source-2.6.5.tar que se
encontra em /usr/src/
na pwd (.);
cp -R /usr/src .
Cria uma cópia da directoria /usr/src e TODO o seu conteúdo
em . (pwd).
Aula 3/4/5 - Sistemas Operativos
20
mv fich1 fich2
Move (mv) o ficheiro com o nome fich1 para fich2.
Equivalente a renomear o ficheiro com o nome
fich1 para o nome fich2.
mv -i fich1 fich2
Igual ao anterior mas pergunta se se pretende
substituir fich2 se este já existir.
Aula 3/4/5 - Sistemas Operativos
21
touch fich1
Cria um ficheiro com o nome fich1;
Se fich1 já existir, apenas actualiza a sua data e
hora (mtime) para a data e hora correntes do
sistema.
Aula 3/4/5 - Sistemas Operativos
22
A informação no Unix, encontra-se organizada em ficheiros
que por sua vez se encontram organizados em directorias
As directorias encontram-se organizadas numa estrutura em
árvore, onde existe uma raiz comum com várias
ramificações.
A estrutura de directórios do Unix pode ser representada (tal
como a estrutura do DOS) por uma árvore invertida com a
raiz no topo.
O símbolo do directório raiz(root directory) é uma barra
“
/
”, ao contrário do DOS que é uma
barra invertida “\”.
Quando se inicia uma sessão em Unix, o utilizador após o
login fica posicionado automaticamente no seu directório
pessoal.
Aula 3/4/5 - Sistemas Operativos
23
.
Eis um exemplo da estrutura de directórios de um sistema Unix:
/(root)
stand
sbin
etc
unix
dev
term
1
home
opt
constty
15
Aula 3/4/5 - Sistemas Operativos
usr
bin
ls
var
lib
x
cat
24
tmp
stand: versão executável do kernel
sbin: comandos para administração do sistema
etc: ficheiros de configuração do sistema
dev: ficheiros especiais que correspondem na sua utilização
a discos, terminais, etc.
home: onde são criados os ficheiros do utilizador
opt: onde fica armazenado software não pertencente ao
Unix
usr: ficheiros estáticos e partilháveis (comandos de sistema lin, bibliotecas - lib)
var: contém logs, ficheiros temporários, etc.
tmp: só ficheiros temporários. De cada vez que o sistema é
reinicializado esta directoria é limpa
Aula 3/4/5 - Sistemas Operativos
25
dev - Contém ficheiros especiais (de dispositivos) tais como terminais, impressoras
e dispositivos de armazenamento
etc -
Contém bases de dados de configuração e administração do sistema
(contém, por exemplo, os ficheiros com as passwords de todos os
utilizadores)
home - Contém os directórios-conta e ficheiros de todos os utilizadores
opt - Contém os eventuais pacotes de aplicações adicionais
/
sbin - Contém os programas de arranque e recuperação do sistema
stand - Contém programas standard e ficheiros de dados utilizados na primeira
inicialização do sistema
tmp - Contém todos os ficheiros temporários utilizados pelo Sistema Unix
Contém programas vários do Sistema Unix, utilitários, comandos de
usr - administração de sistema, dados e ficheiros executáveis de jogos,
compiladores e bibliotecas de linguagens de programação, manuais, etc.
var -
Contém directórios de ficheiros que diferem ao longo das diferentes versões
de Unix. Estes incluem ficheiros de contabilidade, de registo da actividade do
sistema, ficheiros de correio electrónico, etc.
Aula 3/4/5 - Sistemas Operativos
26
Identificação da directoria actual
pwd
Indica o directório actual.
Aula 3/4/5 - Sistemas Operativos
27
Mudar de directoria
$home
Muda para o directório pessoal.
cd
permite ao utilizador mudar a directoria de
trabalho. O caminho pode ser relativo ou
absoluto.
Aula 3/4/5 - Sistemas Operativos
28
Usando-se:
cd
sem o nome do directório fará com que seu directório
corrente seja o seu directório padrão,
cd -
fará com que seu directório corrente seja o directório
onde estava anteriormente e é uma maneira conveniente
de se alternar entre dois directórios,
cd ..
fará com que seu directório corrente seja o directório
exactamente superior ao que você se encontra (muito
útil).
Aula 3/4/5 - Sistemas Operativos
29
Criar directorias:
mkdir
Permite criar novas directorias
cria uma directoria, tendo como ponto de origem a
directoria de trabalho.
du
df
Espaço já utilizado em disco; numero de blocos de 512
bytes de todos os directórios existentes no sistema.
Quantidade de espaço livre no disco em blocos de 512
bytes.
Aula 3/4/5 - Sistemas Operativos
30
Eliminar directorias vazias:
rmdir
permite apagar directorias vazias.
O directório a remover deve pertencer ao utilizador
que o pretende remover.
Deve estar posicionado no directório pai daquele
que vai ser eliminado.
O directório a eliminar não deve conter qualquer
conteúdo.
Aula 3/4/5 - Sistemas Operativos
31
Listar o conteúdo de uma directoria:
ls ou dir
Lista o conteúdo do directório corrente, permite listar
nomes e atributos de ficheiros e directorias
O comando dir é um alias para o comando ls de forma que
estes comandos fazem exactamente a mesma coisa.
A listagem dos arquivos é normalmente codificada por
cores:
azul escuro = directórios,
cinza = arquivos normais,
Verde = arquivos executáveis,
violeta = arquivos gráficos,
Vermelho = arquivos comprimidos,
azul claro = links simbólicos,
amarelo = arquivos de dispositivos,
castanho = FIFO
Aula 3/4/5 - Sistemas Operativos
32
Opções do comando ls:
a-lista todos os ficheiros de uma directoria,
incluindo aqueles que começam com “.”(os que se
encontram escondidos).
s-lista os ficheiros e o seu tamanho em kbytes.
l-lista o tipo de ficheiro, permissões para o dono,
grupo do dono e outros utilizadores, numero de
ficheiros relacionados, nome do dono e tamanho.
Fim Aula!
Aula 3/4/5 - Sistemas Operativos
33
Quando utilizado o comando ls -l a saída será uma
sequência semelhante à seguinte:
1 2 3 4 5 6
- rw- -- -- 1 roo
- t
7
roo
t
Aula 3/4/5 - Sistemas Operativos
8
9
753 Mar
8
18:39
10
31
mb
ox
34
1
Tipo de item listado:
d - directório (l no linux)
c - periférico
b - unidade
- - ficheiro normal
2
Permissões de acesso do dono ao item:
r - leitura
w - escrita
x - execução
Permissões de acesso do grupo a que pertence
o dono ao item:
r - leitura
w - escrita
x - execução
3
Aula 3/4/5 - Sistemas Operativos
35
4
5
6
Permissões de acesso dos outros utilizadores
ao do item:
r - leitura
w - escrita
x - execução
Número de ficheiros associados
Nome do dono do item
7
8
9
Nome do grupo a que pertence o dono do item
Tamanho do item
Data de criação e/ou alteração
10 Nome do item
Aula 3/4/5 - Sistemas Operativos
36
ls -al |more
Lista o conteúdo do directório corrente, todos os arquivos
(incluindo aqueles começando com um ponto), e em um
formato mais longo.
A saída é canalizada para o comando "more", de forma que a
exibição seja interrompida quando a tela ficar cheia.
O comando ls tem diversas opções úteis.
Algumas delas tem atalhos (aliases) para evitar uma digitação
complicada.
Execute ll (="long ls [ls longo]", um alias para ls -l).
Uma outra opção de uso frequentemente é ls -ad (lista todos
os subdirectorias no directório corrente, mas não lista os
conteúdos).
Aula 3/4/5 - Sistemas Operativos
37
Exemplos:
$ls /etc
Lista os ficheiros existentes no directório etc
$ls /etc/a*
Lista todos os ficheiros do directório etc cujo nome começa por a
$ls nl????
Lista todos os ficheiros começados por nl e que possuem mais
quatro caracteres
$ls /bin/[a-f]*
Lista todos os ficheiros do directório bin cujo nome começa por
uma letra entre a e f
$ls /bin/[b,g]*
Lista todos os ficheiros do directório bin cujo nome começa por b
ou g
$ls -aR|more
Lista todos os directórios abaixo do actual por páginas
Aula 3/4/5 - Sistemas Operativos
38
Considerações sobre o nome de ficheiros Unix:
Em algumas versões do Unix, o nome dos ficheiros pode
ter até 256 caracteres (Ex. Santa Cruz).
Pode usar-se qualquer combinação de caracteres incluindo
números, excepto os caracteres seguintes que têm um
significado especial para o Shell:
! “ „‟ ; / ; $ <> ()
| { } [] ~
Maiúsculas e minúsculas são interpretadas
diferentemente: MENU.txt é diferente de menu.txt.
As extensões podem ter qualquer comprimento.
Dentro de um directório não podem existir nomes
duplicados.
Aula 3/4/5 - Sistemas Operativos
39
Símbolos de redireccionamento:
>
Indica ao computador onde colocar o output da linha de
comandos.
Ex. echo > teste cria o ficheiro teste com o conteúdo
especificado caso este não exista. Se já existe substitui o
conteúdo existente pelo novo conteúdo.
>>
Indica ao computador onde adicionar o output.
Ex. echo >> teste cria o ficheiro teste com o conteúdo
especificado caso este não exista. Se já existe adiciona o
novo conteúdo ao conteúdo existente.
<
Indica ao computador de onde vem o input para a linha
execução do comando
Ex. mail sara<mensagem utiliza o ficheiro mensagem para
enviar para o utilizador sara.
Aula 3/4/5 - Sistemas Operativos
40
Criação de ficheiros de texto simples:
echo
Envia as entradas do teclado para o terminal
directamente, ou para outro local se a saída for
redireccionada.
(echo > ou >> nome_ficheiro)
touch
Cria ficheiros simples de experiência e vazios quando
não existe outro já com o mesmo nome no directório de
trabalho.
(touch nome_ficheiro)
Aula 3/4/5 - Sistemas Operativos
41
Criação de ficheiros de texto simples:
cat
Cria ficheiros de texto de forma rápida, digitando texto
até que seja pressionada CTRL+d para terminar a
entrada.
(cat > nome_ficheiro)
cat >> fich1
acrescenta linhas no ficheiro
Aula 3/4/5 - Sistemas Operativos
42
Ver o conteúdo de um ficheiro:
cat > nome_fich
visualiza o conteúdo de um ficheiro;
cat > fich1 fich2 > fich_final
Com a utilização dos símbolos de redireccionamento
e com o comando cat é possível concatenar vários
ficheiros para um só.
Aula 3/4/5 - Sistemas Operativos
43
Ver o conteúdo de um ficheiro:
grep
procura palavras ou cadeias de caracteres dentro de
ficheiros.
(grep “texto a procurar” nome_ficheiro)
strings
Apresenta no ecrã qualquer cadeia de caracteres que
possa existir no interior de um ficheiro binário
Aula 3/4/5 - Sistemas Operativos
44
Ver o conteúdo de um ficheiro:
more
Imprime o conteúdo de um ficheiro página a página
(more nome_ficheiro)
Teclas de movimentação no more:
Q
ou
q
-sair do more
Enter - visualizar nova linha
Barra de espaços - visualizar nova página
/- permite pesquisar por palavras dentro de um
ficheiro a partir da localização actual.
Aula 3/4/5 - Sistemas Operativos
45
Ver o conteúdo de um ficheiro:
head
imprime as primeiras 10 linhas de um ficheiro se nada
for especificado (head nome_fich) ou o nº de linhas
indicado (head -5 nome_fich)
tail
imprime as últimas 10 linhas de um ficheiro se nada
for especificado (tail nome_fich) ou o nº de linhas
indicadas
(tail -5 nome_ficheiro)
Aula 3/4/5 - Sistemas Operativos
46
Procura de ficheiros na árvore de directórios:
find
Permite procurar um ficheiro numa hierarquia de directorias, a
partir de um ponto especificado pelo utilizador, o nome de um
ficheiro ou parte dele.
find
/
-name
tlp
-print
1
“/” indica ao find que deve iniciar a procura na raiz
“.” indica ao find que deve iniciar a procura a partir do directório
actual e continuar para os directórios abaixo
2
“-name” indica ao find que se refere a um nome de ficheiro ou
directório
“-user” procura todos os ficheiros pertencentes a um determinado
utilizador
3
Nome do ficheiro ou ficheiros que se pretende procurar
4
Para imprimir no ecran(opcional)
Aula 3/4/5 - Sistemas Operativos
47
Identificação de tipos de ficheiros:
Categorias dos ficheiros Unix
Ficheiros correspondentes a periféricos, como
terminais e impressoras
Ficheiros correspondentes às unidades de disco
Directórios
Ficheiros vulgares:
Ficheiros de texto em código ASCII
Ficheiros de código fonte
Programas de shell Unix
Ficheiros binários
Ficheiros de programas executáveis
Aula 3/4/5 - Sistemas Operativos
48
Identificação de tipos de ficheiros:
file
Permite identificar os vários tipos de ficheiros.
(file nome_ficheiro)
É conveniente saber a localização exacta dos ficheiros.
Os caracteres de escape “?” e “*” podem ser utilizados
com este comando.
Aula 3/4/5 - Sistemas Operativos
49
Cópia de ficheiros na árvore de directórios:
cp <origem> <destino>
Cria uma nova cópia de um ficheiro mantendo o
ficheiro original intacto para a directoria actual com
um novo nome ou para outra directoria com o mesmo
nome ou outro.
(cp nome_ficheiro novo_nome_ficheiro ou
directoria_destino)
A nova cópia substitui qualquer outra com o mesmo nome na
directoria para onde é criada a cópia.
Se forem copiados mais do que um ficheiro então o destino
deverá ser um directório.
No ficheiro de origem deve ter permissão de leitura e o de
destino deve ter permissão de escrita.
Aula 3/4/5 - Sistemas Operativos
50
Deslocação e alteração do nome de ficheiros:
mv <origem> <destino>
Permite alterar o nome de ficheiros e/ou movê-los.
(mv nome_ficheiro novo_nome_ficheiro ou
directoria_destino)
Aula 3/4/5 - Sistemas Operativos
51
Eliminação de ficheiros:
rm
Algumas opções do comando rm:
Permite a remoção de ficheiros e/ou directórios não
vazios.
(rm nome_ficheiro)
-d
permite remover directórios
-f
elimina os ficheiros protegidos contra escrita
-r ou
-R
elimina directórios e o respectivo conteúdo sem qualquer
aviso
-i
o sistema pede confirmação ao utilizador antes de eliminar
o ficheiro
Aula 3/4/5 - Sistemas Operativos
52