Buscar

Linux - Apostila do Curso de Linux Básico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 119 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 119 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 119 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Apostila do Curso de Linux B
�
asi
o
Ma´rcio Rodrigo de Freitas Carneiro
Livio Baldini Soares
ii
Sum�ario
1 Con
eitos b�asi
os 1
1.1 Mas o que �e o sistema opera
ional? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 O que �e UNIX e Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 O que �e uma distribui�
~ao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Partes do GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 O n�u
leo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.2 O restante | GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.3 A Filoso�a GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Usu�arios, grupos e senhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.1 Tipos de usu�arios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.2 Entrando no sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.3
�
Area do usu�ario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.4 Arquivos importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.5 Comandos rela
ionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.6 Criando um novo grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.7 Alterando a senha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 A intera�
~ao 
om o usu�ario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.1 Console virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.2 O interpretador de 
omandos | shell . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 O sistema de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8 Tipos de arquivos no sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8.1 Arquivo 
omuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8.2 Diret�orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.8.3 Liga�
~oes simb�oli
as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.8.4 Outros tipos espe
iais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.9 Visualizando arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.9.1 O 
omando 
at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.9.2 O 
omando more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.9.3 O 
omando less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.9.4 O 
omando reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.10 Te
las importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.11 Informa�
~oes e ajuda ini
iais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.11.1 P�aginas manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.11.2 Se�
~oes das p�aginas manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.12 Computadores em rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.13 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
iii
iv SUM
�
ARIO
2 Comandos b�asi
os 17
2.1 Manipula�
~ao de arquivos e diret�orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Listagem: o que h�a no dis
o? | O 
omando ls . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Como mudar de diret�orio? | O 
omando 
d . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.3 E para 
riar um diret�orio? | O 
omando mkdir . . . . . . . . . . . . . . . . . . . . . 19
2.1.4 E para remover um diret�orio? | O 
omando rmdir . . . . . . . . . . . . . . . . . . . . 19
2.1.5 E para mover arquivos ou diret�orios? | O 
omando mv . . . . . . . . . . . . . . . . . 19
2.1.6 E para apagar um arquivo? | O 
omando rm . . . . . . . . . . . . . . . . . . . . . . 20
2.1.7 E para 
opiar arquivos? | O 
omando 
p . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.8 Mas o que s~ao liga�
~oes (links)? | O 
omando ln . . . . . . . . . . . . . . . . . . . . . 20
2.1.9 Como sei em que diret�orio realmente estou? | O 
omando pwd . . . . . . . . . . . . 22
2.2 Mas o que �e um 
omando? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 O 
omando e
ho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Os 
omandos whi
h e type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Fa
ilitando a vida { 
riando apelidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1 De�nindo um apelido, o 
omando alias . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.2 Removendo um apelido, o 
omando unalias . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.1 Os mais simples: mkdir e rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.2 Passeio | 
d e pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.3 O mais 
omplexo: ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.4 C�opias, e mais 
�opias | 
p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.5 Cria�
~ao de liga�
~oes | ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Arquivos e pro
essos 27
3.1 Permiss~oes e posse de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Como veri�
ar permiss~oes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.2 Altera�
~ao de usu�ario ou grupo na exe
u�
~ao . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.3 Como alterar posse? | O 
omando 
hown . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.4 Como alterar o grupo? | O 
omando 
hgrp . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.5 E para alterar permiss~oes? | O 
omando 
hmod . . . . . . . . . . . . . . . . . . . . . 29
3.1.6 E na 
ria�
~ao de arquivos? | O 
omando umask . . . . . . . . . . . . . . . . . . . . . 31
3.2 Pro
essos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Visualizando pro
essos e suas propriedades | O diret�orio /pro
 . . . . . . . . . . . . 31
3.2.2 Listagem de pro
essos | O 
omando ps . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.3 O 
omando top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Sinais no Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1 O 
omando kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.2 Prioridades { o 
omando ni
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.3 Alterando prioridade de pro
esso { o 
omando reni
e . . . . . . . . . . . . . . . . . . . 38
3.4 Trabalhos (jobs) do bash . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Como obter informa�
~oes sobre trabalhos? | O 
omando jobs . . . . . . . . . . . . . . 39
3.4.2 Primeiro e segundo planos | Os 
omandos bg e fg . . . . . . . . . . . . . . . . . . . . 40
3.5 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 Redire
ionamento e bus
a de padr~oes 43
4.1 Arquivos padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Redire
ionamento para arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Con
atena�
~ao de arquivos | O 
omando 
at . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Redire
ionamento para pro
essos (pipes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 Filtro de ordena�
~ao | O 
omando sort . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
SUM
�
ARIO v
4.3.2 Filtro de sele�
~ao | O 
omando 
ut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.3 Dupli
ando a entrada | O 
omando tee . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Bus
a de padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.1 Padr~oes do bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.2 Express~oes regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.3 O 
omando grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5 Ambiente gr�a�
o no Linux 51
5.1 O X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.1 O sistema de ini
iliza�
~ao do X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.2 Abrindo outro X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.3 Display e o 
omando xhost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.4 Tamanho e posi�
~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.5 Cores e o 
omando showrgb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.6 Fontes e o 
omando xlsfonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Geren
iadores de janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 O geren
iador Fvwm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.2 O geren
iador AfterStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.3 O geren
iador Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.4 O geren
iador Enlightenment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3 Ambientes de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.1 O sistema KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.2 O sistema Gnome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4 Altera�
~ao do geren
iador de janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6 Instalando o Linux (Debian) 57
6.1 Pegando uma distribui�
~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 Es
olhendo o te
lado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.3 Parti
ionar um Dis
o R��gido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.4 Ini
ializando e ativando uma parti�
~ao de swap . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.5 Ativando uma parti�
~ao Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.6 Instalar o kernel e os m�odulos dos dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.7 Con�gurando os m�odulos dos dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.7.1 A entrada /pro
/p
i e o 
omando ls
pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.8 Instalar a rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.9 Instalar o sistema base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.10 Deixar o sistema boot�avel e 
ria�
~ao do disquete de res
ue . . . . . . . . . . . . . . . . . . . . 60
6.10.1 O LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.10.2 O GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.11 Instala�
~ao de pa
otes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.11.1 Pa
otes { RPM e DEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.11.2 Debian e os 
omandos dpkg, dsele
t e apt-* . . . . . . . . . . . . . . . . . . . . . . . . 63
6.11.3 RedHat/Cone
tiva e os 
omandos rpm, managerpm e apt-* . . . . . . . . . . . . . . . . 64
6.11.4 O alien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.12 Con�gura�
~ao do X Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.12.1 O 
omando SuperProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.12.2 O apli
ativo xf86
on�g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.12.3 O apli
ativo X
on�gurator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.12.4 O apli
ativo XF86Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.12.5 O 
omando xvidtune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
vi SUM
�
ARIO
6.13 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7 Ferramentas e apli
ativos 69
7.1 Apli
ativos gen�eri
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1.1 O 
omando �le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1.2 Os 
omandos gzip e gunzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1.3 Os 
omandos bzip2 e bunzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.1.4 O 
omando tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.2 Navega�
~ao na teia | WWW e HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.2.1 Navegadores gr�a�
os | Nets
ape, konqueror, galeon e nautilus . . . . . . . . . . . . . . 72
7.2.2 Navegadores texto | Lynx e w3m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3 Editores de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3.1 O editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.3.2 O editor Joe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.4 Visualiza�
~ao de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.4.1 O formato PostS
ript e o gv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.4.2 O formato DVI e o xdvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.4.3 O Portable Do
ument Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.4.4 Formatos de �guras| JPEG, GIF e PNG . . . . . . . . . . . . . . . . . . . . . . . 74
7.5 Impress~ao de arquivos na rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.1 Convers~ao de arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.2 Convers~ao de arquivos DVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.3 Como imprimir na rede? | O 
omando lpr, lpq e lprm . . . . . . . . . . . . . . . . . . 75
8 Ema
s 79
8.1 O que o Ema
s faz? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.2 In��
io no programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.3 A apar^en
ia do Ema
s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.4 Comandos e atalhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.4.1 Movimenta�
~ao no texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.4.2 Arquivos e ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.4.3 Edi�
~ao de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.5 Modos de opera�
~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.5.1 O pa
ote Au
-T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.5.2 Os modos C e C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.5.3 O pa
ote JDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.5.4 Preen
himento autom�ati
o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.5.5 Colora�
~ao auxiliar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.6 Mais ferramentas �uteis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.6.1 Bus
a e tro
a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.6.2 Corre�
~ao ortogr�a�
a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9 Pro
essamento de texto | L
A
T
E
X 89
9.1 Edi�
~ao e pro
essamento de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.2 Os pro
essadores T
E
X e L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.3 B�asi
o do L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.3.1 Fun
ionamento dos 
ara
teres espe
iais . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.3.2 A estrutura do arquivo .tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.3.3 Classes de do
umentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.3.4 Pa
otes adi
ionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.4 Formata�
~ao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
SUM
�
ARIO vii
9.5 S��mbolos espe
iais e a
entos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.6 Parti
ionamento do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.7 Ambientes (environment) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.7.1 Ambiente matem�ati
o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.7.2 Gera�
~ao de tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.7.3 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.8 O L
A
T
E
X faz sozinho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.9 Prin
ipais arquivos do L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.10 Comandos rela
ionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10 M�odulos e dispositivos 97
10.1 Ini
ializa�
~ao do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.1.1 O 
omando dmesg e o arquivo /var/log/syslog . . . . . . . . . . . . . . . . . . . . . . 97
10.1.2 O init e o arquivo /et
/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.2 M�odulos do kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.2.1 O 
omando lsmod e o arquivo /pro
/modules . . . . . . . . . . . . . . . . . . . . . . . 100
10.2.2 Carregando um m�odulo { os 
omandos insmod e modprobe . . . . . . . . . . . . . . . . 100
10.2.3 Removendo um m�odulo { o 
omandos rmmod . . . . . . . . . . . . . . . . . . . . . . . 101
10.3 Montagem de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.3.1 O 
omando mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.3.2 O 
omando umount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.3.3 O arquivo /et
/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.4 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
11 Desenvolvimento I - S
ripts 105
11.1 O que �e um s
ript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11.2 O sh e o bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.2.1 Sintaxe geral do bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.2.2 Pipes | 
riando 
omuni
a�
~ao entre os 
omandos . . . . . . . . . . . . . . . . . . . . . 106
11.2.3 Lista de 
omandos | exe
utando 
omandos sequen
ialmente . . . . . . . . . . . . . . 106
11.2.4 Intera�
~ao | until, while, e for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.2.5 Condi
ionais | if, 
ase, e sele
t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.2.6 De
larando fun�
~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.2.7 Vari�aveis padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.3 O Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.4 Exer
��
ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
�
Indi
e Remissivo 109
viii SUM
�
ARIO
Cap��tulo 1
Con
eitos b�asi
os
Vamos introduzir aqui alguns 
on
eitos b�asi
os, tanto de 
omputadores em geral, quanto do UNIX pro-
priamente dito. Mas antes ainda, um pou
o do hist�ori
o e de de�ni�
~oes.
1.1 Mas o que �e o sistema opera
ional?
Para o 
omputador poder exe
utar programas e interagir 
om o usu�ario, �e ne
ess�ario a existe^n
ia de
um programa que realize uma interfa
e entre o programador e a m�aquina. Assim, um programador pode
ainda desenvolver produtos que permitam o usu�ario utilizar a m�aquina de forma pr�ati
a e r�apida. O sistema
opera
ional �e o programa que forne
e ao programador um interfa
e pr�ati
a para o uso dos 
�odigos do
omputador, al�em de proteger a m�aquina de opera�
~oes indesej�aveis, isto �e, limitar o a
esso dos usu�arios
aos re
ursos dispon��veis. A tarefa de permitir que v�arios pro
essos exe
utem simultaneamente (isto �e, a
simula�
~ao de que a m�aquina pode exe
utar mais de uma opera�
~ao ao mesmo tempo) tamb�em �e tarefa do
sistemaopera
ional.
Alguns exemplos de sistemas opera
ionais bastante 
onhe
idos no mer
ado s~ao: DOS, Windows, Ma
hin-
tosh OS, e a fam��lia de UNIX (Linux, BSD, Solaris, et
.).
Apesar de alguns sistemas 
ompletos, que in
luem a interfa
e 
om o usu�ario, serem 
hamados de sistema
opera
ional, em geral, apenas o 
�odigo b�asi
o, que prove a opera
ionabilidade da m�aquina deve ser 
on-
siderado. V�arios paradigmas s~ao utilizados para o desenvolvimento de um sistema opera
ional, e veremos
prin
ipalmente a id�eia por tr�as do Linux.
1.2 O que �e UNIX e Linux?
O UNIX, hoje, �e prati
amente um modelo de sistema opera
ional, multiusu�ario e multitarefa, que foi
riado pela primeira vez em 1969, por Ken Thompson e Dennis Rit
hie. O nome na verdade �e antago^ni
o
a sua 
ara
ter��sti
a de multitarefa, mas por ser o nome ini
ial do sistema, que ini
ialmente era bastante
simples, e apenas exe
utava pro
essos sequen
ialmente.
Nesses 30 anos de existe^n
ia, v�arias vers~oes foram desenvolvidas. Grande empresas e institui�
~oes de
ensino investiram em implementa�
~oes pr�oprias, mas sempre seguindo a mesma id�eia, prin
ipalmente em
rela�
~ao a interfa
e 
om o usu�ario e 
om o programador. Hoje, os sistemas 
omer
iais mais 
onhe
idos s~ao
o Solaris da Sun, o HP-UX da Hewlett Pa
kard, o Irix da Sili
on Graphi
s, In
. e o True-64 da Digital.
Al�em disso, o famoso BSD (que 
ont�em v�arias rami�
a�
~oes), desenvolvido em Berkley, se mant�em bastante
presente, prin
ipalmente por ser gratuito.
Com a populariza�
~ao do UNIX e re
onhe
imento de que o UNIX era um sistema opera
ional muito
poderoso e 
ex��vel foi 
riado um 
onjunto de interfa
es padr~oes para sistemas opera
ionais. Esse padr~ao, o
mais re
onhe
ido at�e hoje, teve sua primeira vers~ao lan�
ada em 1989, e �e 
hamado de POSIX (Portable
1
2 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
Operating System Interfa
e, originalmente a sigla era, Portable Operating System for Unix). O POSIX foi
totalmente baseado no UNIX, apesar de ter algumas mudan�
as 
om rela�
~ao aos primeiros Uni
es.
O POSIX surgiu prin
ipalmente porque haviam diversas pequenas diverge^n
ias 
om rela�
~ao aos Uni
es
dispon��veis na �epo
a, e havia uma ne
essidade de padroniza�
~ao das interfa
es dos sistemas opera
ionais para
que os apli
ativos n~ao pre
isassem ser rees
rito para 
ada sabor de UNIX diferente. O POSIX de�ne tanto
interfa
es 
om as apli
a�
~oes 
omo alguns aspe
tos de interfa
e b�asi
a 
om o usu�ario e alguns outros aspe
tos.
Dessa forma, se uma apli
a�
~ao utilizar apenas re
ursos de�nidos no POSIX, este programa deveria rodar
sem problemas em todos os sistemas opera
ionais 
ompat��veis 
om o POSIX. O POSIX se tornou muito
importante e todos os Uni
es 
riados desde sua 
ria�
~ao tentam manter 
ompatibilidade 
om ele. O pr�oprio
Windows NT da Mi
rosoft que n~ao tem 
ara de UNIX tem 
ompatibilidade 
om o padr~ao POSIX, tamanha
sua importa^n
ia.
Um pou
o mais tarde, em 1991, o estudante de 
omputa�
~ao �nlande^s Linus Torvalds, 
ursando sua
gradua�
~ao, foi introduzido ao Minix. O Minix �e um sistema opera
ional 
om �ns edu
ativos es
rito pelo
Andrew Tanembaum, tamb�em baseado no UNIX, s�o que muito mais simpli�
ado, para o entendimento de
seus alunos. O Linus, usando 
omo base oMinix, es
reveu um kernel pequeno, baseado em seu 
onhe
imento
de sistemas opera
ionais. Sua id�eia era o desenvolvimento de um sistema gratuito, que pudesse ser utilizado
nos 
omputadores 386, simples, mas baratos, que estavam dispon��veis para o seu uso, baseando-se no UNIX.
Ao disponibilizar na Internet o seu 
�odigo, muitas pessoas a
haram interessante, e um desenvolvimento em
onjunto 
ome�
ou a ser realizado. Em apenas alguns anos, o sistema j�a estava bastante utiliz�avel. Hoje,
10 anos depois, o Linux j�a pode ser usado em diversas plataformas, e suporta uma grande variedade de
equipamentos.
1.3 O que �e uma distribui�
~ao?
Com a popularizal�
~ao do Linux houve a ne
essidade de 
riar-se formas de instala�
~ao simples. Al�em disso
existiu a ne
essidade de instalar os apli
ativos que o Linux rodava. S�o que, nem todos os usu�arios tem tempo
e energia para pegar o 
�odigo fonte, 
ompilar o programa, instalar os programas em lugares devidos, e fazer
a 
on�gura�
~ao desses apli
ativos. Outro aspe
to �e a atualiza�
~ao dos apli
ativos que podem ser bastante
frequente.
As distribui�
~oes surgiram 
om esse prop�osito. Fa
ilitar a instala�
~ao e manutan�
~ao do sistema Linux.
Uma distribui�
~ao geralmente 
ont�em um sistema de instala�
~ao ini
ial, e al�em disso um sistema para manu-
ten�
~ao de apli
ativos, isto �e, in
lus~ao, remo�
~ao ou atualiza�
~ao de apli
ativos no sistema. Para isso foi 
riado
a id�eias de pa
otes. Hoje em dia todas as distribui�
~oes te^m 
omo base 
entral um sistema de pa
otes. Um
pa
ote �e o en
apsulamento de um apli
ativo, 
ompontente, ou bibliote
a, j�a 
ompilado. Ele tamb�em 
ont�em
uma vers~ao, pr�e-requisitos de instala�
~ao e pequenos \s
ripts" que realizam sua instal�
~ao ou remo�
~ao.
Existem grandes grupos se formaram 
om esse objetivos. Alguns s~ao 
omer
iais, ou outros n~ao e geral-
mente possuem alguma 
ara
ter��sti
a �uni
a 
om rela�
~ao �as outras. As distribui�
~oes mais famosas e utilizadas
atualmente s~ao (em ordem alfab�eti
a):
Cone
tiva No Brasil, a empresa Cone
tiva montou uma distribui�
~ao baseada na RedHat. Agora a
Cone
tiva �e a maior empresa de Linux em toda Am�eri
a Latina, tamb�em ofere
endo 
ursos. Fi
ou
mundialmente famoso por portar o sistema APT (originalmente da Debian) para os pa
otes RPM.
Site: www.
one
tiva.
om.br.
Corel Linux Essa distribui�
~ao foi baseada na Debian e feita pela famosa empresa Corel. Site: li-
nux.
orel.
om.
Debian Essa distribui�
~ao �e totalmente mantida por volunt�arios por volta do mundo todo, e �e 
onsagrada
omo a distribui�
~ao mais est�avel que existe. Considerada uma das distribui�
~oes mais \puras" e pode
exigir um pou
o mais de 
onhe
imento do usu�ario, entretanto, tem sistema de atualiza�
~ao bem mais
transparente do que as outras. Site: www.debian.org
1.4. PARTES DO GNU/LINUX 3
Mandrake Distribui�
~ao tamb�em baseada naRedHat, bastante famosa. Site: www.linux-mandrake.
om
RedHat Essa deve ser a distribui�
~ao mais utilizada no mundo todo.
�
E um sistema muito f�a
il para instalar
pela primeira vez, portanto a RedHat e as distribui�
~oes baseadas nela, s~ao re
omentadas para a
instala�
~ao por um usu�ario novato. Site: www.redhat.
om
Sla
kware Distribui�
~ao muito famosa no in��
io do Linux, mas hoje em dia o interesse por essa distribui�
~ao
aiu bastante, e tamb�em o seu desenvolvimento. Site: www.sla
kware.
om
SuSE Distribui�
~ao ini
ialmente baseada na Debian, ofere
e diversos servi�
os, e um sistema de instala�
~ao
um pou
o mais amig�avel. Site: www.suse.
om
Essas distribui�
~oes, em geral, podem ser instaladas por diversas maneiras. As duas maneiras mais 
omuns
de instal�
~ao �e via um (ou alguns) CD, e a outra �e pela rede (Internet). Geralmente todas as distribui�
~oes
disponibilizam, gratuitamente, toda distribui�
~ao em algum servidor, e pode ser baixada. Para quem tem
a
esso a banda larga esse m�etodo pode ser muito bom. Mas para as pessoas que queiram instalar em 
asa
ou em algum lo
al sem banda larga �e desej�avel utilizar CD's 
om a distribui�
~ao. Hoje em dia os CD's das
diversas distribui�
~oes podem ser en
ontrados em sites de vendas, livrarias de inform�ati
a, ou �as vezes at�e em
revistas de inform�ati
a espe
ializadas em Linux.
1.4 Partes do GNU/Linux
Hoje o GNU/Linux �e um sistema bastantepopular, prin
ipalmente pelo fato de ser gratuito e livre, e
pelos meios de 
omuni
a�
~ao ajudarem nessa divulga�
~ao. Entretanto, as pessoas se referem ao sistema todo
omo Linux, o que �e in
orreto. O Linux �e apenas uma parte do sistema, �e o n�u
leo do sistema opera
ional,
e o restante s~ao programas desenvolvidos para a mais diversas fun�
~oes.
1.4.1 O n�u
leo do sistema
Como dito, apenas o 
�odigo prin
ipal do sistema �e o Linux. Esse 
�odigo �e 
hamado de kernel ou n�u
leo.
No Linux, esse 
�odigo �e monol��ti
o, isto �e, um grande blo
o de 
�odigo �e 
ompilado, e esse programa permite a
ini
ializa�
~ao e opera�
~ao do sistema. V�arios drivers (
�odigo ne
ess�ario para o fun
ionamento de um perif�eri
o)
de dispositivos podem ser utilizados apenas quando ne
ess�arios, sendo assim 
ompilados 
omo m�odulos.
Apesar dessa modulariza�
~ao do 
�odigo, o sistema ainda assim �e monol��ti
o, pois n~ao divide as opera�
~oes
em 
amadas independentes, o que poderia fa
ilitar na abstra�
~ao do 
�odigo para por exemplo um r�apida
portabilidade para outras plataformas.
1.4.2 O restante | GNU
Um pou
o antes do surgimento do Linux, um projeto fundado por Ri
hard Stallman j�a estava sendo
desenvolvido, 
om o intuito de prover um sistema opera
ional 
ompleto, 
om todos os programas �uteis,
baseado em UNIX, mas gratuito. Entretanto, o r�apido 
res
imento do Linux prati
amente desestabilizou o
desenvolvimento do kernel de Stallman, 
hamado HURD. Entretanto, uma fus~ao dos projetos o
orreu (e
de fato, o Linux est�a sob a li
en�
a 
riada por Stallman, a GPL). Portanto, o que se utiliza hoje �e o sistema
GNU/Linux, 
omposto do kernel do Linus, e dos programas do projeto GNU, al�em de outros produtos
omer
iais ou de li
en�
as diferen
iadas.
O projeto GNU (Gnu is Not Unix ) �e o respons�avel pela maioria dos programas �uteis do GNU/Linux.
Alguns programas apenas est~ao sob a li
en�
a do projeto, GPL (Gnu Publi
 Li
ense), mas 
omo s~ao desen-
volvidos 
om a mesma \�loso�a", s~ao 
onsiderados GNU.
4 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
1.4.3 A Filoso�a GNU
Uma 
oisa que um usu�ario do GNU/Linux deve ter em mente quando utilizar o sistema �e a �loso�a GNU.
O projeto GNU tem 
omo base a id�eia de software livre (free software).
�
E essen
ial observar a diferen�
a
do 
on
eito de gratuidade e liberdade. O software livre n~ao tem 
omo objetivo prin
ipal a gratuidade de
seus programas 
omo muitos pensam, mas sim a liberdade total de seus programas. Assim os programas
que est~ao li
en
iados 
om a GPL garantem a qualquer desenvolvidor ou usu�ario liberdade total de exe
utar,
opiar, distribuir, estudar e modi�
ar o 
�odigo do programa em quest~ao.
Mais pre
isamente o software livre garante quatro tipos de liberdade para os usu�arios de software:
� A liberdade de exe
utar o programa, para qualquer prop�osito (liberdade n�umero 0).
� A liberdade de estudar 
omo o programa fun
iona, e adapt�a-lo para as suas ne
essidades (liberdade
n�umero 1). A
esso ao 
�odigo-fonte �e um pr�e-requisito para esta liberdade.
� A liberdade de redistribuir 
�opias de modo que vo
e^ possa ajudar ao seu pr�oximo (liberdade n�umero
2).
� A liberdade de aperfei�
oar o programa, e liberar os seus aperfei�
oamentos, de modo que toda a 
o-
munidade se bene�
ie (liberdade n�umero 3). A
esso ao 
�odigo-fonte �e um pr�e-requisito para esta
liberdade.
O projeto GNU permitiu que essas liberdades fossem exer
idas por muitos usu�arios e as 
onseque^n
ias
disso s~ao muito importante. A primeira 
onseque^n
ia foi a 
ria�
~ao do desenvolvimento 
ooperativo pela
Internet. O desenvolvimento 
ooperativo permitiu um in
r��vel aumento na qualidade e quantidade dos
programas existentes. O desenvolvimento 
ooperativo tem diversas vantagens sobre o desenvolvimento de
programas propriet�arios. As vantagens mais 
ontundentes s~ao:
� Como os programas livres s~ao desenvolvidos por muitas pessoas, eventualmente �si
amente distantes,
e estas pessoas est~ao desenvolvendo por prazer, 
omumente vemos que a qualidade desses programas �e
extremamente alta. T~ao bom ou muitas vezes at�e melhor do que os produtos equivalentes propriet�arios.
� Para efeitos edu
a
ional, o software livre �e um meio para tro
a de 
onhe
imento. Um aluno tem toda
a liberdade de estudar o 
�odigo, ou t�e
ni
a, usada em algum programa. Em 
�odigo propriet�ario isso
n~ao permitido, e mais, �e proibido.
� Qualquer pessoa que tenha interesse pode parti
ipar do desenvolvimento de software livre basta possuir
um 
omputador ligado a internet, ou seja n~ao h�a restri�
~oes quanto aos parti
ipantes. Isso impli
a que
o p�ubli
o testador (beta testers) �e extremamente grande, permitindo um teste bastante extenso em
sistemas e arquiteturas muito distintas.
A Filoso�a GNU, portanto, �e uma maneira muito diferente de ver a quest~ao de software e todo o universo
Linux vai gerar em volta do software livre. O kernel do Linux, 
om o suporte extenso que tem hoje em dia,
n~ao poderia ser 
onstru��do de outra forma sen~ao pelo desenvolvimento 
ooperativo.
�
E interessante observar
que o n�umero de apli
ativos e projetos existentes para o Linux �e assustador.
1.5 Usu�arios, grupos e senhas
O UNIX �e um sistema multiusu�ario. Isso signi�
a que em uma mesma m�aquina, v�arios usu�arios podem
estar 
one
tados, por exemplo, atrav�es de diversos terminais. Para isso o sistema armazena em um arquivo
os nomes dos usu�arios (username), e que no UNIX em geral �e limitado a 8 
ara
teres. Portanto, quando
um usu�ario a
essa o sistema 
om seu nome, todos os programas que forem exe
utados por ele ter~ao 
omo
identi�
ar qual o usu�ario e poder�a pegar a 
on�gura�
~ao desejada por aquele usu�ario e tmab�em poder�a
restringir o a
esso a algumas partes de sistema.
1.5. USU
�
ARIOS, GRUPOS E SENHAS 5
Por ser um sistema multiusu�ario, �e ne
ess�ario um me
anismo que proteja o sistema de usu�arios n~ao
autorizados, e al�em disso, permite que um usu�ario n~ao a
esse arquivos de outros usu�arios. Portanto, 
ada
usu�ario tem uma senha, que tamb�em em geral �e limitada a 8 
ara
teres, mas que a
eita 
ara
teres mai�us
ulos,
min�us
ulos, n�umeros e s��mbolos espe
iais. A importa^n
ia prin
ipal da senha �e a prote�
~ao do pr�oprio usu�ario,
para que nenhuma pessoa possa alterar informa�
~oes em seus arquivos. Al�em disso, pessoas n~ao autorizadas
podem tentar invadir o sistema, e podem 
onseguir tal fa�
anha mais fa
ilmente se tiverem uma senha que
as possibilite a
essar o sistema 
omo usu�ario. Na realidade, internamente, todo usu�ario �e representado por
um n�umero, este n�umero �e 
hamado de userid e �e distinto para todos os usu�arios do sistema.
Al�em disso �e poss��vel a 
ria�
~ao de grupos de usu�arios. A prin
��pio todo usu�ario perten
e a pelo menos
um grupo. Mas �e poss��vel a 
ria�
~ao de diversos grupos de usu�arios. Assim os re
ursos ou arquivos podem
ser restritos por grupos, isto �e, pode-se liberar uso de alguns re
ursos para todos os usu�arios que perten
em
a um determinado grupo. Analogamente esse grupos tamb�em s~ao representados no sistema por n�umeros,
hamados groupid, e tamb�em �e distinto para todos os grupos do sistema.
O 
ap��tulo 3 
ont�em informa�
~oes interessantes sobre os re
ursos dispon��veis para a separa�
~ao entre
usu�arios do sistema.
1.5.1 Tipos de usu�arios
Existem basi
amente 3 tipos de usu�arios diferentes nos sistemas UNIX. Cada tipo de usu�ario tem uma
fun�
~ao e �e importante observar isso j�a que a base do UNIX �e 
entrada numa pol��ti
a de usu�arios.
omuns Usu�arios 
omuns s~ao os usu�arios os quais estamos a
ostumados. Geralmente representauma pessoa
f��si
a e real. Vo
e^ e todos as pessoas que 
ompartilham o mesmo sistema s~ao os usu�arios 
omuns.
do sistema Esses n~ao representam pessoas f��si
as. S~ao geralmente usu�arios que representam programas que
rodam em fundo. Exemplos desses usu�arios s~ao usu�arios para servidores de HTTP, SMTP, et
. S~ao
essen
iais para que o sistema exe
ute alguma fun�
~ao autom�ati
a em alguma �area restrita do sistema.
root Esse �e o usu�ario que \administra" o sistema UNIX. Esse �e um �uni
o usu�ario 
om poderes totais sobre
todos os arquivos e disposotivos do sistema. A id�eia que a pessoa en
arregada de fazer a manuten�
~ao
do sistema (fazer instala�
~ao de programas, veri�
ar seguran�
a, realizar o ba
kups, et
). Na realidade
o \root" tem o seu userid igual a 0. Portanto qualquer usu�ario 
om userid igual a zero ter�a poderes
\totais" neste sistema.
1.5.2 Entrando no sistema
A primeira 
oisa a fazer num sistema multiusu�ario �e se identi�
ar para o sistema. Geralmente �e usado
um angli
ismo \logar" para denotar esse ato. Este exer��
io �e essen
ial e ser�a feito todos as vezes que quiser
entrar no sistema. A primeira 
oisa que o usu�ario ve^ ao olhar para tela �e a seguinte linha no 
onsole:
Linux login:
Ao digitar o username do usu�ario e depois enter, temos uma nova linha no 
onsole:
Password:
Agora a senha deve ser digitada. Se o nome do usu�ario e a senha estiverem 
orretas, ent~ao vo
e^ deve ter
entrado no sistema... boa sorte!
6 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
1.5.3
�
Area do usu�ario
Todo usu�ario tem uma �area pessoal 
hamada de HOME (
asa). Essa �area, na verdade, nada mais �e do
que um diret�orio no sistema de arquivos que o usu�ario tem permiss~ao 
ompleta de olhar e manipular. Esse
diret�orio, tradi
ionalmente, �
a armazenado dentro do diret�orio /home do sistema de arquivos. Ent~ao, se
um usu�ario tiver um login pipo
a, sua �area �
aria no diret�orio /home/pipo
a/.
Essa �area �e importante, pois al�em de permitir um lo
al para o usu�ario guardar seus arquivos pessoais,
tamb�em permite 
om que qualquer apli
ativo veri�que as 
on�gura�
~oes espe
���
as daquele usu�ario. Isso
impli
a que todos os programas podem ter uma 
on�gura�
~ao diferente para 
ada usu�ario do sistema.
1.5.4 Arquivos importantes
�
E muito importante observar que todos os aspe
tos de 
on�gura�
~ao que um sistema UNIX tem �e a
ess��vel
atrav�es de arquivos. Isso �e uma 
oisa que pode demorar para a
ostumar, mas �e inevit�avel. Os usu�arios, grupos
e senhas existentes no sistema s~ao tamb�em todos a
ess��veis a partir de
Todos os usu�ario e grupos de�nidos num sistema est~ao de�nidos em arquivos (podendo tamb�em ser
arquivos remotos, disponibilizados por algum servidor). Aqui vamos dar uma olhada nos arquivos que
de�nem os usu�arios, grupos e senhas do um sistema UNIX.
/et
/passwd Apesar de seu nome, este �e o arquivo de usu�arios do sistema. Aqui est~ao listados todos os
usu�arios que existem no sistema, tanto os usu�arios 
omuns quanto os usu�arios do sistema. Antigamente,
esse arquivo tamb�em abrigava as senhas que os usu�arios tiham (da�� o nome passwd), mas por motivos
de seguran�
a as senhas ganharam seu arquivo pr�oprio, expli
ado a seguir. Tipi
amente, o arquivo
passwd 
ont�em 7 
ampos separados pelo 
ara
tere ':', da seguinte forma:
� Nome de login { Este �e o username do usu�ario, tipi
amente, letras min�us
ulas, 
om 
omprimento
m�aximo de 8 
ara
teres.
� Senha Criptografada [op
ional℄ { Este 
ampo �e op
ional, podendo ser apenas um 
ara
tere 'x'
indi
ando que a senha real est�a no arquivo /et
/shadow.
� ID num�eri
o do usu�ario - o userid do usu�ario
� ID num�eri
o do grupo - o groupid a qual o usu�ario perten
e
� Nome real do usu�ario
� Diret�orio home do usu�ario
� Shell do usu�ario
/et
/shadow Este arquivo foi 
riado 
om o pr�oposito de o
ultar as senhas do sistema do arquivo passwd.
O arquivo passwd pre
isa ser p�ubli
o para que outros programas e usu�arios obtenha informa�
~oes sobre
os demias usu�arios do sistema. Entretanto tradi
ionalmente o arquivo j�a 
ontinha as senhas 
riptogra-
fadas, o que pode ser in
oveniente em alguns 
asos. Portanto as senhas 
riptografadas foram retirados
do arquivo passwd e 
olo
ada neste.
/et
/group Este arquivo de�ne os grupos aos quais os usu�arios perten
em.
�
E poss��vel 
riar diversos grupos
e um mesmo usu�ario pode perten
er a diversos grupos tamb�em.
1.5.5 Comandos rela
ionados
Neste se�
~ao apresentaremos alguns 
omandos importantes para a visualiza�
~ao e manipula�
~ao das in-
forma�
~oes rela
ionadas 
om usu�arios, senhas, e grupos. Al�em disso, veremos o que os programas est~ao
alterando em nosso sistema, ou seja, quais opera�
~oes s~ao exe
utadas e quais arquivos est~ao sendo alterados.
Isso �e sempre importante para que o usu�ario tenha 
ie^n
ia do que 
ada 
omando realmente faz.
1.5. USU
�
ARIOS, GRUPOS E SENHAS 7
Criando um novo usu�ario
Talvez a primeira 
oisa que queremos fazer �e a 
ria�
~ao de um novo usu�ario. As diversas distribui�
~oes te^m
diferentes maneiras de fazer a 
ria�
~ao. Os dois 
omandos mais 
omuns (e que 
omumente s~ao o mesmo) �e o
useradd ou adduser. Para ver a sintaxe desses 
omandos �e poss��vel exe
ut�a-los 
om o argumento \--help".
adduser Geralmente esse 
omando se apresenta de forma interativa 
om o usu�ario, ou seja, n~ao �e ne
ess�ario
dispor todas as informa�
~oes na linha de 
omando. Esse 
omando tamb�em todas outras utilidades,
dependendo de sua sintaxe.
O arquivo que 
on�gura 
omo o usu�ario ser�a 
riado �e o /et
/adduser.
onf. Para saber mais sobre
esse 
omando, leia a p�agina manual do adduser e adduser.
onf.
useradd Esse 
omando �e um pou
o menos amig�avel, exigindo que vo
e^ passe as informa�
~oes do novo usu�ariio
omo argumentos (para^metros) ao 
omando.
Para saber mais sobre esse 
omando, leia a p�agina manual do useradd.
Essen
ialmente, qualquer 
ria�
~ao de usu�ario realiza os seguintes passos:
1 Inser�
~ao no arquivo /et
/passwd. Como vimos, aqui ser�a registrado o login do usu�ario, nome, user id,
group id, �area de trabalho e shell.
2 Inser�
~ao no arquivo /et
/group.
3 Inser�
~ao no arquivo /et
/shadow, inserindo a senha desse usu�ario.
4 Cria�
~ao de uma �area de trabalho para o usu�ario, geralmente algo 
omo /home/login/.
5 C�opia do 
onte�udo do diret�orio /et
/skel/ para a �area de trabalho desse usu�ario, para que o usu�ario j�a
tenha alguns arquivos de 
on�gura�
~ao j�a pr�e-
on�gurados.
1.5.6 Criando um novo grupo
Como j�a dito, grupos s~ao importantes, pois possibilitam a uni~ao de diversos usu�arios em uma �uni
a 
lasse
de tal forma que possam 
ompartilhar permiss~oes rela
ionadas 
om arquivos.
Analogamente �a 
ria�
~ao de novos usu�arios, a 
ria�
~ao de novos grupos tem dois 
omandos \
l�assi
os", o
addgroup e o groupadd. A sintaxe geral desses 
omandos �e:
groupadd|addgroup [-g gid℄ grupo
O que esses dois programas fazem �e alterar apropriadamente o arquivo /et
/group, 
olo
ando o novo
gid e nome do grupo.
1.5.7 Alterando a senha
Uma das primeiras 
oisas que um usu�ario pode querer fazer, �e alterar sua senha. O 
omando em quase
todos os Uni
es para tro
a de senha �e o passwd, que pode ser usado sem argumentos.
O programa, por motivos de seguran�
a, era pedir para entrar 
om a senha atual e pedir�a para o usu�ario
entrar 
om a senha nova duas vezes. A resultado �e que o arquivo /et
/shadow ser�a alterado 
om a nova
senha 
riptografada do usu�ario.
8 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
1.6 A intera�
~ao 
om o usu�ario
Desde sua 
ria�
~ao, a prin
ipal interfae 
om o usu�ario eram os terminais texto, sem a existe^n
ia de
mouse ou imagens gr�a�
as, que hoje s~ao t~ao 
omuns na inform�ati
a. Portanto, mesmo existindo interfa
es
gr�a�
as, os programas em modo texto ainda s~ao bastante 
omuns e usados. Para a exe
u�
~ao de programas,
�e interessante que o usu�ario tenha 
omo interagir 
om o sistema opera
ional, sem a ne
essidade de 
onhe
er
as 
hamadas espe
���
as do sistema. Para isso existe o 
hamado shell, que veremos a seguir.
1.6.1 Console virtuais
Como o UNIX 
ome�
ou 
om interfa
e de terminais texto (
onhe
idos 
omo 
onsoles) n~ao havia outra
maneira de desenvolver uma outra atividade ao mesmo tempo. Por isso foi 
riado a id�eia de diversos terminais
virtuais, que s~ao 
onsiderados virutais por apare
erem na mesma tela. Esse 
onsoles s~ao independentes e
permite que o mesmo ou outro usu�ario realize atividades diferentes em paralelo. Depois da 
ria�
~ao de
ambientes gr�a�
os, esses sistemas ainda persistem pois possibilita uma maneira muito r�apida de realizar
pequenas fun�
~oes, ou ent~ao, �e uma maneira de a
essar o sistema mesmo quando a interfa
e gr�a�
a est�a 
om
problemas.
Geralmente �e poss��vel ter muitos 
onsoles virtuais no mesmo sistema. Esse n�umero �e totalmente 
on�-
gur�avel. O arquivo que 
ontrola esse n�umero �e o /et
/inittab, onde est~ao algumas diretivas que 
omandam
o pro
esso de ini
ializa�
~ao do sistema.
Um exer
��
io interessante �e aprender a navegar por todos os terminais virtuais e os ambientes gr�a�
os.
Para mudar de um sistema gr�a�
o para outro sistema gr�a�
o ou para um 
onsole, aperte Ctrl-Alt-Fx (
om
x sendo o n�umero do terminal virtual desejado). Agora para mudar de um terminal virtual para outro
basta apertar Alt-Fx (
om x sendo o n�umero do terminal virtual). Se quiser alternar entre dois 
onsoles
adja
entes basta apertar Alt-seta pro lado. Experimente brin
ar um pou
o para se familiarizar 
om todos
os terminais existentes.
1.6.2 O interpretador de 
omandos | shell
Um shell �e basi
amente um programa que interpreta 
omandos do usu�ario. O programa pode j�a ofere
er
alguns 
omandos, que ele mesmo exe
uta. Pode tamb�em exe
utar programas espe
���
os, a partir da 
hamada
do usu�ario. Para isso, o shell deve se 
omuni
ar 
om o sistema opera
ional, para a
essar o dis
o, e para
exe
utar programas.
No UNIX, v�arios programas existem para a interpreta�
~ao de 
omandos. O mais 
omum hoje utilizado,
prin
ipalmente no Linux, �e o bash (Bourne-Again SHell, derivado do sh. Esse ser�a o shell abordado nesse
texto. Existem, entretanto, diversos outros shells que podem ser usados, dependendo do gosto do usu�ario.
Toda vez que o usu�ario usu�ario se \loga" no sistema, o sistema veri�
a o s�etimo 
ampo do arquivo
/et
/passwd (
omo vimos a
ima) para veri�
ar qual shell que o usu�ario deseja utilizar. Claramente �e
poss��vel a 
ada usu�ario do sistema utilizar um shell diferente, basta tro
ar o devido 
ampo no arquivo
/et
/passwd.
1.7 O sistema de arquivos
Normalmente os 
omputadores s~ao providos de dispositivos de armazenagem, isto �e, aparelhos que podem
armazenar dados permanentemente. O mais 
omum at�e hoje s~ao as m��dias magn�eti
as, 
omo os dis
os
ex��veis de 3
1
2
polegada, ou os dis
os �xos (hard disk), que 
hamaremos de HD, 
om maior 
apa
idade e
on�abilidade que os 
ex��veis.
A estrutura desses dis
os magn�eti
os em geral �e a divis~ao dos dis
os em trilhas (se�
~oes 
ir
ulares) e estas
em setores. Normalmente, os setores s~ao as unidades m��nimas do dis
o, e normalmente armazenam 512
1.8. TIPOS DE ARQUIVOS NO SISTEMA 9
bytes
1
. Arquivos em dis
o geralmente s~ao maiores que 512 bytes, e normalmente s~ao divididos, e n~ao
ne
essariamente em setores sequen
iais. Portanto o a
esso ao dis
o �e bastante dif��
il, o que exige do sistema
opera
ional uma interfa
e para a organiza�
~ao dos dados.
Cada sistema opera
ional organiza os dis
os em dis
o de forma diferente, e forne
e uma interfa
e pr�opria
para o usu�ario. No Linux, o sistema de arquivos implementado 
hama-se Extended File System 2, e
forne
e uma interfa
e para o usu�ario que �e o padr~ao dos sistemas UNIX.
No UNIX, todos os dispositivos s~ao 
onsiderados arquivos. De fato, tipos de arquivos diferentes existem
para diferen
ia�
~ao dos arquivos no sistema (se�
~ao 1.8). Al�em disso, todo o sistema de arquivo do sistema
forma um �uni
a �arvore, ini
iada pela raiz /. Portanto, al�em dos arquivos 
omuns (e que podem estar em
dis
os diferentes), os arquivos no diret�orio /dev/ e /pro
/ s~ao espe
iais, rela
ionados 
om dispositivos e
estruturas do sistema. Alguns diret�orios s~ao bastante 
omuns entre os diversos UNIX existentes:
/
�
E o diret�orio raiz, em que s~ao 
riados todos diret�orios e arquivos do sistema.
/et
 Diret�orio 
ontendo arquivos de 
on�gura�
~ao dos programas e s
ripts de ini
ializa�
~ao do sistema.
/usr Diret�orio 
ontendo a maioria dos programas e bibliote
as desses programas.
/var O sistema e programas utilizam esse diret�orio para guardam informa�
~oes de 
ontrole e manter arquivos
passageiros.
/tmp Prin
ipalmente utilizado para informa�
~oes tempor�arias e des
art�aveis. O sistema \limpa" esse di-
ret�orio quando �e ini
iado.
/lib Cont�em as prin
ipais bibliote
as do sistema.
/bin Prin
ipais 
omandos e programas b�asi
os do sistema.
/home Cont�em os diret�orios dos usu�arios, isto �e, as �areas de trabalho dos usu�ario 
omuns.
Logi
amente essas divis~oes podem ser diferentes entre os sistemas e mesmo entre as distribui�
~oes do
Linux.
1.8 Tipos de arquivos no sistema
As implementa�
~oes de sistema de arquivos dos diversos UNIX s~ao, em geral, bastante pare
idas. E 
omo
expli
ado anteriormente, o sistema de arquivos engloba todos os dispositivos, arquivos e diret�orios. Al�em
disso, alguns servi�
os que o kernel ofere
e s~ao intermediados pelo sistema de arquivos, a �m de se ofere
er
uma interfa
e simples e pr�ati
a. Para isso o sistema de arquivos de�ne tipos diferentes de arquivos, 
ada um
om sua fun�
~ao. Veremos a seguir esses tipos.
1.8.1 Arquivo 
omuns
S~ao os arquivos que 
ostumamos utilizar. S~ao dados (setores no dis
o) organizados pelo sistema de
arquivos e referen
iados por um nome (uma 
adeia de 
ara
teres). Os arquivos que podem ser exe
utados
s~ao diferen
iados no sistema atrav�es de um n�umero rela
ionado 
om as permiss~oes do arquivo (se�
~ao 3.1).
Nesse 
aso, o 
omando ls a
res
enta um identi�
ador (*) quando utilizado 
om a op�
~ao -F e altera a 
or do
nome quando utilizado 
om a op�
~ao --
olor.
Os arquivos de dados tamb�em s~ao 
lassi�
ados em tipos, de a
ordo 
om as informa�
~oes que guarda e 
om
o programa rela
ionado a ele. Essa 
lassi�
a�
~ao n~ao est�a rela
ionada 
om o sistema de arquivos. O 
omando
�le 
lassi�
a arquivos (se�
~ao 7.1.1).
1
1 byte �e a unidade padr~ao utilizada nos 
omputadores e signi�
a um n�umero de 8 bits, isto �e, um n�umero em base bin�aria
om oito 
asas. Portanto, 1 byte pode representar 2
8
= 256 s��mbolos diferentes.
10 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
1.8.2 Diret�orios
No sistema de arquivos existe um tipo espe
ial de arquivos para a de�ni�
~ao de diret�orios, que podem
onter outros arquivos e diret�orios. Normalmente, asso
ia-se a essa estrutura o 
on
eito de pasta, em que se
pode 
olo
ar v�arios do
umentos (arquivos). Entretanto, pode-se 
olo
ar diret�orios dentro de um diret�orio,
o que n~ao �e poss��vel 
om pastas.
Os diret�orios n~ao 
ont�em dados espe
i�
amente, mas 
onstituem um 
aminho de um arquivo em dis
o.
Isto �e, o 
aminho /home/mario/
urso.ps indi
a os diret�orios que se deve per
orrer a partir da raiz para se
en
ontrar o arquivo 
urso.ps. O usu�ario pode notar que v�arios 
omandos e programas \tratam" diret�orios
de maneira diferente, n~ao podendo abri-los para leitura, 
omo �e feito 
om arquivos de dados.
Diret�orios s~ao listados pelo 
omando ls (se�
~ao 2.1.1) 
om o 
ara
tere / adi
ionado (se requerido), al�em
de 
onter o 
ara
tere d na 
adeia de 
ara
teres que indi
a as permiss~oes de arquivos (se�
~ao 3.1).
1.8.3 Liga�
~oes simb�oli
as
As liga�
~oes �xas e simb�oli
as s~ao expli
adas na se�
~ao 2.1.8. Entretanto vale 
itar aqui a existe^n
ia de um
tipo de�nido de arquivo para as liga�
~oes simb�oli
as. Esses arquivos nada mais s~ao que um espa�
o em dis
o
ontendo uma 
adeia de 
ara
teres indi
ando um 
aminho para outro arquivo no sistema de arquivos.
Quando listado 
om o 
omando ls, as liga�
~oes simb�oli
as podem ser diferen
iadas, 
om o s��mbolo �, 
om
ores, ou ent~ao na listagem 
ompleta, indi
ando o 
aminho referen
iado.
1.8.4 Outros tipos espe
iais
Outros tipos espe
iais de arquivos s~ao de�nidos no sistema. Para a asso
ia�
~ao entre arquivos e dispositivos
de a
esso em blo
os, 
omo dis
os, �tas magn�eti
as, et
, �e de�nido um tipo de arquivo, 
hamado blo
o (blo
k).
O sistema j�a 
ria v�arios desses arquivos no diret�orio /dev, e ao ini
iar a m�aquina, asso
ia os dispositivos
en
ontrados aos devidos arquivos. Por exemplo, se o HD prin
ipal instalado na interfa
e IDE prim�aria
est�a dividido em 4 partes, o arquivo /dev/hda �e asso
iado ao dispositivo, e as parti�
~oes s~ao asso
iadas
respe
tivamente aos arquivos /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4.
J�a para os dispositivos que trabalham 
om 
ara
teres, 
omo o te
lado, o mouse, impressores, et
, um
tipo espe
ial de arquivo �e 
riado, 
hamado 
ara
tere (
hara
ter).
Al�em desses arquivos espe
iais 
riados para os dispositivos, dois outros tipos de arquivos existem, e est~ao
asso
iados a estruturas de dados do kernel. O arquivo do tipo so
ket �e utilizado para 
omuni
a�
~ao entre
pro
essos, e est�a asso
iado a uma estrutura interna do n�u
leo do sistema. E o tipo de arquivo �la (�fo ou
named pipe), �e basi
amente uma �la (
omo o pipe, se�
~ao 4.3), que pode ser utilizado entre os pro
essos 
omo
um arquivo no sistema.
1.9 Visualizando arquivos texto
J�a que estamos falando de arquivos �e essen
ial aprender a visualizar o 
onte�udo de qualquer arquivo.
Existem v�arias maneiras para fazer isso, e diversos editores de texto (que veremos na se�
~ao 7.3). Mas para
a visualiza�
~ao simples de arquivos existem alguns apli
ativos muito leves e simples de usar, e essen
ial para
se virar dentro do UNIX.
1.9.1 O 
omando 
at
O primeiro, e mais simples de todos todos �e o 
omando 
at. A sintaxe do 
omando �e simples:
at [OPC�
~
OES℄ [ARQUIVOS℄...
1.10. TECLAS IMPORTANTES 11
Se v�arios arquivos forem dados na linha de 
omando, todos eles ser~ao mostrados em seque^n
ia. O 
at serve
para a listagem de arquivos texto simples. Ele simplesmente lista o arquivo todo. N~ao h�a nenhum tipo de
intera�
~ao 
om o usu�ario.
Exemplo:
at /et
/motd
1.9.2 O 
omando more
Este 
omando, um pou
o mais amig�avel, serve para visualizar arquivos um pou
o maiores, que n~ao 
abem
em apenas uma tela. Entretanto a interfa
e n~ao �e muito intuitiva, mas por raz~oes hist�ori
a, mant�em-se 
omo
padr~ao nos Uni
es.
Exemplo:
more /et
/inittab
Para sair do more, basta te
lar q.
1.9.3 O 
omando less
Este 
omando �e o mais f�a
il de usar de todos os tre^s. Extremamente re
omendado para visualizar arquivos
longos, e tamb�em tem todos os re
ursos interessantes que o more possiu, 
omo bus
a por palavras ou padr~oes.
Exemplo:
less /et
/passwd
Para sair do less, basta te
lar q.
1.9.4 O 
omando reset
Por �m, �e importante lembrar ao visualizar um arquivo bin�arios (espe
ialmente 
om o 
omando 
at) �e
poss��vel que os 
ara
teres do terminal �quem estranhos. Se isso a
onte
er use o 
omado reset para arrumar
o terminal. O 
omando reset reini
ializa as 
ara
ter��sti
as do terminal atual.
1.10 Te
las importantes
No uso de terminais (in
lusive no xterm ou outro terminal gr�a�
o), algumas te
las s~ao importantes:
Ctrl-A O 
ursor vai para o in��
io da linha, an�alogo �a te
la [Home℄.
Ctrl-E O 
ursor vai para o �m da linha, an�alogo �a te
la [End℄.
Ctrl-C Esse 
omando gera um sinal de interrup�
~ao para o programa. A maioria dos programas aborta a
exe
u�
~ao.
Ctrl-D Um 
ara
tere de �m de arquivo (EOF) �e impresso. Nos terminais texto exe
utando o bash, se esse
ara
tere for impresso no prompt pode a
onte
er duas 
oisas, 
aso existem 
ara
teres digitados, um
ara
tere ser�a apagado, ou 
aso 
ontr�ario, o 
omando logout �e exe
utado.
Ctrl-S O mesmo que a te
la S
roll Lo
k. Trava o terminal, at�e que um [Ctrl-Q℄ seja apertado.
Ctrl-Q Para a maioria dos programas fun
iona 
omo 
omando de sa��da. Al�em disso, 
aso a trava da tela
esteja ligada (S
roll Lo
k), esse 
omando libera o terminal novamente.
12 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
Shift-PgUP, Shift-PgDown Essas duas 
ombina�
~oes de te
las s~ao muito �uteis para voltar o terminal
virtual para visualizar texto que n~ao 
oube na tela atual. Assim �e poss��vel ver o hist�ori
o das a�
~oes
exe
utadas simplesmente \rolando" o terminal para 
ima e para baixo.
Seta para 
ima, seta para baixo Aperando-se as setas para 
ima e para baixo, no bash, �e poss��vel visu-
alizar o hist�ori
o de 
omandos dados por vo
e^. Ent~ao se vo
e^ desejar re-exe
utar um 
omando muito
longo, basta apertar a te
la para 
ima, at�e 
hegar no 
omando desejado.
1.11 Informa�
~oes e ajuda ini
iais
Em geral, o usu�ario novo tem muitas d�uvidas sobre os 
omandos e sobre as regras de utiliza�
~ao dos
sistemas UNIX. A maioria das redes disponibiliza informa�
~oes on-line, e al�em disso, no UNIX o sistema de
do
umenta�
~ao �e fa
ilmente visualizado pelo usu�ario.
1.11.1 P�aginas manuais
A do
umenta�
~ao dos programas UNIX em geral est�a dispon��vel pelas 
hamadas p�aginas manuais que
s~ao pequenos guias e expli
a�
~oes sobre 
ada 
omando ou arquivo de 
on�gura�
~ao. Essas p�aginas s~ao muito
ut�eis e o usu�ario deve 
riar o h�abito de olh�a-las diariamente.
Para a
essar essa p�aginas deve-se usar os 
omandos man e info. Em geral, a do
umenta�
~ao do info �e mais
ompleta, sendo a p�agina de manual (man) apenas uma refere^n
ia r�apida. Deve-se utiliz�a-los da seguinte
maneira:
man 
omando
ou
info 
omando.
O 
omando apropos pode ser bastante �util, pois bus
a 
omandos e programas rela
ionados 
om uma
palavra. Uso:
apropos palavra.
A sintaxe b�asi
a do man �e:
man [se�
~ao℄ palavra
1.11.2 Se�
~oes das p�aginas manuais
Eventualmente uma mesma palavra pode estar em duas se�
~oes distintas. As se�
~oes das p�aginas manuais
te^m um signi�
ado, referente a alguma 
ara
ter��sti
a do que se pro
ura. As seguintes se�
~oes s~ao as se�
~oes
padr~oes no UNIX:
Se�
~ao 1 Manuais dos programas que os usu�arios usam.
Se�
~ao 2 Manuais das 
hamdas de sistemas, para uso prin
ipalmente de desenvolvedores.
Se�
~ao 3 Manuais das 
hamadas da lib
 (bibliote
a padr~ao), tamb�em para uso prin
ipalmente de desenvol-
vedores.
Se�
~ao 4 Manuais de dispositivos do sistema (por exemplo, hd, sd, et
.)
Se�
~ao 5 Manuais de formatos de arquivos diversos e tamb�em de proto
olos (por exemplo, o arquivo wtmp,
/et
/passwd, o proto
ol NFS ).
Se�
~ao 6 Manuais de alguns jogos.
Se�
~ao 7 Manuais de algumas 
onven�
~oes, ou pa
otes dema
ros, et
.
1.12. COMPUTADORES EM REDE 13
Se�
~ao 8 Manuais para administra�
~ao do sistema.
Quando o 
omando man �e dado, ele tentar�a en
ontrar a primeira se�
~ao que 
ont�em a palavra exigida.
Isso pode 
riar um pou
o de 
onfus~ao �as vezes. Um exemplo em que �e ne
ess�ario fazer a diferen
ia�
~ao entre
se�
~oes �e, por exemplo, na pesquisa de arquivo /et
/passwd. Se �zermos a seque^n
ia de 
omandos:
$ apropos -e passwd
passwd (1) - 
hange user password
passwd (5) - The password file
Ou seja se tentarmos ler a p�agina manual da seguinte maneira:
$ man passwd
A
abaremos lendo a primeira p�agina manual, que 
orresponde ao 
omando passwd e n~ao ao arquivo
/et
/passwd que quer��amos ler. O 
omando 
orreto seria:
$ man 5 passwd
1.12 Computadores em rede
Com a populariza�
~ao da Internet, a maioria dos 
omputadores est~ao em rede. Os que a
essam a Internet
por uma linha dis
ada �
am algum tempo ligados �a rede, e os 
omputadores 
om 
onex~ao intermitente
ou os 
omputadores de uma rede ligada �a Internet �
am o tempo todo a
ess��veis de qualquer parte do
mundo. Al�em disso, �e muito 
omum em empresas e institui�
~oes a existe^n
ia de redes (Intranet), e em
geral o proto
olo utilizado nessas redes �e prin
ipalmente o proto
olo IP, padr~ao tamb�em na Internet. Cada
m�aquina no proto
olo IP 
ont�em um n�umero �uni
o asso
iado, 
om o qual se pode endere�
as a m�aquina na
rede. Na vers~ao atual do IP, esse n�umero tem 32 bits, e que apesar de pare
er su�
iente, j�a est�a obsoleto.
Por exemplo, a m�aquina servidora da Debian o IP 198.186.203.20. O novo padr~ao desenvolvido ter�a 128
bits. Entretanto esses n�umeros s~ao dif��
eis de serem lembrados, al�em de nada pr�ati
os 
omer
ialmente.
Para fa
ilitar a 
omuni
a�
~ao entre as m�aquinas e o endere�
amento de p�aginas e outros servi�
os, 
riou-se
um sistema de nomes para o proto
olo IP. O proto
olo de distribui�
~ao desses nomes 
hama-seDNS (Domain
Name System). A 
ada n�umero IP pode-se asso
iar uma 
adeia de 
ara
teres, 
hamado de hostname. O
endere�
amento entre as m�aquinas em redes e na Internet �e feito geralmente pelo hostname, por ser mais f�a
il
e pr�ati
o para os usu�arios.
14 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
1.13 Exer
��
ios
Prati
ar �e a 
oisa essen
ial para aprender qualquer 
oisa nova, in
lusive um sistema novo. Sem a pr�ati
a,
as 
oisas vistas nesse 
urso ser~ao esque
idas em pou
o tempo. Por isso esses exer
��
ios s~ao s�o um aque
imento
para ser realizado durante as aulas, mas depois, �e ne
ess�ario um aprofundamento maior.
1. Alguns Uni
es em geral, permitem o uso de diversos sistemas texto (
onsoles ou terminais virtuais)
e sistemas gr�a�
os simultaneamente. Portanto um exer
��
io interessante �e aprender a navegar por
todos eles. Para mudar de um sistema gr�a�
o para outro sistema gr�a�
o ou para um 
onsole, aperte
Ctrl-Alt-Fx (
om x sendo o n�umero do terminal virtual desejado). Agora para mudar de um terminal
virtual para outro basta apertarAlt-Fx (
om x sendo o n�umero do terminal virtual). Se quiser alternar
entre dois 
onsoles adja
entes basta apertar Alt-seta pro lado. Experimente brin
ar um pou
o para
se familiarizar 
om todos os terminais existentes.
2. A primeira 
oisa a fazer num sistema multiusu�ario �e se identi�
ar para o sistema. Geralmente �e usado
um angli
ismo \logar" para denotar esse ato. Este exer��
io �e essen
ial e ser�a feito todos as vezes que
quiser entrar no sistema. Basta entrar 
om o seu login e senha.
3. Uma das primeiras 
oisas que podemos querer rede�nir �e a senha que estamos usando. Para isso existe
o 
omando passwd. Ao exe
utar o 
omando, vo
e^ dever�a digitar a sua senha atual, e depois vo
e^ deve
digitar duas vezes a sua nova senha.
4. Eventualmente poderemos querer modi�
ar os dados que est~ao registrados no arquivo de senhas do
sistema, 
omo nome 
ompleto ou alguma outra informa�
~ao. Para isso existe o 
omando 
hfn.
5. Tamb�em poder�a ser mudado o shell prin
ipal que o usu�ario desejar utilizar. Para isso existe o 
omando
hsh.
6. Vimos que os usu�arios, grupos e senhas do sistema s~ao de�nidos por arquivos no sistema. Entretanto
o manipula�
~ao desses arquivos �e muitas vezes muito 
ompli
ada para os usu�arios. Desse forma existem
uma s�erie de 
omandos que veri�
am esses arquivos e j�a devolvem as informa�
~oes desejadas. Vamos
aprender a utilizar alguns desses programas:
whoami { esse programa imprime o login do usu�ario atual.
groups { esse programa imprime os grupos os quais o usu�ario atual perten
e.
id { esse programa �e bem mais 
ompleto e devolve n~ao s�o o login do usu�ario, bem 
omo o seu userid
omo os grupos nos quais ele perten
e.
w ou who ou �nger { esses programas s~ao de 
erta forma pare
idos e servem para listar informa�
~oes
sobre todos os usu�arios atualmente usando o sistema.
7. Falamos de diversos arquivos e de alguns 
omandos para visualiz�a-los.
�
E muito interessante tentar
visualizar os diversos arquivos 
om o tre^s 
omandos vistos (
at, more e less). Portanto pode se tentar
visualizar os seguintes arquivos:
/et
/passwd
/et
/shadow
/et
/group
/et
/inittab
Ou ent~ao qualquer outro arquivo que tiver interesse.
1.13. EXERC
�
ICIOS 15
8. Ler a do
umenta�
~ao 
ontida nas p�aginas manuais �e essen
ial para o entendimento do poder de um
erto programa. Para ver 
omo �e a estrutura�
~ao de uma p�agina manual e aproveitar e aprender sobre
alguns dos programas vistos, tente:
man 
at { Para aprender sobre o 
omando 
at.
man less { Para aprender sobre o 
omando less.
man more { Para aprender sobre o 
omando more.
man passwd { Para aprender sobre o 
omando passwd.
man man { Para aprender sobre o pr�oprio 
omando man.
16 CAP
�
ITULO 1. CONCEITOS B
�
ASICOS
Cap��tulo 2
Comandos b�asi
os
O objetivo desse 
ap��tulo �e a introdu�
~ao de alguns 
omandos b�asi
os do UNIX/Linux, para que o usu�ario
tenha a oportunidade de en
ontrar, 
riar, mover, apagar e 
opiar arquivos e diret�orios no sistema.
J�a vimos 
omo um usu�ario a
essa o sistema, tendo um 
onta 
adastrada, e 
omo altera sua senha.
Considera-se aqui, o uso de um terminal texto, ou mesmo de um terminal gr�a�
o exe
utando o bash, 
omo
por exemplo o xterm, kterm, ou gnome-terminal. A abordagem para os programas gr�a�
os ser~ao feitas adiante,
em outros 
ap��tulos.
2.1 Manipula�
~ao de arquivos e diret�orios
Alguns 
on
eitos de sistemas de arquivos j�a foram mostrados no 
ap��tulo anterior. Vejamos os primeiros
passos ap�os entrar no sistema.
2.1.1 Listagem: o que h�a no dis
o? | O 
omando ls
O 
omando ls lista arquivos e diret�orios. O 
omando pode re
eber op�
~oes 
omo argumento e diret�orios
ou arquivos a serem listados. Se um diret�orio est�a sendo listado, os arquivos e diret�orios que ele 
ont�em
ser~ao mostrados. Vejamos a sintaxe:
ls [OPC�
~
AO℄... [NOME℄...
Vemos que o 
omando pode ser usado sem argumento algum. Nesse 
aso, o diret�orio 
orrente (veja pwd,
na se�
~ao 2.1.9) �e listado.
A sema^nti
a padr~ao do ls �e a listagem, em ordem alfab�eti
a, dos diret�orios e arquivos passados 
omo
argumento, ex
eto os que 
ome�
am pelo 
ara
tere \.", 
onsiderados assim arquivos \es
ondidos". Um
exemplo:
[maquina:~/www/ma
499℄$ ls
apresenta
oes 
ronograma.html.old index.html
ronograma.html 
urso index.html.old
A listagem padr~ao �e bastante simples. N~ao �e poss��vel distinguir diret�orios de arquivos (no exemplo,
apresenta
oes e 
urso s~ao diret�orios). Para isso, temos a op�
~ao -F, ou --
lassify, que adi
iona 
ara
teres
para 
lassi�
a�
~ao doarquivo:
[maquina:~/www/ma
499℄$ ls -F
apresenta
oes/ 
ronograma.html.old index.html teste*
ronograma.html 
urso/ index.html.old teste.html�
17
18 CAP
�
ITULO 2. COMANDOS B
�
ASICOS
Foram a
res
entados aqui um arquivo exe
ut�avel e uma liga�
~ao simb�oli
a. Outros dois tipos de indi
adores
existem (| e =). Mais expli
a�
~oes sobre tipos de arquivos em 1.8. Tamb�em podemos querer saber mais
informa�
~oes sobre os arquivos, 
omo data da �ultima modi�
a�
~ao, e tamanho do arquivo. Vejamos a op�
~ao
-l:
[maquina:~/www/ma
499℄$ ls -l
total 30
drwxr-xr-x 2 pipo b
 1024 out 27 13:49 apresenta
oes
-rw-r--r-- 1 pipo b
 3476 jul 6 18:36 
ronograma.html
-rw-r--r-- 1 pipo b
 13115 jul 6 16:41 
ronograma.html.old
drwxr-xr-x 2 pipo b
 1024 out 30 09:29 
urso
-rw-r--r-- 1 pipo b
 4107 jul 6 18:51 index.html
-rw-r--r-- 1 pipo b
 4169 jul 6 16:41 index.html.old
-rwxr-xr-x 1 pipo b
 0 out 30 10:43 teste
lrwxrwxrwx 1 pipo b
 13 out 30 10:44 teste.html -> ../index.html
Nesse tipo de listagem, o primeiro 
ara
tere de 
ada entrada indi
a o tipo de arquivo, que ser�a expli
ado
adiante (se�
~ao 1.8). Entretanto, o uso da op�
~ao -Fl nos d�a ambas indi
a�
~oes. Outras op�
~oes importantes,
s~ao -a e -A, que mostram respe
tivamente todos os arquivos (in
lusive os que 
ome�
am 
om .), e todos,
ex
eto os arquivos . e .. no diret�orio, que indi
am respe
tivamente o pr�oprio diret�orio e o diret�orio pai.
A op�
~ao -d permite a listagem de diret�orios 
omo arquivos, apenas mostrando o nome (
omo padr~ao, o ls
mostraria o 
onte�udo do diret�orio).
Hoje, 
om os terminais 
oloridos, o uso de 
ores para diferen
ia�
~ao de arquivos �e bastante �util. O ls
permite o uso de 
ores, atrav�es da op�
~ao --
olor=[quando℄, em que o para^metro quando permite de�nir se
se utilizar�a 
ores sempre, nun
a ou apenas quando a sa��da for para um terminal. Um resumo do ls pode ser
visto na tabela 2.1.
O 
omando ls
Op�
~ao Signi�
ado
-F ou --
lassify 
ara
teres indi
adores de tipo
-l listagem mais 
ompleta
-a ou --all todos os arquivos, in
lusive ini
iados por .
-A ou --almost-all 
omo -a, ex
eto . e ..
-d lista apenas nome dos diret�orios, 
omo arquivos
-R ou --re
ursive lista os diret�orios re
ursivamente (�arvore toda)
--
olor=[QUANDO℄ usa 
ores:
Valores de QUANDO
always, yes, for
e sempre utiliza
never, no, none nun
a utiliza
auto, tty, if-tty utiliza se �e para sa��da padr~ao
Tabela 2.1: Resumo do 
omando ls
2.1.2 Como mudar de diret�orio? | O 
omando 
d
O 
d �e um 
omando interno do bash, isto �e, �e exe
utado pelo pr�oprio pro
esso que aguarda os 
omandos
do usu�ario. Vejamos a sintaxe:
d [-PL℄ [DIRET
�
ORIO℄
2.1. MANIPULAC�
~
AO DE ARQUIVOS E DIRET
�
ORIOS 19
O diret�orio padr~ao utilizado �e o diret�orio de�nido na vari�avel de ambiente HOME. O 
aminho para o
diret�orio sempre �e bus
ado na vari�avel CDPATH, e ent~ao no diret�orio 
orrente (\."). Caso o diret�orio seja
espe
i�
ado 
om o 
aminho 
ompleto (
ome�
ando por /), CDPATH �e ignorado.
A op�
~ao -L, indi
a que a estrutura l�ogi
a dos diret�orios ser�a seguida, isto �e, as liga�
~oes (links) simb�oli
as
ser~ao 
onsiderados diret�orios. O 
ontr�ario o
orre 
om -P, que for�
a a estrutura f��si
a dos diret�orios (se uma
liga�
~ao aponta para a raiz, quando utilizamos 
d para essa liga�
~ao, estaremos na raiz, e n~ao no diret�orio da
liga�
~ao).
2.1.3 E para 
riar um diret�orio? | O 
omando mkdir
O 
omando mkdir 
ria os diret�orios passados 
omo argumento. Sintaxe:
mkdir [OPC�
~
AO℄... [NOME℄...
Caso algum nome exista, o 
omando devolve uma mensagem de erro. Pode-se utilizar a op�
~ao -p ou
--parents para que o 
omando n~ao devolva a mensagem de erro 
aso exista um diret�orio 
om mesmo
nome (para arquivos, a mensagem 
ontinuar�a sendo devolvida). Al�em disso, essa op�
~ao for�
a a 
ria�
~ao dos
diret�orios pais se ne
ess�aria. Exemplo:
[maquina:/tmp/teste℄$ ll
total 0
[maquina:/tmp/teste℄$ mkdir pai/filho
mkdir: n~ao foi poss��vel 
riar diret�orio `pai/filho': Arquivo ou diret�orio n~ao en
ontrado
[maquina:/tmp/teste℄$ mkdir -p pai/filho
[maquina:/tmp/teste℄$ ll
total 4
drwxr-xr-x 3 pipo b
 4096 out 31 11:10 pai/
[maquina:/tmp/teste℄$ ll pai/
total 4
drwxr-xr-x 2 pipo b
 4096 out 31 11:10 filho/
Figura 2.1: Uso do mkdir
Pode-se tamb�em j�a 
riar o diret�orio 
om as permiss~oes, usando -m MODO ou --mode=MODO, onde MODO �e
um n�umero 
omo o utilizado pelo 
hmod, expli
ado na se�
~ao 3.1.5.
2.1.4 E para remover um diret�orio? | O 
omando rmdir
O 
omando rmdir remove os diret�orios apenas se estiverem vazios. A sintaxe �e 
omo a do mkdir:
rmdir [OPC�
~
AO℄... [DIRET
�
ORIOS℄...
A op�
~ao -p ou --parents remove todos os diret�orios em um 
aminho se estiverem vazios (por exemplo,
rmdir www/publi
/teste remover�a o ramo todo da �arvore, apagando teste, publi
 e ent~ao www).
2.1.5 E para mover arquivos ou diret�orios? | O 
omando mv
Para mover arquivos e diret�orios entre diret�orios, utiliza-se:
mv [OPC�
~
AO℄... FONTE... DIRET
�
ORIO
Algumas op�
~oes s~ao importantes. A op�
~ao -b ou --ba
kup=[CONTROLE℄ 
ria uma 
�opia do arquivo a ser
sobres
rito, se for o 
aso. A op�
~ao -i ou --intera
tive permite a 
onsulta ao usu�ario antes de sobres
rever
algum arquivo. E a op�
~ao -f ou --for
e sempre sobres
reve, sem 
onsulta ao usu�ario. Caso ambas op�
~oes,
-i e -f, s~ao usadas, a �ultima de
larada �e a utilizada.
20 CAP
�
ITULO 2. COMANDOS B
�
ASICOS
2.1.6 E para apagar um arquivo? | O 
omando rm
O 
omando rm remove arquivos, e tamb�em diret�orios em alguns 
asos. A sintaxe �e:
rm [OPC�
~
AO℄... ARQUIVO...
A sema^nti
a das op�
~oes -i e -f s~ao as mesmas do mv, isto �e, -i para intera�
~ao 
om usu�ario, e -f para
remover sem 
onsulta ao usu�ario. Uma op�
~ao importante do rm, por ser bastante �util e perigosa, �e -r ou
-R ou --re
ursive. Essa op�
~ao permite a remo�
~ao de um diret�orio re
ursivamente, des
endo em todos os
diret�orios perten
entes ao diret�orio a ser apagado. Exemplo:
[maquina:~℄$ ls teste/ -R
teste/:
re
ursivo/
teste/re
ursivo:
[maquina:~℄$ rm -vir teste/
rm: des
er no diret�orio `teste'? y
removendo todas as entradas do diret�orio teste
rm: des
er no diret�orio `teste/re
ursivo'? y
removendo todas as entradas do diret�orio teste/re
ursivo
rm: remover diret�orio `teste/re
ursivo'? y
removendo o pr�oprio diret�orio: teste/re
ursivo
rm: remover diret�orio `teste'? s
removendo o pr�oprio diret�orio: teste
2.1.7 E para 
opiar arquivos? | O 
omando 
p
O 
omando 
p permite 
opiar arquivos. A sintaxe �e:
p [OPC�
~
AO℄... FONTE DESTINO
p [OPC�
~
AO℄... FONTE... DIRET
�
ORIO
No primeiro 
aso, 
opia-se apenas um arquivo, indi
ado o nome da 
�opia. No segundo 
aso, 
opiam-se
v�arios arquivos para um diret�orio. A sema^nti
a para as op�
~oes -b, -i, -f �e a mesma dos 
omandos mv e rm.
A op�
~ao -r permite 
�opia re
ursiva dos arquivos de um diret�orio, mas tudo que n~ao for diret�orio �e 
opiado
omo arquivo. J�a -R, ou --re
ursive, mant�em o tipo de arquivo diferente na 
�opia (�las, dispositivos, et
).
Uma op�
~ao importante, �e -d ou --no-deferen
e, para manter as liga�
~oes, e n~ao 
opiar o arquivo. A op�
~ao
-u ou --update �e bastante �util, pois apenas 
opia os arquivos que n~ao existem no destino ou s~ao mais novos.
A tabela 2.2 resume o 
omando.
2.1.8 Mas o que s~ao liga�
~oes (links)? | O 
omando ln
Nas implementa�
~oes de sistemas de arquivos dos sistemas UNIX, existe o

Outros materiais