Você está na página 1de 119

si

o
Apostila do Curso de Linux Ba

Marcio
Rodrigo de Freitas Carneiro
Livio Baldini Soares

ii

Sumario
1 Con eitos basi os
1.1
1.2
1.3
1.4

1.5

1.6
1.7
1.8

1.9

1.10
1.11
1.12
1.13

Mas o que e o sistema opera ional? . . . . . .


O que e UNIX e Linux? . . . . . . . . . . . .
O que e uma distribui ~ao? . . . . . . . . . . .
Partes do GNU/Linux . . . . . . . . . . . . .
1.4.1 O nu leo do sistema . . . . . . . . . .
1.4.2 O restante | GNU . . . . . . . . . . .
1.4.3 A Filoso a GNU . . . . . . . . . . . .
Usuarios, grupos e senhas . . . . . . . . . . .
1.5.1 Tipos de usuarios . . . . . . . . . . . .
1.5.2 Entrando no sistema . . . . . . . . . .

1.5.3 Area
do usuario . . . . . . . . . . . . .
1.5.4 Arquivos importantes . . . . . . . . .
1.5.5 Comandos rela ionados . . . . . . . .
1.5.6 Criando um novo grupo . . . . . . . .
1.5.7 Alterando a senha . . . . . . . . . . .
A intera a~o om o usuario . . . . . . . . . . .
1.6.1 Console virtuais . . . . . . . . . . . .
1.6.2 O interpretador de omandos | shell
O sistema de arquivos . . . . . . . . . . . . .
Tipos de arquivos no sistema . . . . . . . . .
1.8.1 Arquivo omuns . . . . . . . . . . . .
1.8.2 Diretorios . . . . . . . . . . . . . . . .
1.8.3 Liga o~es simboli as . . . . . . . . . . .
1.8.4 Outros tipos espe iais . . . . . . . . .
Visualizando arquivos texto . . . . . . . . . .
1.9.1 O omando at . . . . . . . . . . . . .
1.9.2 O omando more . . . . . . . . . . . .
1.9.3 O omando less . . . . . . . . . . . . .
1.9.4 O omando reset . . . . . . . . . . . .
Te las importantes . . . . . . . . . . . . . . .
Informa o~es e ajuda ini iais . . . . . . . . . .
1.11.1 Paginas manuais . . . . . . . . . . . .
1.11.2 Se o~es das paginas manuais . . . . . .
Computadores em rede . . . . . . . . . . . . .
Exer  ios . . . . . . . . . . . . . . . . . . . .
iii

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
1
2
3
3
3
4
4
5
5
6
6
6
7
7
8
8
8
8
9
9
10
10
10
10
10
11
11
11
11
12
12
12
13
14


SUMARIO

iv

2 Comandos basi os

2.1 Manipula a~o de arquivos e diretorios . . . . . . . . . . . . . . . . . . . .


2.1.1 Listagem: o que ha no dis o? | O omando ls . . . . . . . . . .
2.1.2 Como mudar de diretorio? | O omando d . . . . . . . . . . .
2.1.3 E para riar um diretorio? | O omando mkdir . . . . . . . . .
2.1.4 E para remover um diretorio? | O omando rmdir . . . . . . . .
2.1.5 E para mover arquivos ou diretorios? | O omando mv . . . . .
2.1.6 E para apagar um arquivo? | O omando rm . . . . . . . . . .
2.1.7 E para opiar arquivos? | O omando p . . . . . . . . . . . . .
2.1.8 Mas o que s~ao liga o~es (links )? | O omando ln . . . . . . . . .
2.1.9 Como sei em que diretorio realmente estou? | O omando pwd
2.2 Mas o que e um omando? . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 O omando e ho . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Os omandos whi h e type . . . . . . . . . . . . . . . . . . . . . .
2.3 Fa ilitando a vida { riando apelidos . . . . . . . . . . . . . . . . . . . .
2.3.1 De nindo um apelido, o omando alias . . . . . . . . . . . . . . .
2.3.2 Removendo um apelido, o omando unalias . . . . . . . . . . . .
2.4 Exer  ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Os mais simples: mkdir e rmdir . . . . . . . . . . . . . . . . . . .
2.4.2 Passeio | d e pwd . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 O mais omplexo: ls . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4 Copias, e mais opias | p . . . . . . . . . . . . . . . . . . . . .
2.4.5 Cria a~o de liga o~es | ln . . . . . . . . . . . . . . . . . . . . . . .

3 Arquivos e pro essos

3.1 Permiss~oes e posse de arquivos . . . . . . . . . . . . . . . . . . . . . . .


3.1.1 Como veri ar permiss~oes? . . . . . . . . . . . . . . . . . . . . .
3.1.2 Altera a~o de usuario ou grupo na exe u a~o . . . . . . . . . . . .
3.1.3 Como alterar posse? | O omando hown . . . . . . . . . . . . .
3.1.4 Como alterar o grupo? | O omando hgrp . . . . . . . . . . . .
3.1.5 E para alterar permiss~oes? | O omando hmod . . . . . . . . .
3.1.6 E na ria a~o de arquivos? | O omando umask . . . . . . . . .
3.2 Pro essos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Visualizando pro essos e suas propriedades | O diretorio /pro
3.2.2 Listagem de pro essos | O omando ps . . . . . . . . . . . . . .
3.2.3 O omando top . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Sinais no Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 O omando kill . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Prioridades { o omando ni e . . . . . . . . . . . . . . . . . . . .
3.3.3 Alterando prioridade de pro esso { o omando reni e . . . . . . .
3.4 Trabalhos (jobs ) do bash . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Como obter informa o~es sobre trabalhos? | O omando jobs . .
3.4.2 Primeiro e segundo planos | Os omandos bg e fg . . . . . . . .
3.5 Exer  ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Redire ionamento e bus a de padr~oes

4.1 Arquivos padr~oes . . . . . . . . . . . . . . . . . . . .


4.2 Redire ionamento para arquivos . . . . . . . . . . . .
4.2.1 Con atena a~o de arquivos | O omando at
4.3 Redire ionamento para pro essos (pipes ) . . . . . . .
4.3.1 Filtro de ordena a~o | O omando sort . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

17
17
17
18
19
19
19
20
20
20
22
22
22
23
23
24
25
26
26
26
26
26
26

27
27
28
28
28
29
29
31
31
31
32
35
36
36
38
38
39
39
40
41

43
43
44
44
45
45


SUMARIO

4.3.2 Filtro de sele a~o | O omando ut . . .


4.3.3 Dupli ando a entrada | O omando tee
4.4 Bus a de padr~oes . . . . . . . . . . . . . . . . .
4.4.1 Padr~oes do bash . . . . . . . . . . . . .
4.4.2 Express~oes regulares . . . . . . . . . . .
4.4.3 O omando grep . . . . . . . . . . . . .
4.5 Exer  ios . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Pegando uma distribui a~o . . . . . . . . . . . . . . . . . . . . . . .


Es olhendo o te lado . . . . . . . . . . . . . . . . . . . . . . . . . .
Parti ionar um Dis o Rgido . . . . . . . . . . . . . . . . . . . . . .
Ini ializando e ativando uma parti a~o de swap . . . . . . . . . . .
Ativando uma parti a~o Linux . . . . . . . . . . . . . . . . . . . . .
Instalar o kernel e os modulos dos dispositivos . . . . . . . . . . . .
Con gurando os modulos dos dispositivos . . . . . . . . . . . . . .
6.7.1 A entrada /pro /p i e o omando ls pi . . . . . . . . . . . .
Instalar a rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instalar o sistema base . . . . . . . . . . . . . . . . . . . . . . . . .
Deixar o sistema bootavel e ria a~o do disquete de res ue . . . . .
6.10.1 O LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.10.2 O GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instala a~o de pa otes . . . . . . . . . . . . . . . . . . . . . . . . . .
6.11.1 Pa otes { RPM e DEB . . . . . . . . . . . . . . . . . . . . .
6.11.2 Debian e os omandos dpkg, dsele t e apt-* . . . . . . . . .
6.11.3 RedHat/Cone tiva e os omandos rpm, managerpm e apt-* .
6.11.4 O alien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Con gura a~o do X Windows . . . . . . . . . . . . . . . . . . . . .
6.12.1 O omando SuperProbe . . . . . . . . . . . . . . . . . . . .
6.12.2 O apli ativo xf86 on g . . . . . . . . . . . . . . . . . . . . .
6.12.3 O apli ativo X on gurator . . . . . . . . . . . . . . . . . . .
6.12.4 O apli ativo XF86Setup . . . . . . . . . . . . . . . . . . . .
6.12.5 O omando xvidtune . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5 Ambiente gra o no Linux

5.1 O X Window . . . . . . . . . . . . . .
5.1.1 O sistema de ini iliza a~o do X
5.1.2 Abrindo outro X . . . . . . . .
5.1.3 Display e o omando xhost . .
5.1.4 Tamanho e posi a~o . . . . . . .
5.1.5 Cores e o omando showrgb . .
5.1.6 Fontes e o omando xlsfonts . .
5.2 Geren iadores de janelas . . . . . . . .
5.2.1 O geren iador Fvwm . . . . . .
5.2.2 O geren iador AfterStep . . . .
5.2.3 O geren iador Window Maker .
5.2.4 O geren iador Enlightenment .
5.3 Ambientes de trabalho . . . . . . . . .
5.3.1 O sistema KDE . . . . . . . .
5.3.2 O sistema Gnome . . . . . . . .
5.4 Altera a~o do geren iador de janelas . .

6 Instalando o Linux (Debian)


6.1
6.2
6.3
6.4
6.5
6.6
6.7

6.8
6.9
6.10
6.11

6.12

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

46
46
46
46
48
48
50

51
51
51
52
52
52
52
53
53
53
53
53
54
54
54
54
54

57
57
57
58
58
58
59
59
59
60
60
60
60
61
62
62
63
64
65
65
65
66
66
66
66


SUMARIO

vi

6.13 Exer  ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7 Ferramentas e apli ativos

7.1 Apli ativos generi os . . . . . . . . . . . . . . . . . . . . . . . . . . .


7.1.1 O omando le . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2 Os omandos gzip e gunzip . . . . . . . . . . . . . . . . . . . .
7.1.3 Os omandos bzip2 e bunzip2 . . . . . . . . . . . . . . . . . .
7.1.4 O omando tar . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Navega a~o na teia | WWW e HTTP . . . . . . . . . . . . . . . .
7.2.1 Navegadores gra os | Nets ape, konqueror, galeon e nautilus
7.2.2 Navegadores texto | Lynx e w3m . . . . . . . . . . . . . . . .
7.3 Editores de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 O editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.2 O editor Joe . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Visualiza a~o de arquivos . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 O formato PostS ript e o gv . . . . . . . . . . . . . . . . . . .
7.4.2 O formato DVI e o xdvi . . . . . . . . . . . . . . . . . . . . .
7.4.3 O Portable Do ument Format . . . . . . . . . . . . . . . . . .
7.4.4 Formatos de guras | JPEG, GIF e PNG . . . . . . . . .
7.5 Impress~ao de arquivos na rede . . . . . . . . . . . . . . . . . . . . . .
7.5.1 Convers~ao de arquivos texto . . . . . . . . . . . . . . . . . . .
7.5.2 Convers~ao de arquivos DVI . . . . . . . . . . . . . . . . . .
7.5.3 Como imprimir na rede? | O omando lpr, lpq e lprm . . . .

8 Ema s
8.1
8.2
8.3
8.4

O que o Ema s faz? . . . . . . . . .


In io no programa . . . . . . . . .
A apar^en ia do Ema s . . . . . . .
Comandos e atalhos . . . . . . . .
8.4.1 Movimenta a~o no texto . .
8.4.2 Arquivos e ajuda . . . . . .
8.4.3 Edi a~o de texto . . . . . . .
8.5 Modos de opera a~o . . . . . . . . .
8.5.1 O pa ote Au -TEX . . . . .
8.5.2 Os modos C e C++ . . . .
8.5.3 O pa ote JDE . . . . . . . .
8.5.4 Preen himento automati o
8.5.5 Colora a~o auxiliar . . . . .
8.6 Mais ferramentas uteis . . . . . . .
8.6.1 Bus a e tro a . . . . . . . .
8.6.2 Corre a~o ortogra a . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9.1 Edi a~o e pro essamento de texto . . . . . . . .


9.2 Os pro essadores TEX e LATEX . . . . . . . . .
9.3 Basi o do LATEX . . . . . . . . . . . . . . . . .
9.3.1 Fun ionamento dos ara teres espe iais
9.3.2 A estrutura do arquivo .tex . . . . . .
9.3.3 Classes de do umentos . . . . . . . . . .
9.3.4 Pa otes adi ionais . . . . . . . . . . . .
9.4 Formata a~o do texto . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

9 Pro essamento de texto | LATEX

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

69
69
69
69
70
70
71
72
72
72
73
73
73
73
74
74
74
75
75
75
75

79
79
79
80
80
81
82
82
83
83
84
84
85
85
85
85
87

89
89
89
90
90
90
91
92
92


SUMARIO

9.5 Smbolos espe iais e a entos .


9.6 Parti ionamento do texto . .
9.7 Ambientes (environment ) . .
9.7.1 Ambiente matemati o
9.7.2 Gera a~o de tabelas . .
9.7.3 Listas . . . . . . . . .
9.8 O LATEX faz sozinho . . . . .
9.9 Prin ipais arquivos do LATEX
9.10 Comandos rela ionados . . .

vii
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

10.1 Ini ializa a~o do Linux . . . . . . . . . . . . . . . . . . . . . . . . .


10.1.1 O omando dmesg e o arquivo /var/log/syslog . . . . . . .
10.1.2 O init e o arquivo /et /inittab . . . . . . . . . . . . . . . .
10.2 Modulos do kernel . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2.1 O omando lsmod e o arquivo /pro /modules . . . . . . . .
10.2.2 Carregando um modulo { os omandos insmod e modprobe .
10.2.3 Removendo um modulo { o omandos rmmod . . . . . . . .
10.3 Montagem de dispositivos . . . . . . . . . . . . . . . . . . . . . . .
10.3.1 O omando mount . . . . . . . . . . . . . . . . . . . . . . .
10.3.2 O omando umount . . . . . . . . . . . . . . . . . . . . . . .
10.3.3 O arquivo /et /fstab . . . . . . . . . . . . . . . . . . . . .
10.4 Exer  ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

11.1 O que e um s ript ? . . . . . . . . . . . . . . . . . . . . . . . . . . . .


11.2 O sh e o bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1 Sintaxe geral do bash . . . . . . . . . . . . . . . . . . . . . . .
11.2.2 Pipes | riando omuni a a~o entre os omandos . . . . . . .
11.2.3 Lista de omandos | exe utando omandos sequen ialmente
11.2.4 Intera a~o | until, while, e for . . . . . . . . . . . . . . . . . .
11.2.5 Condi ionais | if, ase, e sele t . . . . . . . . . . . . . . . . .
11.2.6 De larando fun o~es . . . . . . . . . . . . . . . . . . . . . . . .
11.2.7 Variaveis padr~oes . . . . . . . . . . . . . . . . . . . . . . . . .
11.3 O Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4 Exer  ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

10 Modulos e dispositivos

11 Desenvolvimento I - S ripts

Indi e Remissivo

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

92
93
93
93
94
94
94
96
96

97

97
97
98
100
100
100
101
101
101
102
102
104

105
105
106
106
106
106
106
106
106
106
106
107

109

viii


SUMARIO

Cap
tulo 1

Con eitos basi os


Vamos introduzir aqui alguns on eitos basi os, tanto de omputadores em geral, quanto do UNIX propriamente dito. Mas antes ainda, um pou o do histori o e de de ni o~es.

1.1 Mas o que e o sistema opera ional?


Para o omputador poder exe utar programas e interagir om o usuario, e ne essario a exist^en ia de
um programa que realize uma interfa e entre o programador e a maquina. Assim, um programador pode
ainda desenvolver produtos que permitam o usuario utilizar a maquina de forma prati a e rapida. O sistema
opera ional e o programa que forne e ao programador um interfa e prati a para o uso dos odigos do
omputador, alem de proteger a maquina de opera o~es indesejaveis, isto e, limitar o a esso dos usuarios
aos re ursos disponveis. A tarefa de permitir que varios pro essos exe utem simultaneamente (isto e, a
simula a~o de que a maquina pode exe utar mais de uma opera a~o ao mesmo tempo) tambem e tarefa do
sistema opera ional.
Alguns exemplos de sistemas opera ionais bastante onhe idos no mer ado s~ao: DOS, Windows, Ma hintosh OS, e a famlia de UNIX (Linux, BSD, Solaris, et .).
Apesar de alguns sistemas ompletos, que in luem a interfa e om o usuario, serem hamados de sistema
opera ional, em geral, apenas o odigo basi o, que prove a opera ionabilidade da maquina deve ser onsiderado. Varios paradigmas s~ao utilizados para o desenvolvimento de um sistema opera ional, e veremos
prin ipalmente a ideia por tras do Linux.

1.2 O que e UNIX e Linux?


O UNIX, hoje, e prati amente um modelo de sistema opera ional, multiusuario e multitarefa, que foi
riado pela primeira vez em 1969, por Ken Thompson e Dennis Rit hie. O nome na verdade e antag^oni o
a sua ara tersti 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 exist^en ia, varias vers~oes foram desenvolvidas. Grande empresas e institui o~es de
ensino investiram em implementa o~es proprias, mas sempre seguindo a mesma ideia, prin ipalmente em
rela a~o a interfa e om o usuario 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.
Alem disso, o famoso BSD (que ontem varias rami a o~es), desenvolvido em Berkley, se mantem bastante
presente, prin ipalmente por ser gratuito.
Com a populariza a~o do UNIX e re onhe imento de que o UNIX era um sistema opera ional muito
poderoso e exvel foi riado um onjunto de interfa es padr~oes para sistemas opera ionais. Esse padr~ao, o
mais re onhe ido ate hoje, teve sua primeira vers~ao lan ada em 1989, e e hamado de POSIX (Portable
1


CAPITULO 1. CONCEITOS BASICOS

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 a~o aos primeiros Uni es.
O POSIX surgiu prin ipalmente porque haviam diversas pequenas diverg^en ias om rela a~o aos Uni es
disponveis na epo a, e havia uma ne essidade de padroniza a~o 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 o~es omo alguns aspe tos de interfa e basi a om o usuario e alguns outros aspe tos.
Dessa forma, se uma apli a a~o utilizar apenas re ursos de nidos no POSIX, este programa deveria rodar
sem problemas em todos os sistemas opera ionais ompatveis om o POSIX. O POSIX se tornou muito
importante e todos os Uni es riados desde sua ria a~o tentam manter ompatibilidade om ele. O proprio
Windows NT da Mi rosoft que n~ao tem ara de UNIX tem ompatibilidade om o padr~ao POSIX, tamanha
sua import^an ia.
Um pou o mais tarde, em 1991, o estudante de omputa a~o nland^es Linus Torvalds, ursando sua
gradua a~o, foi introduzido ao Minix. O Minix e um sistema opera ional om ns edu ativos es rito pelo
Andrew Tanembaum, tambem baseado no UNIX, so que muito mais simpli ado, para o entendimento de
seus alunos. O Linus, usando omo base o Minix, es reveu um kernel pequeno, baseado em seu onhe imento
de sistemas opera ionais. Sua ideia era o desenvolvimento de um sistema gratuito, que pudesse ser utilizado
nos omputadores 386, simples, mas baratos, que estavam disponveis 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 ja estava bastante utilizavel. Hoje,
10 anos depois, o Linux ja pode ser usado em diversas plataformas, e suporta uma grande variedade de
equipamentos.

1.3 O que e uma distribui ~ao?


Com a popularizal a~o do Linux houve a ne essidade de riar-se formas de instala a~o simples. Alem disso
existiu a ne essidade de instalar os apli ativos que o Linux rodava. So que, nem todos os usuarios tem tempo
e energia para pegar o odigo fonte, ompilar o programa, instalar os programas em lugares devidos, e fazer
a on gura a~o desses apli ativos. Outro aspe to e a atualiza a~o dos apli ativos que podem ser bastante
frequente.
As distribui o~es surgiram om esse proposito. Fa ilitar a instala a~o e manutan a~o do sistema Linux.
Uma distribui a~o geralmente ontem um sistema de instala a~o ini ial, e alem disso um sistema para manuten a~o de apli ativos, isto e, in lus~ao, remo a~o ou atualiza a~o de apli ativos no sistema. Para isso foi riado
a ideias de pa otes. Hoje em dia todas as distribui o~es t^em omo base entral um sistema de pa otes. Um
pa ote e o en apsulamento de um apli ativo, ompontente, ou bibliote a, ja ompilado. Ele tambem ontem
uma vers~ao, pre-requisitos de instala a~o e pequenos \s ripts" que realizam sua instal a~o ou remo a~o.
Existem grandes grupos se formaram om esse objetivos. Alguns s~ao omer iais, ou outros n~ao e geralmente possuem alguma ara tersti a uni a om rela a~o as outras. As distribui o~es mais famosas e utilizadas
atualmente s~ao (em ordem alfabeti a):

Cone tiva No Brasil, a empresa Cone tiva montou uma distribui a~o baseada na RedHat. Agora a
Cone tiva e a maior empresa de Linux em toda Ameri a Latina, tambem 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 a~o foi baseada na Debian e feita pela famosa empresa Corel. Site: linux. orel. om.
Debian Essa distribui a~o e totalmente mantida por voluntarios por volta do mundo todo, e e onsagrada
omo a distribui a~o mais estavel que existe. Considerada uma das distribui o~es mais \puras" e pode
exigir um pou o mais de onhe imento do usuario, entretanto, tem sistema de atualiza a~o bem mais
transparente do que as outras. Site: www.debian.org

1.4. PARTES DO GNU/LINUX

Mandrake Distribui a~o tambem baseada na RedHat, bastante famosa. Site: www.linux-mandrake. om
RedHat Essa deve ser a distribui a~o mais utilizada no mundo todo. E um sistema muito fa il para instalar
pela primeira vez, portanto a RedHat e as distribui o~es baseadas nela, s~ao re omentadas para a
instala a~o por um usuario novato. Site: www.redhat. om
Sla kware Distribui a~o muito famosa no in io do Linux, mas hoje em dia o interesse por essa distribui a~o
aiu bastante, e tambem o seu desenvolvimento. Site: www.sla kware. om
SuSE Distribui a~o ini ialmente baseada na Debian, ofere e diversos servi os, e um sistema de instala a~o
um pou o mais amigavel. Site: www.suse. om
Essas distribui o~es, em geral, podem ser instaladas por diversas maneiras. As duas maneiras mais omuns
de instal a~o e via um (ou alguns) CD, e a outra e pela rede (Internet). Geralmente todas as distribui o~es
disponibilizam, gratuitamente, toda distribui a~o em algum servidor, e pode ser baixada. Para quem tem
a esso a banda larga esse metodo pode ser muito bom. Mas para as pessoas que queiram instalar em asa
ou em algum lo al sem banda larga e desejavel utilizar CD's om a distribui a~o. Hoje em dia os CD's das
diversas distribui o~es podem ser en ontrados em sites de vendas, livrarias de informati a, ou as vezes ate em
revistas de informati a espe ializadas em Linux.

1.4 Partes do GNU/Linux


Hoje o GNU/Linux e um sistema bastante popular, prin ipalmente pelo fato de ser gratuito e livre, e
pelos meios de omuni a a~o ajudarem nessa divulga a~o. 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 nu leo do sistema opera ional,
e o restante s~ao programas desenvolvidos para a mais diversas fun o~es.

1.4.1 O nu leo do sistema


Como dito, apenas o odigo prin ipal do sistema e o Linux. Esse odigo e hamado de kernel ou nu leo.
No Linux, esse odigo e monolti o, isto e, um grande blo o de odigo e ompilado, e esse programa permite a
ini ializa a~o e opera a~o do sistema. Varios drivers ( odigo ne essario para o fun ionamento de um periferi o)
de dispositivos podem ser utilizados apenas quando ne essarios, sendo assim ompilados omo m
odulos.
Apesar dessa modulariza a~o do odigo, o sistema ainda assim e monolti o, pois n~ao divide as opera o~es
em amadas independentes, o que poderia fa ilitar na abstra a~o do odigo para por exemplo um rapida
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 ja 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 rapido 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 esta 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, alem de outros produtos
omer iais ou de li en as diferen iadas.
O projeto GNU (Gnu is Not Unix ) e o responsavel 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 desenvolvidos om a mesma \ loso a", s~ao onsiderados GNU.


CAPITULO 1. CONCEITOS BASICOS

1.4.3 A Filoso a GNU


Uma oisa que um usuario do GNU/Linux deve ter em mente quando utilizar o sistema e a loso a GNU.
 essen ial observar a diferen a
O projeto GNU tem omo base a ideia de software livre (free software). E
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 usuario 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 usuarios de software:




A liberdade de exe utar o programa, para qualquer proposito (liberdade numero 0).
A liberdade de estudar omo o programa fun iona, e adapta-lo para as suas ne essidades (liberdade
numero 1). A esso ao odigo-fonte e um pre-requisito para esta liberdade.

A liberdade de redistribuir opias de modo que vo ^e possa ajudar ao seu proximo (liberdade numero
2).

A liberdade de aperfei oar o programa, e liberar os seus aperfei oamentos, de modo que toda a omunidade se bene ie (liberdade numero 3). A esso ao odigo-fonte e um pre-requisito para esta
liberdade.

O projeto GNU permitiu que essas liberdades fossem exer idas por muitos usuarios e as onsequ^en ias
disso s~ao muito importante. A primeira onsequ^en ia foi a ria a~o do desenvolvimento ooperativo pela
Internet. O desenvolvimento ooperativo permitiu um in rvel aumento na qualidade e quantidade dos
programas existentes. O desenvolvimento ooperativo tem diversas vantagens sobre o desenvolvimento de
programas proprietarios. 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 ate melhor do que os produtos equivalentes proprietarios.

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 te ni a, usada em algum programa. Em odigo proprietario 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 ha restri o~es quanto aos parti ipantes. Isso impli a que
o publi 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,
 interessante observar
n~ao poderia ser onstrudo de outra forma sen~ao pelo desenvolvimento ooperativo. E
que o numero de apli ativos e projetos existentes para o Linux e assustador.

1.5 Usuarios, grupos e senhas


O UNIX e um sistema multiusuario. Isso signi a que em uma mesma maquina, varios usuarios podem
estar one tados, por exemplo, atraves de diversos terminais. Para isso o sistema armazena em um arquivo
os nomes dos usuarios (username ), e que no UNIX em geral e limitado a 8 ara teres. Portanto, quando
um usuario a essa o sistema om seu nome, todos os programas que forem exe utados por ele ter~ao omo
identi ar qual o usuario e podera pegar a on gura a~o desejada por aquele usuario e tmabem podera
restringir o a esso a algumas partes de sistema.


1.5. USUARIOS,
GRUPOS E SENHAS

Por ser um sistema multiusuario, e ne essario um me anismo que proteja o sistema de usuarios n~ao
autorizados, e alem disso, permite que um usuario n~ao a esse arquivos de outros usuarios. Portanto, ada
usuario tem uma senha, que tambem em geral e limitada a 8 ara teres, mas que a eita ara teres maius ulos,
minus ulos, numeros e smbolos espe iais. A import^an ia prin ipal da senha e a prote a~o do proprio usuario,
para que nenhuma pessoa possa alterar informa o~es em seus arquivos. Alem 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 usuario. Na realidade, internamente, todo usuario e representado por
um numero, este numero e hamado de userid e e distinto para todos os usuarios do sistema.
Alem disso e possvel a ria a~o de grupos de usuarios. A prin pio todo usuario perten e a pelo menos
um grupo. Mas e possvel a ria a~o de diversos grupos de usuarios. Assim os re ursos ou arquivos podem
ser restritos por grupos, isto e, pode-se liberar uso de alguns re ursos para todos os usuarios que perten em
a um determinado grupo. Analogamente esse grupos tambem s~ao representados no sistema por numeros,
hamados groupid, e tambem e distinto para todos os grupos do sistema.
O aptulo 3 ontem informa o~es interessantes sobre os re ursos disponveis para a separa a~o entre
usuarios do sistema.

1.5.1 Tipos de usuarios


Existem basi amente 3 tipos de usuarios diferentes nos sistemas UNIX. Cada tipo de usuario tem uma
fun a~o e e importante observar isso ja que a base do UNIX e entrada numa polti a de usuarios.

omuns Usuarios omuns s~ao os usuarios os quais estamos a ostumados. Geralmente representa uma pessoa
fsi a e real. Vo ^e e todos as pessoas que ompartilham o mesmo sistema s~ao os usuarios omuns.
do sistema Esses n~ao representam pessoas fsi as. S~ao geralmente usuarios que representam programas que
rodam em fundo. Exemplos desses usuarios s~ao usuarios para servidores de HTTP, SMTP, et . S~ao
essen iais para que o sistema exe ute alguma fun a~o automati a em alguma area restrita do sistema.
root Esse e o usuario que \administra" o sistema UNIX. Esse e um uni o usuario om poderes totais sobre
todos os arquivos e disposotivos do sistema. A ideia que a pessoa en arregada de fazer a manuten a~o
do sistema (fazer instala a~o de programas, veri ar seguran a, realizar o ba kups, et ). Na realidade
o \root" tem o seu userid igual a 0. Portanto qualquer usuario om userid igual a zero tera poderes
\totais" neste sistema.

1.5.2 Entrando no sistema


A primeira oisa a fazer num sistema multiusuario 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 sera feito todos as vezes que quiser
entrar no sistema. A primeira oisa que o usuario v^e ao olhar para tela e a seguinte linha no onsole:
Linux login:

Ao digitar o username do usuario e depois enter, temos uma nova linha no onsole:
Password:

Agora a senha deve ser digitada. Se o nome do usuario e a senha estiverem orretas, ent~ao vo ^e deve ter
entrado no sistema... boa sorte!


CAPITULO 1. CONCEITOS BASICOS


1.5.3 Area
do usuario
Todo usuario tem uma area pessoal hamada de HOME ( asa). Essa area, na verdade, nada mais e do
que um diretorio no sistema de arquivos que o usuario tem permiss~ao ompleta de olhar e manipular. Esse
diretorio, tradi ionalmente, a armazenado dentro do diretorio /home do sistema de arquivos. Ent~ao, se
um usuario tiver um login pipo a, sua area aria no diretorio /home/pipo a/.
Essa area e importante, pois alem de permitir um lo al para o usuario guardar seus arquivos pessoais,
tambem permite om que qualquer apli ativo veri que as on gura o~es espe  as daquele usuario. Isso
impli a que todos os programas podem ter uma on gura a~o diferente para ada usuario do sistema.

1.5.4 Arquivos importantes


 muito importante observar que todos os aspe tos de on gura a~o que um sistema UNIX tem e a essvel
E
atraves de arquivos. Isso e uma oisa que pode demorar para a ostumar, mas e inevitavel. Os usuarios, grupos
e senhas existentes no sistema s~ao tambem todos a essveis a partir de
Todos os usuario e grupos de nidos num sistema est~ao de nidos em arquivos (podendo tambem ser
arquivos remotos, disponibilizados por algum servidor). Aqui vamos dar uma olhada nos arquivos que
de nem os usuarios, grupos e senhas do um sistema UNIX.

/et /passwd Apesar de seu nome, este e o arquivo de usuarios do sistema. Aqui est~ao listados todos os
usuarios que existem no sistema, tanto os usuarios omuns quanto os usuarios do sistema. Antigamente,
esse arquivo tambem abrigava as senhas que os usuarios tiham (da o nome passwd ), mas por motivos
de seguran a as senhas ganharam seu arquivo proprio, expli ado a seguir. Tipi amente, o arquivo
passwd ontem 7 ampos separados pelo ara tere ':', da seguinte forma:









Nome de login { Este e o username do usuario, tipi amente, letras minus ulas, om omprimento
maximo 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 esta no arquivo /et /shadow.
ID numeri o do usuario - o userid do usuario
ID numeri o do grupo - o groupid a qual o usuario perten e
Nome real do usuario
Diretorio home do usuario
Shell do usuario

/et /shadow Este arquivo foi riado om o proposito de o ultar as senhas do sistema do arquivo passwd.
O arquivo passwd pre isa ser publi o para que outros programas e usuarios obtenha informa o~es sobre
os demias usuarios do sistema. Entretanto tradi ionalmente o arquivo ja ontinha as senhas riptografadas, o que pode ser in oveniente em alguns asos. Portanto as senhas riptografadas foram retirados
do arquivo passwd e olo ada neste.
 possvel riar diversos grupos
/et /group Este arquivo de ne os grupos aos quais os usuarios perten em. E
e um mesmo usuario pode perten er a diversos grupos tambem.

1.5.5 Comandos rela ionados


Neste se a~o apresentaremos alguns omandos importantes para a visualiza a~o e manipula a~o das informa o~es rela ionadas om usuarios, senhas, e grupos. Alem disso, veremos o que os programas est~ao
alterando em nosso sistema, ou seja, quais opera o~es s~ao exe utadas e quais arquivos est~ao sendo alterados.
Isso e sempre importante para que o usuario tenha i^en ia do que ada omando realmente faz.


1.5. USUARIOS,
GRUPOS E SENHAS

Criando um novo usuario


Talvez a primeira oisa que queremos fazer e a ria a~o de um novo usuario. As diversas distribui o~es t^em
diferentes maneiras de fazer a ria a~o. Os dois omandos mais omuns (e que omumente s~ao o mesmo) e o
useradd ou adduser. Para ver a sintaxe desses omandos e possvel exe uta-los om o argumento \--help".

adduser Geralmente esse omando se apresenta de forma interativa om o usuario, ou seja, n~ao e ne essario
dispor todas as informa o~es na linha de omando. Esse omando tambem todas outras utilidades,
dependendo de sua sintaxe.
O arquivo que on gura omo o usuario sera riado e o /et /adduser. onf . Para saber mais sobre
esse omando, leia a pagina manual do adduser e adduser. onf.

useradd Esse omando e um pou o menos amigavel, exigindo que vo ^e passe as informa o~es do novo usuariio
omo argumentos (par^ametros) ao omando.
Para saber mais sobre esse omando, leia a pagina manual do useradd.
Essen ialmente, qualquer ria a~o de usuario realiza os seguintes passos:

1 Inser a~o no arquivo /et /passwd. Como vimos, aqui sera registrado o login do usuario, nome, user id,
group id, area de trabalho e shell.

2 Inser a~o no arquivo /et /group.


3 Inser a~o no arquivo /et /shadow, inserindo a senha desse usuario.
4 Cria a~o de uma area de trabalho para o usuario, geralmente algo omo /home/login/.
5 Copia do onteudo do diretorio /et /skel/ para a area de trabalho desse usuario, para que o usuario ja
tenha alguns arquivos de on gura a~o ja pre- on gurados.

1.5.6 Criando um novo grupo


Como ja dito, grupos s~ao importantes, pois possibilitam a uni~ao de diversos usuarios em uma uni a lasse
de tal forma que possam ompartilhar permiss~oes rela ionadas om arquivos.
Analogamente a ria a~o de novos usuarios, a ria a~o de novos grupos tem dois omandos \ lassi 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 usuario 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 pedira para o usuario
entrar om a senha nova duas vezes. A resultado e que o arquivo /et /shadow sera alterado om a nova
senha riptografada do usuario.


CAPITULO 1. CONCEITOS BASICOS

1.6 A intera ~ao om o usuario


Desde sua ria a~o, a prin ipal interfa e om o usuario eram os terminais texto, sem a exist^en ia de

mouse ou imagens gra as, que hoje s~ao t~ao omuns na informati a. Portanto, mesmo existindo interfa es

gra as, os programas em modo texto ainda s~ao bastante omuns e usados. Para a exe u a~o de programas,
e interessante que o usuario 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 ideia 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 usuario realize atividades diferentes em paralelo. Depois da ria a~o de
ambientes gra os, esses sistemas ainda persistem pois possibilita uma maneira muito rapida de realizar
pequenas fun o~es, ou ent~ao, e uma maneira de a essar o sistema mesmo quando a interfa e gra a esta om
problemas.
Geralmente e possvel ter muitos onsoles virtuais no mesmo sistema. Esse numero e totalmente on guravel. O arquivo que ontrola esse numero e o /et /inittab, onde est~ao algumas diretivas que omandam
o pro esso de ini ializa a~o do sistema.
Um exer  io interessante e aprender a navegar por todos os terminais virtuais e os ambientes gra os.
Para mudar de um sistema gra o para outro sistema gra o ou para um onsole, aperte Ctrl-Alt-Fx ( om
umero do terminal virtual desejado). Agora para mudar de um terminal virtual para outro
x sendo o n
basta apertar Alt-Fx ( om x sendo o numero 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 usuario. O programa pode ja ofere er
alguns omandos, que ele mesmo exe uta. Pode tambem exe utar programas espe  os, a partir da hamada
do usuario. 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, varios programas existem para a interpreta a~o de omandos. O mais omum hoje utilizado,
prin ipalmente no Linux, e o bash (Bourne-Again SHell, derivado do sh. Esse sera o shell abordado nesse
texto. Existem, entretanto, diversos outros shells que podem ser usados, dependendo do gosto do usuario.
Toda vez que o usuario usuario se \loga" no sistema, o sistema veri a o setimo ampo do arquivo
/et /passwd ( omo vimos a ima) para veri ar qual shell que o usuario deseja utilizar. Claramente e
possvel a ada usuario 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 ate hoje s~ao as mdias magneti as, omo os dis os
exveis de 3 21 polegada, ou os dis os xos (hard disk ), que hamaremos de HD, om maior apa idade e
on abilidade que os exveis.
A estrutura desses dis os magneti os em geral e a divis~ao dos dis os em trilhas (se o~es ir ulares) e estas
em setores. Normalmente, os setores s~ao as unidades mnimas do dis o, e normalmente armazenam 512

1.8. TIPOS DE ARQUIVOS NO SISTEMA

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 a~o dos dados.
Cada sistema opera ional organiza os dis os em dis o de forma diferente, e forne e uma interfa e propria
para o usuario. No Linux, o sistema de arquivos implementado hama-se Extended File System 2, e
forne e uma interfa e para o usuario 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 a~o dos arquivos no sistema (se a~o 1.8). Alem disso, todo o sistema de arquivo do sistema
forma um uni a arvore, ini iada pela raiz /. Portanto, alem dos arquivos omuns (e que podem estar em
dis os diferentes), os arquivos no diretorio /dev/ e /pro / s~ao espe iais, rela ionados om dispositivos e
estruturas do sistema. Alguns diretorios s~ao bastante omuns entre os diversos UNIX existentes:
 o diretorio raiz, em que s~ao riados todos diretorios e arquivos do sistema.
/ E

/et Diretorio ontendo arquivos de on gura a~o dos programas e s ripts de ini ializa a~o do sistema.
/usr Diretorio ontendo a maioria dos programas e bibliote as desses programas.
/var O sistema e programas utilizam esse diretorio para guardam informa o~es de ontrole e manter arquivos
passageiros.
/tmp Prin ipalmente utilizado para informa o~es temporarias e des artaveis. O sistema \limpa" esse diretorio quando e ini iado.
/lib Contem as prin ipais bibliote as do sistema.
/bin Prin ipais omandos e programas basi os do sistema.
/home Contem os diretorios dos usuarios, isto e, as areas de trabalho dos usuario omuns.
Logi amente essas divis~oes podem ser diferentes entre os sistemas e mesmo entre as distribui o~es do
Linux.

1.8 Tipos de arquivos no sistema


As implementa o~es 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 diretorios. Alem
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 prati a. Para isso o sistema de arquivos de ne tipos diferentes de arquivos, ada um
om sua fun a~o. 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 atraves de um numero rela ionado om as permiss~oes do arquivo (se a~o 3.1).
Nesse aso, o omando ls a res enta um identi ador (*) quando utilizado om a op a~o -F e altera a or do
nome quando utilizado om a op a~o -- olor.
Os arquivos de dados tambem s~ao lassi ados em tipos, de a ordo om as informa o~es que guarda e om
o programa rela ionado a ele. Essa lassi a a~o n~ao esta rela ionada om o sistema de arquivos. O omando
le lassi a arquivos (se a~o 7.1.1).
1 1 byte 
e a unidade padr~ao utilizada nos omputadores e signi a um numero de 8 bits, isto e, um numero em base binaria
om oito asas. Portanto, 1 byte pode representar 28 = 256 smbolos diferentes.


CAPITULO 1. CONCEITOS BASICOS

10

1.8.2 Diretorios
No sistema de arquivos existe um tipo espe ial de arquivos para a de ni a~o de diretorios, que podem
onter outros arquivos e diretorios. Normalmente, asso ia-se a essa estrutura o on eito de pasta, em que se
pode olo ar varios do umentos (arquivos). Entretanto, pode-se olo ar diretorios dentro de um diretorio,
o que n~ao e possvel om pastas.
Os diretorios n~ao ontem dados espe i amente, mas onstituem um aminho de um arquivo em dis o.
Isto e, o aminho /home/mar io/ urso.ps indi a os diretorios que se deve per orrer a partir da raiz para se
en ontrar o arquivo urso.ps. O usuario pode notar que varios omandos e programas \tratam" diretorios
de maneira diferente, n~ao podendo abri-los para leitura, omo e feito om arquivos de dados.
Diretorios s~ao listados pelo omando ls (se a~o 2.1.1) om o ara tere / adi ionado (se requerido), alem
de onter o ara tere d na adeia de ara teres que indi a as permiss~oes de arquivos (se a~o 3.1).

1.8.3 Liga ~oes simboli as


As liga o~es xas e simboli as s~ao expli adas na se a~o 2.1.8. Entretanto vale itar aqui a exist^en ia de um
tipo de nido de arquivo para as liga o~es simboli 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 o~es simboli as podem ser diferen iadas, om o smbolo , 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 a~o entre arquivos e dispositivos
de a esso em blo os, omo dis os, tas magneti as, et , e de nido um tipo de arquivo, hamado blo o (blo k ).
O sistema ja ria varios desses arquivos no diretorio /dev, e ao ini iar a maquina, asso ia os dispositivos
en ontrados aos devidos arquivos. Por exemplo, se o HD prin ipal instalado na interfa e IDE primaria
esta dividido em 4 partes, o arquivo /dev/hda e asso iado ao dispositivo, e as parti o~es s~ao asso iadas
respe tivamente aos arquivos /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4.
Ja 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 ).
Alem 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 a~o entre
pro essos, e esta asso iado a uma estrutura interna do nu leo do sistema. E o tipo de arquivo la ( fo ou
named pipe ), e basi amente uma la ( omo o pipe, se a~o 4.3), que pode ser utilizado entre os pro essos omo
um arquivo no sistema.

1.9 Visualizando arquivos texto


Ja que estamos falando de arquivos e essen ial aprender a visualizar o onteudo de qualquer arquivo.
Existem varias maneiras para fazer isso, e diversos editores de texto (que veremos na se a~o 7.3). Mas para
a visualiza a~o 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 varios arquivos forem dados na linha de omando, todos eles ser~ao mostrados em sequ^en ia. O at serve
para a listagem de arquivos texto simples. Ele simplesmente lista o arquivo todo. N~ao ha nenhum tipo de
intera a~o om o usuario.
Exemplo:
at /et /motd

1.9.2 O omando more


Este omando, um pou o mais amigavel, 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 histori a, mantem-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 fa il de usar de todos os tr^es. Extremamente re omendado para visualizar arquivos
longos, e tambem 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 binarios (espe ialmente om o omando at) e
possvel 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 tersti as do terminal atual.

1.10 Te las importantes


No uso de terminais (in lusive no xterm ou outro terminal gra o), algumas te las s~ao importantes:

Ctrl-A O ursor vai para o in io da linha, analogo a te la [Home.


Ctrl-E O ursor vai para o m da linha, analogo a te la [End.
Ctrl-C Esse omando gera um sinal de interrup a~o para o programa. A maioria dos programas aborta a
exe u a~o.

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 sera apagado, ou aso ontrario, o omando logout e exe utado.

Ctrl-S O mesmo que a te la S roll Lo k. Trava o terminal, ate que um [Ctrl-Q seja apertado.
Ctrl-Q Para a maioria dos programas fun iona omo omando de sada. Alem disso, aso a trava da tela
esteja ligada (S roll Lo k ), esse omando libera o terminal novamente.


CAPITULO 1. CONCEITOS BASICOS

12

Shift-PgUP, Shift-PgDown Essas duas ombina o~es de te las s~ao muito uteis para voltar o terminal

virtual para visualizar texto que n~ao oube na tela atual. Assim e possvel ver o histori o das a o~es
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 possvel visualizar o histori 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, ate hegar no omando desejado.

1.11 Informa ~oes e ajuda ini iais


Em geral, o usuario novo tem muitas duvidas sobre os omandos e sobre as regras de utiliza a~o dos
sistemas UNIX. A maioria das redes disponibiliza informa o~es on-line, e alem disso, no UNIX o sistema de
do umenta a~o e fa ilmente visualizado pelo usuario.

1.11.1 Paginas manuais


A do umenta a~o dos programas UNIX em geral esta disponvel pelas hamadas paginas manuais que
s~ao pequenos guias e expli a o~es sobre ada omando ou arquivo de on gura a~o. Essas paginas s~ao muito
uteis e o usuario deve riar o habito de olha-las diariamente.
Para a essar essa paginas deve-se usar os omandos man e info. Em geral, a do umenta a~o do info e mais
ompleta, sendo a pagina de manual (man) apenas uma refer^en ia rapida. Deve-se utiliza-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 basi a do man e:
man [se ~ao palavra

1.11.2 Se ~oes das paginas manuais


Eventualmente uma mesma palavra pode estar em duas se o~es distintas. As se o~es das paginas manuais
t^em um signi ado, referente a alguma ara tersti a do que se pro ura. As seguintes se o~es s~ao as se o~es
padr~oes no UNIX:

Se ~ao 1 Manuais dos programas que os usuarios 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), tambem para uso prin ipalmente de desenvolvedores.

Se ~ao 4 Manuais de dispositivos do sistema (por exemplo, hd, sd, et .)


Se ~ao 5 Manuais de formatos de arquivos diversos e tambem 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 o~es, ou pa otes de ma ros, et .

1.12. COMPUTADORES EM REDE

13

Se ~ao 8 Manuais para administra a~o do sistema.


Quando o omando man e dado, ele tentara en ontrar a primeira se a~o que ontem a palavra exigida.
Isso pode riar um pou o de onfus~ao as vezes. Um exemplo em que e ne essario fazer a diferen ia a~o entre
se o~es e, por exemplo, na pesquisa de arquivo /et /passwd. Se zermos a sequ^en ia de omandos:
$ apropos -e passwd
passwd (1)
- hange user password
- The password file
passwd (5)

Ou seja se tentarmos ler a pagina manual da seguinte maneira:


$ man passwd

A abaremos lendo a primeira pagina manual, que orresponde ao omando passwd e n~ao ao arquivo
/et /passwd que queramos ler. O omando orreto seria:
$ man 5 passwd

1.12 Computadores em rede


Com a populariza a~o 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 essveis de qualquer parte do
mundo. Alem disso, e muito omum em empresas e institui o~es a exist^en ia de redes (Intranet ), e em
geral o proto olo utilizado nessas redes e prin ipalmente o proto olo IP, padr~ao tambem na Internet. Cada
maquina no proto olo IP ontem um numero uni o asso iado, om o qual se pode endere as a maquina na
rede. Na vers~ao atual do IP, esse numero tem 32 bits, e que apesar de pare er su iente, ja esta obsoleto.
Por exemplo, a maquina servidora da Debian o IP 198.186.203.20. O novo padr~ao desenvolvido tera 128
bits. Entretanto esses numeros s~ao dif eis de serem lembrados, alem de nada prati os omer ialmente.
Para fa ilitar a omuni a a~o entre as maquinas e o endere amento de paginas e outros servi os, riou-se
um sistema de nomes para o proto olo IP. O proto olo de distribui a~o desses nomes hama-se DNS (Domain
Name System ). A ada numero IP pode-se asso iar uma adeia de ara teres, hamado de hostname. O
endere amento entre as maquinas em redes e na Internet e feito geralmente pelo hostname, por ser mais fa il
e prati o para os usuarios.


CAPITULO 1. CONCEITOS BASICOS

14

1.13

 ios
Exer 

Prati ar e a oisa essen ial para aprender qualquer oisa nova, in lusive um sistema novo. Sem a prati a,
as oisas vistas nesse urso ser~ao esque idas em pou o tempo. Por isso esses exer  ios s~ao so um aque imento
para ser realizado durante as aulas, mas depois, e ne essario um aprofundamento maior.
1. Alguns Uni es em geral, permitem o uso de diversos sistemas texto ( onsoles ou terminais virtuais)
e sistemas gra os simultaneamente. Portanto um exer  io interessante e aprender a navegar por
todos eles. Para mudar de um sistema gra o para outro sistema gra o ou para um onsole, aperte
Ctrl-Alt-Fx ( om x sendo o numero do terminal virtual desejado). Agora para mudar de um terminal
virtual para outro basta apertar Alt-Fx ( om x sendo o numero 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 multiusuario 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 sera 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 devera 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 a~o. Para isso existe o omando hfn.
5. Tambem podera ser mudado o shell prin ipal que o usuario desejar utilizar. Para isso existe o omando
hsh.
6. Vimos que os usuarios, grupos e senhas do sistema s~ao de nidos por arquivos no sistema. Entretanto
o manipula a~o desses arquivos e muitas vezes muito ompli ada para os usuarios. Desse forma existem
uma serie de omandos que veri am esses arquivos e ja devolvem as informa o~es desejadas. Vamos
aprender a utilizar alguns desses programas:

whoami { esse programa imprime o login do usuario atual.


groups { esse programa imprime os grupos os quais o usuario atual perten e.
id { esse programa e bem mais ompleto e devolve n~ao so o login do usuario, 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 o~es
sobre todos os usuarios atualmente usando o sistema.

 muito interessante tentar


7. Falamos de diversos arquivos e de alguns omandos para visualiza-los. E
visualizar os diversos arquivos om o tr^es 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. EXERCICIOS

15

8. Ler a do umenta a~o ontida nas paginas manuais e essen ial para o entendimento do poder de um
erto programa. Para ver omo e a estrutura a~o de uma pagina 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 proprio omando man.

16


CAPITULO 1. CONCEITOS BASICOS

Cap
tulo 2

Comandos basi os
O objetivo desse aptulo e a introdu a~o de alguns omandos basi os do UNIX/Linux, para que o usuario
tenha a oportunidade de en ontrar, riar, mover, apagar e opiar arquivos e diretorios no sistema.
Ja vimos omo um usuario 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 gra o exe utando o bash, omo
por exemplo o xterm, kterm, ou gnome-terminal. A abordagem para os programas gra os ser~ao feitas adiante,
em outros aptulos.

2.1 Manipula ~ao de arquivos e diretorios


Alguns on eitos de sistemas de arquivos ja foram mostrados no aptulo anterior. Vejamos os primeiros
passos apos entrar no sistema.

2.1.1 Listagem: o que ha no dis o? | O omando ls


O omando ls lista arquivos e diretorios. O omando pode re eber op o~es omo argumento e diretorios
ou arquivos a serem listados. Se um diretorio esta sendo listado, os arquivos e diretorios que ele ontem
ser~ao mostrados. Vejamos a sintaxe:
ls [OPCA~O... [NOME...

Vemos que o omando pode ser usado sem argumento algum. Nesse aso, o diretorio orrente (veja pwd,
na se a~o 2.1.9) e listado.
A sem^anti a padr~ao do ls e a listagem, em ordem alfabeti a, dos diretorios 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 possvel distinguir diretorios de arquivos (no exemplo,
apresenta oes e urso s~ao diretorios). Para isso, temos a op a~o -F, ou -- lassify, que adi iona ara teres
para lassi a a~o do arquivo:
[maquina:~/www/ma 499$ ls -F
apresenta oes/ ronograma.html.old index.html
teste*
ronograma.html urso/
index.html.old teste.html

17


CAPITULO 2. COMANDOS BASICOS

18

Foram a res entados aqui um arquivo exe utavel e uma liga a~o simboli a. Outros dois tipos de indi adores
existem (| e =). Mais expli a o~es sobre tipos de arquivos em 1.8. Tambem podemos querer saber mais
informa o~es sobre os arquivos, omo data da ultima modi a a~o, e tamanho do arquivo. Vejamos a op a~o
-l:
[maquina:~/www/ma 499$
total 30
drwxr-xr-x
2 pipo
-rw-r--r-1 pipo
-rw-r--r-1 pipo
drwxr-xr-x
2 pipo
-rw-r--r-1 pipo
-rw-r--r-1 pipo
-rwxr-xr-x
1 pipo
lrwxrwxrwx
1 pipo

ls -l
b
b
b
b
b
b
b
b

1024
3476
13115
1024
4107
4169
0
13

out
jul
jul
out
jul
jul
out
out

27
6
6
30
6
6
30
30

13:49
18:36
16:41
09:29
18:51
16:41
10:43
10:44

apresenta oes
ronograma.html
ronograma.html.old
urso
index.html
index.html.old
teste
teste.html -> ../index.html

Nesse tipo de listagem, o primeiro ara tere de ada entrada indi a o tipo de arquivo, que sera expli ado
adiante (se a~o 1.8). Entretanto, o uso da op a~o -Fl nos da ambas indi a o~es. Outras op o~es 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 diretorio, que indi am respe tivamente o proprio diretorio e o diretorio pai.
A op a~o -d permite a listagem de diretorios omo arquivos, apenas mostrando o nome ( omo padr~ao, o ls
mostraria o onteudo do diretorio).
Hoje, om os terminais oloridos, o uso de ores para diferen ia a~o de arquivos e bastante util. O ls
permite o uso de ores, atraves da op a~o -- olor=[quando, em que o par^ametro quando permite de nir se
se utilizara ores sempre, nun a ou apenas quando a sada for para um terminal. Um resumo do ls pode ser
visto na tabela 2.1.
Op ~ao
-F ou -- lassify

O omando ls

Signi ado
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 diretorios, omo arquivos
-R ou --re ursive
lista os diretorios re ursivamente (arvore toda)
-- olor=[QUANDO
usa ores:
always, yes, for e sempre utiliza
never, no, none
nun a utiliza
Valores de QUANDO
auto, tty, if-tty
utiliza se e para sada padr~ao
Tabela 2.1: Resumo do omando ls

2.1.2 Como mudar de diretorio? | O omando d


O d e um omando interno do bash, isto e, e exe utado pelo proprio pro esso que aguarda os omandos
do usuario. Vejamos a sintaxe:
d [-PL [DIRETORIO

~ DE ARQUIVOS E DIRETORIOS

2.1. MANIPULAC
 AO

19

O diretorio padr~ao utilizado e o diretorio de nido na variavel de ambiente HOME. O aminho para o
diretorio sempre e bus ado na variavel CDPATH, e ent~ao no diretorio orrente (\."). Caso o diretorio seja
espe i ado om o aminho ompleto ( ome ando por /), CDPATH e ignorado.
A op a~o -L, indi a que a estrutura logi a dos diretorios sera seguida, isto e, as liga o~es (links ) simboli as
ser~ao onsiderados diretorios. O ontrario o orre om -P, que for a a estrutura fsi a dos diretorios (se uma
liga a~o aponta para a raiz, quando utilizamos d para essa liga a~o, estaremos na raiz, e n~ao no diretorio da
liga a~o).

2.1.3 E para riar um diretorio? | O omando mkdir


O omando mkdir ria os diretorios passados omo argumento. Sintaxe:
mkdir [OPC~AO... [NOME...

Caso algum nome exista, o omando devolve uma mensagem de erro. Pode-se utilizar a op a~o -p ou
--parents para que o omando n~ao devolva a mensagem de erro aso exista um diretorio om mesmo

nome (para arquivos, a mensagem ontinuara sendo devolvida). Alem disso, essa op a~o for a a ria a~o dos
diretorios pais se ne essaria. Exemplo:
[maquina:/tmp/teste$ ll
total 0
[maquina:/tmp/teste$ mkdir pai/filho
mkdir: n~
ao foi possvel 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 tambem ja riar o diretorio om as permiss~oes, usando -m MODO ou --mode=MODO, onde MODO e
um numero omo o utilizado pelo hmod, expli ado na se a~o 3.1.5.

2.1.4 E para remover um diretorio? | O omando rmdir


O omando rmdir remove os diretorios apenas se estiverem vazios. A sintaxe e omo a do mkdir:
rmdir [OPCA~O... [DIRETORIOS...

A op a~o -p ou --parents remove todos os diretorios em um aminho se estiverem vazios (por exemplo,
rmdir www/publi /teste removera o ramo todo da arvore, apagando teste, publi e ent~ao www).

2.1.5 E para mover arquivos ou diretorios? | O omando mv


Para mover arquivos e diretorios entre diretorios, utiliza-se:
mv [OPCA~O... FONTE... DIRETORIO

Algumas op o~es s~ao importantes. A op a~o -b ou --ba kup=[CONTROLE ria uma opia do arquivo a ser
sobres rito, se for o aso. A op a~o -i ou --intera tive permite a onsulta ao usuario antes de sobres rever
algum arquivo. E a op a~o -f ou --for e sempre sobres reve, sem onsulta ao usuario. Caso ambas op o~es,
-i e -f, s~ao usadas, a u
ltima de larada e a utilizada.


CAPITULO 2. COMANDOS BASICOS

20

2.1.6 E para apagar um arquivo? | O omando rm


O omando rm remove arquivos, e tambem diretorios em alguns asos. A sintaxe e:
rm [OPCA~O... ARQUIVO...

A sem^anti a das op o~es -i e -f s~ao as mesmas do mv, isto e, -i para intera a~o om usuario, e -f para
remover sem onsulta ao usuario. Uma op a~o importante do rm, por ser bastante util e perigosa, e -r ou
-R ou --re ursive. Essa op a~o permite a remo a~o de um diretorio re ursivamente, des endo em todos os
diretorios perten entes ao diretorio 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 diretorio teste
rm: des er no diret
orio `teste/re ursivo'? y
removendo todas as entradas do diretorio teste/re ursivo
rm: remover diret
orio `teste/re ursivo'? y
removendo o proprio diret
orio: teste/re ursivo
rm: remover diret
orio `teste'? s
removendo o proprio 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 [OPCA~O... FONTE... DIRETORIO

No primeiro aso, opia-se apenas um arquivo, indi ado o nome da opia. No segundo aso, opiam-se
varios arquivos para um diretorio. A sem^anti a para as op o~es -b, -i, -f e a mesma dos omandos mv e rm.
A op a~o -r permite opia re ursiva dos arquivos de um diretorio, mas tudo que n~ao for diretorio e opiado
omo arquivo. Ja -R, ou --re ursive, mantem o tipo de arquivo diferente na opia ( las, dispositivos, et ).
Uma op a~o importante, e -d ou --no-deferen e, para manter as liga o~es, e n~ao opiar o arquivo. A op a~o
-u ou --update e bastante u
til, 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 o~es de sistemas de arquivos dos sistemas UNIX, existe o on eito de links, que hamaremos aqui de liga o~es, passando para o nosso portugu^es. Ha dois tipos de liga o~es: as liga o~es xas (hard
links ) e as simboli as (soft ou symboli links ).
Uma liga a~o xa e um nome de arquivo que divide um inode om outro arquivo. O inode e a estrutura de
dados que des reve o arquivo no dis o, portanto uma liga a~o xa e prati amente outro nome para o arquivo.
Cara tersti as importantes sobre as liga o~es xas:

quando riamos uma liga a~o xa, deixamos o arquivo om duas ou mais refer^en ias (nomes) no dis o.
Assim sendo, somente quando todas refer^en ias s~ao removidas o arquivo e realmente removido do dis o.

~ DE ARQUIVOS E DIRETORIOS

2.1. MANIPULAC
 AO

Op ~ao
-b ou --ba kup=[CONTROLE
-i ou --intera tive
-f ou --for e
-r
-R
-d
-u
-s
-a

ou --re ursive
ou --no-deferen e
ou --update
ou --symboli -link
ou --ar hive

21

O omando p
Signi ado
ria opia antes de sobres rever
onsulta usuario antes de sobres rever
sobres reve sem onsulta
re ursivo, opia tudo omo arquivo
re ursivo, tenta riar arquivos espe iais
mantem as liga o~es, ao inves de opiar o arquivo
opia apenas se mais novo ou inexistente no destino
ria uma liga a~o simboli a ao inves de opiar
tenta preservar os atributos dos arquivos

Tabela 2.2: Resumo do omando p

quando movemos o arquivo original entre diretorios perten entes ao mesmo sistema de arquivos (geralmente mesma parti a~o), a liga a~o xa n~ao e alterada, ja que o arquivo em dis o n~ao muda de
posi a~o.

se movemos o arquivo (original ou alguma liga a~o) entre diretorios perten entes a sistemas de arquivos
diferentes, a liga a~o n~ao mais existe, e os arquivos se tornam independentes (ja que nesse aso, o
arquivo movido na verdade e opiado para o outro lesystem e apagado do lo al original).

N~ao e possvel riar liga o~es xas de diretorios.

Ja uma liga a~o simboli a e um outro tipo de arquivo que pode ser riado no sistema, a m de se referen iar
um arquivo ou diretorio qualquer. A refer^en ia de uma liga a~o simboli a e feita por nome (isto e, esse tipo
de arquivo guarda um nome de outro arquivo). As opera o~es de leitura e es rita s~ao passadas para o
arquivo referen iado. Ja a remo a~o e movimenta a~o da liga a~o e feita sobre o proprio arquivo de liga a~o.
Cara tersti as:

se removemos o arquivo que esta sendo referen iado, ele de fato e removido, e a liga a~o a \quebrada"
(quando se utiliza ores omo o omando omandols, ha ores diferentes para liga o~es que referen iam
arquivos existentes ou inexistentes).

 se movemos o arquivo, mesmo no mesmo sistema de arquivos, a liga a~o a \quebrada".


 e possvel riar liga o~es simboli as de diretorios.
O omando ln
O omando ln e usado para riar tanto liga o~es simboli as quanto xas. Vejamos sua sintaxe:
ln [OPC~
AO... DESTINO [NOME LIGAC
~AO
~

ln [OPCAO... DESTINO... DIRETORIO

No primeiro aso, ria-se apenas uma liga a~o, podendo espe i ar um nome diferente para ela. No
segundo aso, ria-se diversas liga o~es no diretorio espe i ado para os destinos listados. Aqui os nomes
ser~ao os mesmos.
Como padr~ao o omando ln ria uma liga a~o xa. Para riar liga o~es simboli as, deve-se utilizar a op a~o
-s ou --symboli . As op o~es -f (--for e), -i (--intera tive) e -b (--ba kup=[CONTROLE) t^em a
mesma sem^anti a ja vista em outros omandos.


CAPITULO 2. COMANDOS BASICOS

22

2.1.9 Como sei em que diretorio realmente estou? | O omando pwd


Com o uso de liga o~es simboli as, a estrutura de diretorios pode ar onfusa. Vejamos um exemplo:
[maquina:~$ d vai/
[maquina:~/vai$ ll
total 0
lrwxrwxrwx
1 pipo
b
3 out 31 10:17 volta -> ..//
[maquina:~/vai$ d volta/
[maquina:~/vai/volta$ d vai/
[maquina:~/vai/volta/vai$ d volta/vai/
[maquina:~/vai/volta/vai/volta/vai$

Chama-se estrutura logi a de diretorios o aminho do diretorio orrente onsiderando as liga o~es simboli as.
Mas se ignorarmos essas liga o~es, isto e, se as substituirmos, teremos a estrutura fsi a (ou o valor absoluto
do aminho), que e efetivamente o diretorio em que nos en ontramos. O omando pwd do bash permite a
visualiza a~o de ambos aminhos, atraves das op o~es -P, para o valor absoluto, e -L, para onter as liga o~es:
[maquina:~/vai/volta/vai/volta/vai$ pwd -P
/home/b /pipo/vai
[maquina:~/vai/volta/vai/volta/vai$ pwd -L
/home/b /pipo/vai/volta/vai/volta/vai

2.2 Mas o que e um omando?


 importante
Como ja foi dito, existe uma in nidade de omandos disponveis em qualquer UNIX. E

observar que esse numero de omandos n~ao e estati o. E possvel adi ionar novos omandos, tornando o
sistema mais exvel.
Um omando, na verdade, nada mais e do que um arquivo binario exe utavel, ou seja, um programa.
Por exemplo, os omandos at e ls s~ao ambos programas exe utaveis que est~ao deibaixo do diretorio /bin.
Poranto, ao inves de digitar ls ou at, e possvel digitar o aminho absoluto para o omando:
$ /bin/ls

ou
$ /bin/ at

2.2.1 O omando e ho
O omando e ho serve para imprimir os ara teres que vo ^e der para ele. Sua sintaxe e bastante simples:
e ho [OPTION... [STRING...

Ent~ao um exemplo bastante trivial poderia ser:


$ e ho ``testando 1 2 3''

Agora om a op a~o -e, por exemplo, o e ho tambem a eita alguns ara teres que lembram a impress~ao
de algumas linguagens de programa a~o omo C ou Java :
$ e ho -e ``testando\n1\n2\n3''

2.3. FACILITANDO A VIDA { CRIANDO

APELIDOS

23

Mas qual uma utilidade para o e ho? Esse omando e muito importante, por exemplo, para veri ar os
valores das variaveis que est~ao setadas no seu shell. Em parti ular, vo ^e pode ent~ao veri ar quais diretorios
que o shell pro ura por omandos, quando vo ^e digita um omando. Essa variavel se hama PATH. Para
visualizar tente o seguinte omando:
$ e ho $PATH

E vo ^e vera quais diretorios o seu shell esta per orrendo a pro ura dos omandos digitados.

2.2.2 Os omandos whi h e type


Existem dois omandos bastante uteis para veri a a~o do lo aliza a~o de algum programa no sistema, o
whi h e type, que basi amente fazem a mesma oisa, salvo alguns detalhes. A sintaxe do omando whi h e
bastante simples:
whi h [ nome do ommando ...

E a sintaxe do type e um pou o mais ompli ada, ja que e um omando mais ri o. O type alem de ter
mais op a~o, tambem veri a se um omando e um apelido (alias), ou ate imprime variaveis do seu shell.
Sua sintaxe segue:
type [-atp name [name ...

Portanto, podemos reveri ar os omandos vistos para a har seu aminho absoluto:

$ whi h ls
$ type ls

Agora para ver omo o type tambem onsegue veri ar as variaveis do bash, podem tentar faz^e-lo imprimir
a variavel PATH:
$ whi h $PATH
$ type $PATH

Veja, que om o omando whi h nada sera impresso, entretanto o omando type onsegue veri ar orretamente seu onteudo.

2.3 Fa ilitando a vida { riando apelidos


Ao utilizar o Linux e omum utilizarmos omandos sempre om os mesmos argumentos. Por exemplo, e
desejavel utilizar o omando ls da seguinte forma para obter uma formata a~o mais lara ao usuario:
$ ls -Fal -- olor=auto

Entretanto, a laro ver que e uma ato extremamente ped^anti o ter que digitar esse omando omprido
todas as vezes que se deseja listar o onteudo do diretorio atual. Para fa ilitar, as vezes em muito, e que os
shells, em espe ial o bash, t^em suporte para ria a~o de apelidos.
Um apelido e uma asso ia a~o entre um string e um omando e seus par^ametros. Portanto, a linha
de omando do ls a ima, pode ser abreviada, por exemplo, pelo apelido ll (o que e omum em algumas
distribui o~es).


CAPITULO 2. COMANDOS BASICOS

24

2.3.1 De nindo um apelido, o omando alias


Para a ria a~o do string, deve utilizar o omando alias, om a seguinte sintaxe basi a:
alias [-p [nome=[valor...

Sem argumentos nenhum, ou om a op a~o -p, o alias simplesmente lista todos os aliases (apelidos )
atualmente de nidos. Por exemplo:
$ alias
alias a2ps='a2ps -R -- olumns 1 -f 10 -M Letter -v'
alias =' lear'
alias d..=' d ..'
alias l=' lear'
alias opy=' p -i'
alias p=' p -i'
alias del='rm -i'
alias desliga='shutdown -h now'
alias dir='ls -Fal -- olor'
alias dir/p='ls -Fal -- olor | more'
alias ema s='ema s -geometry 80x35'
alias from='from -f ~/Mailbox'
alias go='startx'
alias gv='gv -antialias'
alias l='ls -Fal -- olor'
alias mdir='mdir |more'
alias move='mv -i'
alias mv='mv -i'
alias quit='exit'
alias rebota='shutdown -r now'
alias rm='rm -i'

Esses s~ao os apelidos de nidos na on gura a~o de um dos autores. Agora para riar um novo alias, da
maneira sugerida a ima om o omando ls, pode-se fazer:
$ alias ll='ls -Fal -- olor=auto'

Agora o apelido \ll" estara de nido e quando utilizado omo omando ira exe utar, na verdade, \ls -Fal
{ olor=auto". Esse sistema de apelidos e extremamente util e serve prin ipalmente para fa ilitar a utiliza a~o
do shell pelo usuario.
Por m, para visualizar o onteudo de um apelido e possvel usar o alias om apenas um argumento. Por
exemplo:
$ alias ll
alias ll='ls -Fal -- olor=auto'

Mostra o onteudo do apelido ll que a abamos de de nir. Alem disso o omando type visto na se a~o
anterior tambem tem suporte a veri ar a exist^en ia de um apelido e mostrando seu onteudo:
$ type ll
ll is aliased to `ls -Fal -- olor=auto'

2.3. FACILITANDO A VIDA { CRIANDO

APELIDOS

25

2.3.2 Removendo um apelido, o omando unalias


Para remover a de ni a~o de um apelido existe o omando unalias om a seguinte sintaxe:
unalias [-a [name ...

Se usado om a op a~o -a, ira remover todos os apelidos atualmente de nidos. Para apenas remover um
apelido, podemos apenas olo ar o apelido omo argumento, por exemplo:
$ type ll
ll is aliased to `ls -Fal -- olor=auto'
$ unlias ll
$ type ll
bash: type: ll: not found
$ ll
bash: ll: ommand not found

Ent~ao vemos que depois que dermos o omando unalias no apelido ll que tnhamos, o bash n~ao re onhe e
mais o apelido.


CAPITULO 2. COMANDOS BASICOS

26

2.4

Exer 
 ios

Nessa se a~o, alguns exer  ios s~ao propostos para melhor aprendizado dos omandos e on eitos dados.

2.4.1 Os mais simples: mkdir e rmdir


Crie diretorios om o mkdir, testando in lusive a op a~o -p. Remova os diretorios riados, tambem
veri ando a utilidade da op a~o -p para o rmdir.

2.4.2 Passeio | d e pwd


Para testar os omandos d e pwd, prin ipalmente as diferen as entre a estrutura logi a e fsi a dos
diretorios, rie algumas liga o~es, e depois utilize d om as op o~es -P e -L separadamente. Quando utilizar
om a op a~o -L, use o omando pwd para veri ar a diferen a entre os aminhos logi o e fsi o.

2.4.3 O mais omplexo: ls


 Primeiramente, desative os apelidos
unalias ls, que sera expli ado em





existentes em sua on gura a~o. Para isso, digite o omando

??. Teste as op o~es expli adas na se a~o 2.1.1.

Leia a man page ou o info do omando ls.


Como podemos obter a seguinte uma sada om apenas um arquivo por linha, em ordem alfabeti a
reversa?
E essa sada?
[maquina:~$ ls ____
"AdobeFnt.lst", "Desktop", "GNUstep", "Mail", "Maildir", "b news", "bin",
" urso", " ursos", "from", "ftp", "lexmark", "ma 414", "nsmail", "onibus",
"private", "www"

Apesar de estarem a ostumados a utilizar os omandos ll, la e lh, eles n~ao existem, s~ao apenas aliases.
Des reva as op o~es do omando ls que forne am a mesma sada desses omandos (logi amente, sem
olhar as de ni o~es dos aliases na rede...).




Qual a diferen a entre a op a~o -o e -l para o ls?


Como e possvel listar as liga o~es simboli as omo arquivos omuns?

2.4.4 Copias, e mais opias | p


 Qual e a diferen a entre -r e -R para esse omando?

Fa a o seguinte teste: tente opiar o arquivo


/dev/gpmdata para sua raiz (mexa no mouse enquanto opia). O que a onte eu? Agora tente opiar
utilizando a op a~o -R. Liste o novo arquivo utilizando -F ou -l para ver o tipo de arquivo riado.

Leia a man page ou o info do p e explique omo fun iona as op o~es de ba kup, isto e, os valores de
CONTROLE na op a~o --bak up=[CONTROLE. Teste essas op o~es, tentando sobres rever arquivos existentes.

2.4.5 Cria ~ao de liga ~oes | ln


 Primeiramente, teste o fun ionamento das liga o~es xas, para melhor entendimento.

Cap
tulo 3

Arquivos e pro essos


Continuaremos aqui om alguns on eitos novos e mais alguns omandos. Ja vimos um onjunto de
omandos essen iais ao uso do UNIX, alem de alguns on eitos do sistema de arquivos. Veremos agora mais
alguns detalhes do sistema de arquivos, que s~ao posse e permiss~ao de arquivos, alem de on eitos sobre
pro essos no UNIX e os omandos rela ionados.

3.1 Permiss~oes e posse de arquivos


Os sistemas UNIX se ara terizam por serem dire ionados a redes ou maquinas multiusuario. Para isso, e
essen ial que o sistema de arquivos disponibilize servi os de prote a~o dos arquivos. Para isso, primeiramente o
UNIX disponibiliza a diferen ia a~o entre arquivos de ada usuario, om o on eito de posse ou propriedade.
Cada arquivo no sistema perten e a um determinado usuario. Alem disso, existem os grupos no sistema,
que nada mais s~ao que agrupamentos de um ou mais usuarios. Portanto, ada arquivo perten e a um uni o
grupo e a um uni o usuario do sistema. A asso ia a~o de um arquivo a um determinado grupo e a um usuario
que n~ao perten a a esse grupo n~ao e ne essariamente impossvel. Entretanto, apenas o usuario root pode
fazer tal tarefa.
Ao listar os arquivos utilizando ls -l, o usuario e o grupo de ada arquivo e mostrado, nessa ordem. Como
padr~ao, e impressa a adeia de ara teres asso iada aos numeros que identi am o usuario e o grupo. Qual
a vantagem de se ter grupos no sistema? Podemos querer dividir os usuarios em grupos diferentes, omo
por exemplo na Rede Linux, os usuarios s~ao separados por grupos de a ordo om o urso. Se um usuario de
um grupo quiser permitir que apenas os usuarios de seu grupo leiam um arquivo, isso e possvel, utilizando
orretamente a ideia de permiss~
oes.
Os arquivos no sistema t^em permiss~oes asso iadas ao usuario, ao grupo e a todos usuarios do sistema.
Existem tr^es tipos de permiss~oes:

Permiss~ao de es rita: se estiver liberada, o usuario pode es rever no arquivo (ou o grupo, ou todos
usuarios, para ada uma das permiss~oes).




Permiss~ao de leitura: apenas permite que usuario abra o arquivo para leitura.
Permiss~ao de exe u ~ao: permite a exe u a~o o arquivo (utilizada para arquivos binarios que s~ao
programas, e para arquivos texto que s~ao s ript.

As permiss~oes para diretorios t^em uma sem^anti a diferente. A permiss~ao de es rita esta asso iada ao
fato de a res entar ou remover arquivos do diretorio. Normalmente, so e liberada para o proprio usuario. A
permiss~ao de leitura e asso iada ao poder de listar o diretorio. E a permiss~ao de exe u ~ao e asso iada a
listagem de informa o~es dos arquivos do diretorio.
27

CAPITULO 3. ARQUIVOS E PROCESSOS

28

3.1.1 Como veri ar permiss~oes?


Como sabemos quais permiss~oes tem um arquivo? Quando listamos um diretorio om o omando ls -l, a
primeira oluna e uma adeia de ara teres que representa essas permiss~oes. Vejamos um exemplo:
$ ll
total 1
drwxr-xr-x
-rw-rw----rwxr-xr-x
-rw-rw-rw-rw-------

2
1
1
1
1

pipo
pipo
pipo
pipo
pipo

b
b
b
b
b

1024
0
0
0
0

nov
nov
nov
nov
nov

6
6
6
6
6

09:31
09:31
09:33
09:31
09:31

diretorio/
grupo
programa*
todos
usuario

O primeiro ara tere da adeia esta rela ionado om o tipo de arquivo, que vimos na se a~o 1.8. A letra d
indi a diretorio, s indi a so ket, indi a ara tere, b indi a blo o e l indi a liga ~ao simboli a (vimos
que esse tipo de liga a~o e um tipo de arquivo diferente). Os outros ara teres indi am as permiss~oes, em
grupos de tr^es. Cada grupo indi a um nvel de permiss~ao, que s~ao usuario, grupo, e todos, da esquerda para
direita. Em ada grupo, os ara teres signi am leitura (read ), es rita (write, e exe u ~ao (exe ution ).
Se apare e o ara tere (r, ou w ou x, respe tivamente) a permiss~ao esta liberada. Se apare e o ara tere -,
a permiss~ao n~ao esta liberada. No exemplo, temos os arquivos usuario, grupo e todos om as permiss~oes
de leitura e es rita liberadas somente para o usuario, para o grupo tambem, e para usuario, grupo e todos,
respe tivamente. O arquivo programa, tem a permiss~ao de leitura e exe u a~o para todos os nveis, e de
es rita apenas para o usuario.

3.1.2 Altera ~ao de usuario ou grupo na exe u ~ao


Alguns programas ne essitam de permiss~oes espe iais para exe utarem. Um programa pode pre isar
a essar dispositivos espe iais, e para isso deve ser exe utado pelo usuario root, por exemplo. Ou um usuario
quer deixar um programa exe utavel em seu diretorio, mas esse programa pre isa a essar o proprio diretorio
para es rita, o que e impossvel se o programa e exe utado por outros usuarios. Para isso, os arquivos
tambem podem ter permiss~oes diferen iadas de exe u a~o, hamada set user ID ou set group ID. Portanto,
se no lugar do ara tere x, existe o ara tere s ou S, para os nveis usuario e grupo, esses arquivos ser~ao
exe utados diferentemente. Ao exe utar um programa om o set ID, o programa sera exe utado omo o
usuario ou grupo (dependendo da permiss~ao) que possui o arquivo, tento assim outros a essos no sistema
(no aso do usuario root, a esso a todo o sistema). Quando apare e o ara tere s, e por que tambem existe
ali a permiss~ao x, de exe u a~o. Se o ara tere S e apresentado, ent~ao n~ao existe a permiss~ao de exe u a~o
naquele nvel.

3.1.3 Como alterar posse? | O omando hown


O omando hown permite a altera a~o de posse de arquivos. Vejamos sua sintaxe:
hown [OPC~
AO... DONO[.[GRUPO ARQUIVO...
hown [OPC~AO... .GRUPO ARQUIVO...
hown [OPC~
AO... --referen e=RARQUIVO ARQUIVO...

A primeira op a~o altera o usuario e op ionalmente o grupo dos arquivos. A segunda apenas altera o
grupo dos arquivos. E a ter eira utiliza um arquivo omo refer^en ia, isto e, a lista de arquivos a ser alterada
perten era ao mesmo usuario e grupo de RARQUIVO. O ara tere : pode ser utilizado no lugar de .. No
primeiro aso, se o usuario e espe i ado seguido de . ou :, mas sem grupo, o grupo e alterado para o grupo
de a esso (grupo do usuario em /et /passwd) do usuario.
Para alterar a posse de diretorios re ursivamente, basta utilizar a op a~o -R ou --re ursive. Para liga o~es
simboli as, omo padr~ao, o hown altera a posse do arquivo de liga a~o. Para alterar o arquivo referen iado,
pode-se utilizar a op a~o --dereferen e.

~
3.1. PERMISSOES
E POSSE DE ARQUIVOS

29

3.1.4 Como alterar o grupo? | O omando hgrp


Vimos que o omando hown tambem pode eventualmente mudar o grupo de um arquivo, entre existe
outra maneira. O omando hgrp permite a altera a~o de posse de arquivos. Vejamos sua sintaxe:
hown [OPC~AO... GRUPO ARQUIVO...
~O... --referen e=RARQUIVO ARQUIVO...
hown [OPCA

A primeira op a~o altera o grupo dos arquivos. E a segunda utiliza um arquivo omo refer^en ia, isto e, a
lista de arquivos a ser alterada perten era ao mesmo grupo de RARQUIVO.
Para alterar o grupo de diretorios re ursivamente, basta utilizar a op a~o -R ou --re ursive. Para
liga o~es simboli as, omo padr~ao, o hgrp altera a posse do arquivo de liga a~o. Para alterar o arquivo
referen iado, pode-se utilizar a op a~o --dereferen e.

3.1.5 E para alterar permiss~oes? | O omando hmod


Para alterar as permiss~oes de um arquivo, utiliza-se o omando hmod. Sintaxe:
hmod [OPC~
AO... MODO[,MODO... ARQUIVO...
hmod [OPC~AO... MODO-OCTAL ARQUIVO...
hmod [OPC~
AO... --referen e=RARQUIVO ARQUIVO...

A op a~o -R ou --re ussive altera a propriedade de um diretorio re ursivamente. Para liga o~es simboli as,
sempre altera-se a permiss~ao do arquivo referen iado (as permiss~oes da liga a~o s~ao as permiss~oes do arquivo,
mas a adeia lrwxrwxrwx e apresentada nos links para o omando ls).
Utilizando a ter eira op a~o de sintaxe, as permiss~oes do arquivo de refer^en ia s~ao opiadas para os
arquivos a serem alterados.

Modos simboli os
A primeira op a~o de sintaxe utiliza ara teres para altera a~o das permiss~oes. Cada MODO pode ser o
ara tere u (usuario), g (grupo) e o (todos usuarios, em ingl^es other ). Pode-se utilizar o ara tere a, tendo
o mesmo efeito de ugo. Apos a adeia espe i ando o nvel, pode-se utilizar um dos tr^es ara teres: = (para
espe i ar exatamente a permiss~ao), + (para adi ionar uma permiss~ao) ou - (para remover uma permiss~ao).
Espe i a-se ent~ao quais s~ao as permiss~oes desejadas, utilizando os ara teres rwxXstugo. Os ara teres r,
x, w e s, est~ao asso iados respe tivamente a leitura, exe u a~o, es rita e exe u a~o espe ial. O ara tere X
somente a res enta permiss~ao de exe u a~o para um arquivo aso ja exista em algum nvel. E os ara teres
ugo, permitem a opia de permiss~oes (no mesmo arquivo). Por exemplo, hmod a=u arquivo, alterara todas
as permiss~oes de arquivo para as permiss~oes de usuario existentes. Exemplos:
$ ll
total 0
-rw-r--r-1 pipo
b
$ hmod a+x permissao ; ll
total 0
-rwxr-xr-x
1 pipo
b
$ hmod a=r,u+w permissao ; ll
total 0
-rw-r--r-1 pipo
b
$ hmod go-r permissao ; ll
total 0
-rw------1 pipo
b

0 nov 6 11:20 permissao


0 nov 6 11:20 permissao*
0 nov 6 11:20 permissao
0 nov 6 11:20 permissao

CAPITULO 3. ARQUIVOS E PROCESSOS

30

Originalmente, o arquivo permissao estava om permiss~oes de leitura para todos os nveis, e es rita para
usuario. No primeiro exemplo, adi ionamos exe u a~o para todos os nveis, e no segundo deixamos todos
apenas om r e a res entamos w para usuario. O ultimo exemplo mostra omo remover permiss~oes, e no
aso, retiramos as permiss~oes de leitura para grupo e todos usuarios.

Modos numeri os
Outra maneira de espe i ar a permiss~ao de um arquivo e utilizando numeros o tais. Dessa maneira,
de nimos as permiss~oes de um arquivo, sem a exibilidade de adi ionar ou remover permiss~oes omo e
possvel om os modos simboli os. Utiliza-se numeros o tais om quatro algarismos, em que ada algarismo
esta asso iado aos nveis (todos, grupo, usuario) e as permiss~oes espe iais, do menos para o mais signi ativo.
Cada algarismo dos nveis pode ser asso iado a um binario de tr^es bits, em que r e o bit mais signi ativo,
w o segundo bit e x o menos signi ativo. Assim, 0 orresponde a ---, 1 orresponde a --x, 2 orresponde
a -w- e assim por diante. Podemos visualizar essa rela a~o na tabela 3.1.
O tal

Binario

0
1
2
3
4
5
6
7

000
001
010
011
100
101
110
111

ASCII
----x
-w-wx
r-r-x
rwrwx

Tabela 3.1: Asso ia a~o entre o tais e ASCII para permiss~oes
O o tal para a representa a~o das permiss~oes espe iais e formado da seguinte maneira. O valor 1 e
asso iado ao sti ky bit, o valor 2 e asso iado a exe u a~o espe ial pelo grupo, e o valor 4 e asso iado a
exe u a~o espe ial pelo usuario. A soma desses valores permite a uni~ao das permiss~oes. Claramente, o sti ky
bit e o bit menos signi ativo, o set group ID bit (grupo) e o segundo bit, e o set user ID bit e o mais
signi ativo. Exemplos:
$ ll
total 0
-rwxr-xr-x
1 pipo
b
$ hmod 0 exe u ao ; ll
total 0
---------1 pipo
b
$ hmod 644 exe u ao ; ll
total 0
-rw-r--r-1 pipo
b
$ hmod 1644 exe u ao ; ll
total 0
-rw-r--r-T
1 pipo
b
$ hmod 6754 exe u ao ; ll
total 0
-rwsr-sr-1 pipo
b

0 nov 6 11:20 exe u ao*


0 nov 6 11:20 exe u ao
0 nov 6 11:20 exe u ao
0 nov 6 11:20 exe u ao
0 nov 6 11:20 exe u ao*

Os o tais mais signi ativos s~ao onsiderados 0 aso n~ao sejam espe i ados. O ultimo exemplo nos
mostra que as adeias ASCII am diferentes quando utilizamos as permiss~oes espe iais. Normalmente
pou o se utiliza dessas permiss~oes, ex eto por administradores de rede.

31

3.2. PROCESSOS

3.1.6 E na ria ~ao de arquivos? | O omando umask


No momento de riar um diretorio ou arquivo, o kernel pre isa saber que permiss~oes dar ao arquivo.
Um valor padr~ao e de nido pela shell, e o omando asso iado e o umask (e um omando interno do bash).
Vejamos a sintaxe:
umask [-p [-S [MODO

Para de nir o modo, basta utilizar o omando seguido do modo simboli o desejado para os arquivos e
diretorios. Na ria a~o de arquivos, o sistema ignorara o bit de exe u a~o, portanto sempre os arquivos s~ao
riados sem x. Nos diretorios isso n~ao o orre, se for espe i ado o MODO omo u=rwx,g=rx,o=rx, os diretorios
ser~ao riados om essas permiss~oes. N~ao e possvel espe i ar permiss~oes espe iais para ria a~o. Quando
se de ne o MODO atraves de um o tal, deve-se usar o numero que omplementa o modo desejado (por isso
mask ). Por exemplo, se desejamos u=rwx,g=rx,o=rx, que seria 755, o o tal a ser de nido deve ser 022.
Se nenhum numero for passado, o omando imprime o valor atual da shell. A op a~o -S, faz om que seja
impresso o modo simboli o que e utilizado na ria a~o dos arquivos.

3.2 Pro essos


Como ja expli ado anteriormente, o UNIX e um sistema multitarefa, isto e, pode exe utar varios programas simultaneamente. Logi amente, o pro essador divide seu pro essamento sequen ial em pequenas
intervalos de tempo para ada pro esso, o que nos da a impress~ao de uma exe u a~o realmente simult^anea.
Logi amente, maquinas om mais de um pro essador, efetivamente podem ter pro essos exe utando simultaneamente.
Normalmente, onfundimos programa om pro esso, usando essas palavras sem distin a~o. Entretanto,
apesar de estarem rela ionados, um programa e um pro esso s~ao on eitos diferentes. O odigo exe utavel
(binario ou texto) que reside no dis o e hamado de programa. Ao ser exe utado, atraves do bash ou de um
s ript de ini ializa a~o, ou por um outro pro esso, esse programa que e exe utado no pro essador e hamado
pro esso. Note que o programa somente s~ao dados em dis o, e o pro esso s~ao esses dados na memoria, mais
o espa o alo ado para os dados que o pro esso utilizara e estruturas de dados do kernel para des ri a~o do
pro esso.
No UNIX, parti ularmente, ada pro esso tem um numero asso iado, um identi ador uni o nas las de
pro esso que o kernel mantem. Esse numero e hamado pro ess ID, normalmente referen iado por PID.
Alem disso, todo pro esso tem um usuario asso iado, normalmente o usuario que riou aquele pro esso.
Assim, o sistema pode se proteger, permitindo a esso restrito ao sistema para os pro essos de usuarios.
Cada sistema opera ional implementa algum algoritmo de es alonamento de pro essos. O es alonamento
e a es olha de qual pro esso vai ser exe utado, no momento em que o pro essador se en ontra livre. No
Linux, um pro essamento por fatia de tempo (Round Robin) e utilizado, om um es alonamento de pro essos
por prioridade. Essa prioridade permite que um pro esso de maior import^an ia utilize o pro essador antes
dos pro essos de prioridade menor. Entretanto, os pro essos sofrem um pro esso de envelhe imento, tendo
sua prioridade aumentada a medida que passa o tempo, para evitar que ele nun a exe ute. Dentro desse
assunto, dis utiremos omo se pode alterar prioridades de pro essos (se a~o 3.3.2).

3.2.1 Visualizando pro essos e suas propriedades | O diretorio /pro


Antes de vermos os omandos usados para listar pro essos de um sistema, e ne essario entender um
pou o sobre o diretorio /pro . O /pro e um pseudo sistema de arquivos que e usado omo interfa e para
as estruturas de dados do kernel. A maior parte do /pro e apenas leitura, mas alguns arquivos permitem
que variaveis do kernel sejam alteradas.
Para ada pro esso existente no sistema, existe uma entrada des revendo-o no /pro que e organizado
da seguinte maneira:

CAPITULO 3. ARQUIVOS E PROCESSOS

32

numero Para ada pro esso, existe um subdiretorio numeri o igual ao pid do pro esso sendo des rito. Cada
subdiretorio, possui uma serie de outros arquivos:

mdline Esse arquivo ontem a linha de omando ompleta utilizada para a ria a~o desse arquivo.
wd Esse arquivo e uma liga a~o para o diretorio de trabalho atual (\ urrent working dire tory ").
environ Este arquivo ontem o ambiente para o pro esso. As entradas s~ao separadas por ara teres

nulos ('n0').
exe Esse arquivo e uma liga a~o para o arquivo binario que foi exe utado para a ria a~o desse pro esso.
fd Esse e um subdiretorio ontendo uma entrada para ada arquivo que o pro esso tem aberto, om o
nome do manipulador de arquivo e que e uma liga a~o simboli a para o arquivo real.
maps Contem as regi~oes de memoria mapeadas e suas permiss~oes de a esso.
root Contem uma liga a~o simboli a para o diretorio raz do sistema de arquivo, na vis~ao desse pro esso.
stat,statm e status Informa o~es sobre o estado do pro esso, tais omo estatsti a de uso de memoria
e CPU, se o pro esso esta dormindo ou rodando, e muitas outras informa o~es.

Fi a obvio, entretanto que pegar informa o~es sobre os pro essos do sistema dessa maneira e extremamente
devagar e hato para o usuario. Para isso existem um serie de apli ativos que fazem a \servi o sujo" de
per orrer o pseudo sistema de arquivos /pro , ole ionando os dados ali disponveis e formatando de forma
mais amigavel e util.

3.2.2 Listagem de pro essos | O omando ps


O omando ps lista os pro essos do sistema, in luindo diversas informa o~es. Entretanto, essa listagem e
feita apenas em um momento do pro essamento, omo uma fotogra a. O omando top (3.2.3) mantem uma
des ri a~o dos estados dos pro essos dinami amente. Esse omando e bastante diferen iado entre os UNIX
existentes.

O ps no Linux
A sintaxe e simples:
ps [OPCA~O...

Mas as op o~es s~ao extensas. Uma leitura da pagina de manual (man ps) e impres indvel. O omando
sem op a~o alguma, disponibiliza a seguinte sada:
$ ps
PID TTY
11417 pts/4
11560 pts/4

TIME CMD
00:00:00 bash
00:00:00 ps

Ou seja, apenas informa o PID, o terminal que o pro esso utiliza, e o tempo de exe u a~o do pro esso.
Claramente, o omando apenas lista pro essos do usuario que o hamou, que est~ao no mesmo terminal da
hamada. A op a~o a, permite a visualiza a~o de todos os pro essos, in lusive de outros usuarios. Entretanto,
somente ser~ao impressos os pro essos que tiverem um terminal asso iado. No exemplo abaixo, temos o
pro esso gpm, que ontrola o mouse, asso iado ao terminal ttyS0, que e um dispositivo serial.
$ ps a
PID TTY
456 ttyS0

STAT
S

TIME COMMAND
0:00 /usr/sbin/gpm -m /dev/ttyS0 -t ms -R -3

33

3.2. PROCESSOS

506
507
683
4926
4932
10853
11302
11417
11480
11611

tty3
tty4
tty1
pts/1
pts/1
pts/0
tty2
pts/4
pts/0
pts/4

S
S
S
SN
SN
SN
S
SN
SN
RN

0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00

/sbin/getty 38400 tty3


/sbin/getty 38400 tty4
-bash
-bash
pine
-bash
/sbin/getty 38400 tty2
-bash
pine
ps a

Ainda assim, a sada n~ao indi a os usuarios que possuem os pro essos. A op a~o u, nos indi a quais s~ao
esses usuarios, a res entando algumas informa o~es extras. Veja exemplo na gura 3.1.
$ ps au
USER
root
root
root
spei ys
spei ys
sakai
root
pipo
sakai
root
rpaula
rpaula
rpaula
rpaula
rpaula
rpaula
pipo

PID %CPU %MEM


456 0.0 0.2
506 0.0 0.3
507 0.0 0.3
4926 0.0 1.0
4932 0.0 1.5
10853 0.0 1.0
11302 0.0 0.3
11417 0.0 1.1
11480 0.0 1.2
11618 0.0 0.3
11629 0.0 1.1
11657 0.0 1.6
11658 0.2 2.5
11664 0.6 4.4
11677 0.1 2.0
11687 4.7 1.6
11688 0.0 0.8

VSZ
1048
1004
1004
2220
5084
2260
1004
2332
4812
1004
2268
3184
5572
7396
3996
6248
2692

RSS
324
444
444
1340
2036
1380
444
1440
1572
444
1424
2108
3340
5744
2676
2168
1052

TTY
ttyS0
tty3
tty4
pts/1
pts/1
pts/0
tty2
pts/4
pts/0
tty1
pts/2
pts/2
pts/2
pts/2
pts/2
pts/2
pts/4

STAT
S
S
S
SN
SN
SN
S
SN
SN
S
SN
SN
SN
SN
SN
SN
RN

START
Nov06
Nov06
Nov06
Nov06
Nov06
09:36
10:09
10:20
10:22
10:34
10:36
10:37
10:37
10:38
10:41
10:43
10:43

TIME
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:01
0:00
0:00
0:00

COMMAND
/usr/sbin/gpm -m /dev/t
/sbin/getty 38400 tty3
/sbin/getty 38400 tty4
-bash
pine
-bash
/sbin/getty 38400 tty2
-bash
pine
/sbin/getty 38400 tty1
-bash
gv MSS.ps.1
gs -sDEVICE=x11 -dNOPAUSE
ema s
/usr/X11R6/bin/xdvi.bin
latex monografia.tex
ps au

Figura 3.1: Exemplo de uso do ps


Caso haja a ne essidade de veri ar pro essos que n~ao est~ao asso iados a algum terminal, pode-se utilizar
a op a~o x. A op a~o -A ou -e mostra efetivamente todos os pro essos.
O ps tambem a eita op o~es para sele ionar quais pro essos ele deve mostrar. Podemos sele ionar por
usuario, om a op a~o U, forne endo uma lista de usuarios separada por ,. Veja na gura 3.2.
Outra op a~o interessante e a --forest. Nesse aso, o ps imprime os pro essos omo uma arvore, hierarqui amente de a ordo om a ria a~o dos mesmos. Esse omando tem muitas op o~es ainda, prin ipalmente
para a formata a~o da sada. Uma leitura do manual e alguns testes pode ser um bom exer  io para onhe er
melhor o programa.

O ps no Solaris
O ps tem algumas diferen as no sistema Solaris. Vejamos:
ps [OPC~AO...

O fun inamento do omando e prati amente o mesmo, mas as op o~es s~ao diferentes. Sem op a~o alguma,
temos:

CAPITULO 3. ARQUIVOS E PROCESSOS

34
$ ps uU pipo,rpaula
USER
PID %CPU %MEM
pipo
11417 0.0 1.1
rpaula
11629 0.0 1.1
rpaula
11657 0.0 1.6
rpaula
11658 0.0 2.5
rpaula
11664 0.5 4.6
rpaula
11677 0.0 2.0
pipo
11753 0.0 0.8

VSZ
2332
2268
3184
5572
7532
3996
2660

RSS
1440
1424
2108
3340
5948
2676
1056

TTY
pts/4
pts/2
pts/2
pts/2
pts/2
pts/2
pts/4

STAT
SN
SN
SN
SN
SN
SN
RN

START
10:20
10:36
10:37
10:37
10:38
10:41
10:54

TIME
0:00
0:00
0:00
0:00
0:04
0:00
0:00

COMMAND
-bash
-bash
gv MSS.ps.1
gs -sDEVICE=x11 -dNOPAUSE
ema s
/usr/X11R6/bin/xdvi.bin
ps uU pipo,rpaula

Figura 3.2: Exemplo de uso do ps


ja a[~% ps
PID TTY
1197 pts/67

TIME CMD
0:00 bash

Isto e, sem op o~es, s~ao mostrados apenas os pro essos no terminel do usuario, que s~ao do usuario. A
op a~o -a permite visualiza a~o de pro essos de outros usuarios:
ja a[~% ps -a
26773
2985 pts/3
28270 pts/70
26820 pts/0
26821 pts/0
26774 pts/10
26772 pts/10
28200 pts/70
1015 pts/60
29935 pts/41
4287 pts/1
812 pts/22
9084 pts/6
26833 pts/0
6282 pts/1
27171 pts/19
29096 pts/41
1524 pts/56
6280 pts/1

0:00
0:00
0:04
0:00
0:00
0:16
0:00
0:06
0:01
0:00
0:35
0:00
0:01
0:07
0:07
0:02
3:34
0:00
0:00

<defun t>
dev.moti
ema s-20
GoodStuf
GoodStuf
ema s-20
rsh
ema s-20
pine
sh
gs
pine
xterm
ema s-20
gs
pine
nets ape
nets ape
sh

Para uma sada mais ompleta, ontendo o usuario, pode-se utilizar a op a~o -f:
ja a[~% ps -f
UID PID PPID C
STIME TTY
pipo 1197 1191 0 11:02:02 pts/67

TIME CMD
0:00 -bash

A op a~o -A e -e s~ao id^enti as, e possibilitam a impress~ao de todos os pro essos. O omando tambem
permite listar pro essos asso iados a usuarios, grupos, ou a determinado de PID. Vejamos a op a~o -u, para
sele ionar usuarios:
ja a[~% ps -fu sidam, pq,pipo
UID PID PPID C
STIME TTY
sidam 27726 27723 0 O t 18 pts/13

TIME CMD
0:00 -bash

35

3.2. PROCESSOS

pq 20197 20176 0 O t 27 pts/16


pipo 1197 1191 0 11:02:02 pts/67
pq 20176 20174 0 O t 27 pts/16

0:00 pine
0:01 -bash
0:00 -bash

Como o Solaris tem a ara tersti a espe ial de pro essos leves (Light Weigth Pro ess ), que hamaremos
aqui de LWP, o omando ps tem uma op a~o para informa o~es sobre LWP dos pro essos. A op a~o -L mostra
informa o~es de quantos LWP o pro esso tem asso iado, e informa o~es sobre o LWP.

3.2.3 O omando top


O omando ps lista os pro essos em apenas um momento, omo ja dito anteriormente. Mas se se deseja
uma monitora a~o do pro essamento da maquina? O omando top no forne e uma listagem din^ami a dos
pro essos. Esse omando e mais um em que se en ontra diferen as, dependendo da plataforma.

O top no Linux
No Linux esse omando e bem versatil. Vejamos a sintaxe:
top [- [d delay [p pid [q [ [S [s [i [n iter [b

Como podemos ver, todas op o~es podem ome ar om - ou n~ao. Um exemplo da top pode ser visto na
gura 3.3.
9:20am up 1:41, 2 users, load average: 0.72, 0.72, 0.53
49 pro esses: 47 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 14.4% user, 2.1% system, 0.0% ni e, 83.3% idle
Mem: 63580K av, 61792K used, 1788K free, 23908K shrd, 2236K buff
Swap: 128516K av, 16384K used, 112132K free
23540K a hed
PID
343
224
821
367
347
1
2
3
4
5
87
153
157
166
172
177
185

USER
mar io
root
mar io
mar io
mar io
root
root
root
root
root
daemon
root
root
root
root
root
root

PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
13 0 2508 2072 1832 R
0 10.6 3.2 10:41 deskguide_ap
4 0 26004 15M 2796 S
0 3.4 25.0 6:22 XF86_Ma h64
5 0 1108 1108 692 R
0 1.3 1.7 0:00 top
1 0 13336 9536 3256 S
0 0.9 14.9 1:39 ommuni ator
0 0 1860 1540 1056 S
0 0.3 2.4 0:10 gnome-termin
0 0 108 64
48 S
0 0.0 0.1 0:02 init
0 0.0 0.0 0:01 kflushd
0 0
0
0
0 SW
0 0
0
0
0 SW
0 0.0 0.0 0:01 kupdate
0 0
0
0
0 SW
0 0.0 0.0 0:00 kpiod
0 0
0
0
0 SW
0 0.0 0.0 0:01 kswapd
0 0
80
0
0 SW
0 0.0 0.0 0:00 portmap
0 0 256 204 148 S
0 0.0 0.3 0:00 syslogd
0 0 404 164 136 S
0 0.0 0.2 0:00 klogd
0 0
76
0
0 SW
0 0.0 0.0 0:00 rp .statd
0 0
96 52
32 S
0 0.0 0.0 0:00 gpm
0 0
72
0
0 SW
0 0.0 0.0 0:00 inetd
0 0 172 108
96 S
0 0.0 0.1 0:00 lpd

Figura 3.3: O top em exe u a~o


A op a~o d determina o tempo de intervalo entre a atualiza a~o dos dados. Pode-se alterar esse valor
interagindo om o pro esso top, digitando s. A op a~o p determina os pro essos a serem monitorados. Devese determinar um pro esso por op a~o p, que pode ser repetida ate 20 vezes. A op a~o b gera uma sada

CAPITULO 3. ARQUIVOS E PROCESSOS

36

no onsole, para ser gravada em um arquivo ou para ser redire ionada a outro pro esso. Pode-se limitar o
numero de atualiza o~es por n, para que o pro esso termine por si so.
Algumas te las s~ao uteis para interagir om a exe u a~o do top. Digitanto h, uma tela de ajuda e mostrada,
listando outras te las de intera a~o. A te la A (Shift + a) ordena os pro essos por idade (o mesmo que ordem
de res ente de PID). Com N tem-se a ordem res ente de PID. E P volta para a ordena a~o por uso do
pro essador, que e o padr~ao ao se exe utar o top. Digitando u, pode-se es olher um usuario, listando ent~ao
somente os pro essos deste. Pode-se tambem matar um pro esso, om k e rede nir a prioridade (reni e ),
utilizando r.

3.3 Sinais no Unix


 omum, dado um onjunto de pro essos, a ne essidade desses pro essos se omuni arem, ou de alguma
E
forma, tro arem informa o~es ou mensagens. Esse fen^omeno o orre em todos os sistemas opera ionais modernos, e em todos, existe um ar abou o de metodos para fazer essa omuni a a~o. Os diversos metodos s~ao
omumente onhe idos omo Inter Pro ess Communi ation (IPC).
No Unix foram riadas diversos me anismos de IPC sendo alguns deles, sinais, tro a de mensagens,
ompartilhamento de memoria, e pipes. O me anismo mais simples entre todos esses, e muito util para
determinada apli a o~es s~ao os sinais. Um sinal nada mais e do que um numero (que na verdade tem uma
sem^anti a) que um pro esso envia para outro, atraves de uma hamado ao sistema (kernel).
Alguns dos sinais podem ser ignorados pelos pro essos se devidamente tratados, ja outros, n~ao e resultam
no termino do pro esso. Para saber mais sobre omo e o omportamento de ada tipo de sinal veja a pagina
manual do signal(7).
Para inserir um tratador de sinais no seu programa (signal handler), basta registrar a fun a~o desejada
om a hamado ao sistema signal, om o seguinte prototipo:
typedef void (*sighandler t)(int);
sighandler t signal(int signum, sighandler t a tion);

3.3.1 O omando kill


Uma das maiores utilidades do ps e poder des obrir o PID de um pro esso. Muitas vezes, um pro esso
pode ter um omportamento estranho, e n~ao responder mais ao mouse ou te lado. Nesse aso, podemos
\matar" o pro esso, enviando uma mensagem apropriada, hamada sinal para que o pro esso seja morto.
Na manipula a~o de pro essos, o PID e utilizado, por ser o identi ador uni o. Vejamos o omando kill, que
gera sinais no sistema:
kill -l [SINAL
kill [-s SINAL | -n SINAL | -SINAL [PID | JOB...

Vale resaltar aqui que des revemos o kill que e parte do bash, isto e, e um omando interno. Tambem
ha um /bin/kill que fun iona de maneira semalhante. No primeiro aso, o omando apenas lista todos
os sinais disponveis em uma tabela om a op a~o -l. Caso esta venha seguida de um numero (SINAL),
o omando imprime o nome o sinal asso iado ao numero, e aso venha um nome de sinal, onverte para
numero. Exemplo:
$ kill -l 9
KILL
$ kill -l TERM
15

37

3.3. SINAIS NO UNIX

Sinal

SIGHUP
SIGINT
SIGQUIT
SIGILL
SIGABRT
SIGFPE
SIGKILL
SIGSEGV
SIGPIPE
SIGALRM
SIGTERM
SIGUSR1
SIGUSR2
SIGCHLD
SIGCONT
SIGSTOP
SIGTSTP
SIGTTIN
SIGTTOU
SIGBUS
SIGPOLL
SIGPROF
SIGSYS
SIGTRAP
SIGURG
SIGVTALRM
SIGXCPU
SIGXFSZ
SIGIOT
SIGEMT
SIGSTKFLT
SIGIO
SIGCLD
SIGPWR
SIGINFO
SIGLOST
SIGWINCH
SIGUNUSED

Valor
1
2
3
4
6
8
9
11
13
14
15
30,10,16
31,12,17
20,17,18
19,18,25
17,19,23
18,20,24
21,21,26
22,22,27
10,7,10
27,27,19
12,-,12
5
16,23,21
26,26,28
24,24,30
25,25,31
6
7,-,7
-,16,23,29,22
-,-,18
29,30,19
29,-,-,-,28,28,20
-,31,-

A ~ao
A
A
C
C
C
C
AEF
C
A
A
A
A
A
B
DEF
D
D
D
C
A
A
C
C
B
A
C
C
C
C
A
A
A
A
A
B
A

Comentario
Terminal/pro esso om ontrole des one tado/morto
Interrup a~o do te lado
Quit do keyboard
Instru a~o Illegal
Sinal de aborto do abort(3)
Ex e a~o de ponto utuante
Sinal de morte/termino
Refer^en ia a memoria invalida
Pipe quebrado: es rita a pipe sem leitores
Sinal de alarme do alarm(2)
Sinal de termino
Sinal 1 de nido pelo usuario
Sinal 2 de nido pelo usuario
Filho morto ou parado
Continue, se parado
Para o pro esso
Pare digita a~o do tty
Entrada tty para pro esso de fundo (ba kground)
Sada tty para pro esso de fundo (ba kground)
Erro do BUS (a esso a memoria errado)
Evento \pollable " (sin^onimo de SIGIO)
\Pro lling " expirado
Argumento errado a rotina
Tra e/breakpoint trap
Condi a~o urgente em soquete
Alarme do relogio virtual
Limite de tempo de CPU ex edido
Limite de tamanho de arquivo ex edido
IOT trap. Sin^onimo para SIGABRT
Falha de pilha no opro essador
Entrada/Sada agora disponvel
Sin^onimo para SIGCHLD
Falha de for a
Sin^onimo para SIGPWR
Trava de arquivo perdido
Sinal de redimensionamento de janela
Sinal n~ao usado

Tabela 3.2: Sinais padr~oes usados em Unix (POSIX.1, SuSv2, et .)

CAPITULO 3. ARQUIVOS E PROCESSOS

38

No segundo aso, o omando envia um sinal para pro essos. Pode-se espe i ar o sinal om o numero ou
om o nome, utilizando -s, -n seguidos de SINAL ou -SINAL sem diferen a. O omando enviara o sinal para
a lista de pro essos dada. Caso n~ao seja espe i ado o sinal, kill enviara o sinal TERM (15).
Vejamos os sinais mais uteis para um usuario. O sinal KILL (9), termina a exe u a~o de um pro esso, sem
qualquer aviso ao pro esso. Nesse aso, pode-se perder os dados que o pro esso mantinha em memoria, e
nenhuma limpeza em dis o sera feita (por exemplo, quando matamos um pro esso do nets ape, o arquivo de
trava /.nets ape/lo k, que nada mais e que uma liga a~o, a em dis o, e o usuario tem que remov^e-lo). O
sinal TERM (15) apenas avisa o pro esso que ele deve terminar sua exe u a~o. Nesse aso, se o programa a eitar
o sinal, ele termina sua exe u a~o normalmente. Para parar a exe u a~o de um pro esso, mas n~ao a terminar,
pode-se enviar um sinal STOP (19). Ha tambem dois sinais reservados para o usuario, que s~ao, USR1 (10) e
USR2 (12). Esses sinais n~ao s~ao usados pelo sistema, e portanto podem ser utilizados para programa a~o de
pro essos que usam sinais para sin roniza a~o.

3.3.2 Prioridades { o omando ni e


Como os pro essos s~ao es alonados no sistema de a ordo om sua prioridade, o usuario pode na ria a~o
do pro esso espe i ar qual a prioridade desejada. Para isso, pode-se utilizar o omando ni e. Sua sintaxe e:
ni e [OPC~AO... [COMANDO [ARG...

Caso n~ao haja nenhuma op a~o dada nem o omando a ser exe utado, a prioridade padr~ao do sistema
e mostrada (normalmente 0). Sem op a~o alguma, o omando hamado tera prioridade ajustada para 10.
A op a~o pode ser -AJUSTE, ou -n AJUSTE, em que AJUSTE e um numero de -20 (prioridade mais alta) a
19 (prioridade mais baixa). Na maioria dos sistemas, a ria a~o de pro essos om prioridade menor que 0 e
restrita ao usuario root. Exemplos:
$ ni e gv
$ ni e -n20 gimp
$ ni e -n -10 gimp
ni e: n~ao onsigo alterar prioridade: Permiss~ao negada

O primeiro ini ia o programa gv om ni e 10 (prioridade menor que o padr~ao), e o segundo ini ia o gimp
om prioridade 20. No ter eiro exemplo o uso de prioridade negativa e negado a um usuario omum.

3.3.3 Alterando prioridade de pro esso { o omando reni e


Eventualmente podemos querer alterar a prioridade de um pro esso que ja esteja exe utando no sistema.
Para isso temos o omando reni e, om a seguinte sintaxe:
reni e priority [[-p pid ... [[-g grupo ... [[-u usuario ...

A sistema de prioridades e o mesmo que o do omando ni e. Para espe i ar qual omando tera a
prioridade mudada, existem tr^es maneiras que podem ser misturadas a vontade:

pid Com a op a~o -p e possvel espe i ar o pro esso pelo pid, assim, apenas alterando a prioridade daquele
pro esso.

grupo Com a op a~o -g e possvel espe i ar o onjunto de pro essos que est~ao sendo rodados por usuarios
de um determinado grupo. Todos os pro essos que estiver rodando om a mesma identi a a~o que o
grupo espe i ado tera a prioridade alterada.

usuario Com a op a~o -u e possvel espe i ar o onjunto de pro essos que est~ao sendo rodados por um
determinado usuario.

3.4. TRABALHOS ( JOBS) DO

BASH

39

Portanto, alguns exemplos de uso do reni e, podem ser:


$ reni e +10 987

Colo a 10 no valor do ni e do pro esso om pid 987.


$ reni e -20 987 -u root hefe

Altera para -20 o ni e do pro esso 987 e todos os pro essos do usuario root e do usuario hefe.

3.4 Trabalhos (jobs ) do bash


Pro essos no sistema podem ser riados de varias maneiras. Quando riamos um pro esso utilizando o
bash, isto e, exe utamos um omando, o bash armazena informa a~o de que aquele pro esso e um trabalho seu,
hamado de job. Os trabalhos podem ser exe utados em primeiro plano (foreground ), ou em segundo plano
(ba kground ). No primeiro aso, ao exe utarmos um omando, o bash espera ate o pro esso riado terminar,
para ent~ao voltar ao modo de espera, para que o usuario possa digitar outro omando. Normalmente,
omandos rapidos e que utilizam o terminal para sada de dados s~ao exe utados dessa maneira, omo ls, p,
et . Entretanto, podemos pre isar exe utar um pro esso sem interagir om o mesmo, e esse e o segundo
aso, dos trabalhos em segundo plano. No bash, a linha de omando seguida do ara tere & sera exe utada
em ba kground. Claramente, um trabalho em segundo plano n~ao pode interagir om o usuario pelo terminal,
apenas por intermedio da interfa e gra a.
Os trabalhos tambem assumem dois estados: exe u ~ao e parado. Podemos parar um pro esso enviando
o sinal STOP, omo expli ado na se a~o 3.3.1, ou digitando Ctrl-Z, aso o programa esteja em primeiro plano
em uma sess~ao de algum bash. Nesse aso, o bash volta a esperar um omando do usuario.

3.4.1 Como obter informa ~oes sobre trabalhos? | O omando jobs


O omando jobs do bash permite a visualiza a~o de quais pro essos est~ao rela ionados om a sess~ao e omo
est~ao nomeados ( omo trabalhos) para o bash. Sintaxe:
jobs [-lnprs [ESPEC TRABALHO...

Utilizando-se o omando sem argumento algum, obtem-se uma listagem de todos trabalhos asso iados a
sess~ao. Com a op a~o -l o PID dos pro essos asso iados aos trabalhos e impresso. A op a~o -r restringe a
sada aos pro essos em exe u a~o, e a op a~o -s os pro essos parados. O argumento ESPEC TRABALHO pode
ser o numero do trabalho ou um pre xo do nome do omando exe utado. Ao se espe i ar uma lista de
espe i a o~es, ser~ao listados apenas esses trabalhos. Se o pre xo do nome apare er em mais de um trabalho,
o omando devolve uma mensagem de erro. Vejamos exemplos:
[~/ ursos/linux # jobs -l
[1
375 Running
nets ape & (wd: ~)
[2
447 Running
ema s -geometry 100x45 -bg bla k -fg white &
[3+ 469 Stopped
gv urso.ps &
[4- 1012 Running
gimp &
[5+ 1317 Running
a roread urso.pdf &
[~/ ursos/linux # jobs g
bash: jobs: ambigious job spe : g
[~/ ursos/linux # jobs gi a
[4- Running
gimp &
[5+ Running
a roread urso.pdf &

40

CAPITULO 3. ARQUIVOS E PROCESSOS

3.4.2 Primeiro e segundo planos | Os omandos bg e fg


O bash disponibiliza tambem dois omandos para olo ar trabalhos em primeiro ou segundo plano. Vejamos a sintaxe:
fg [ESPEC TRABALHO
bg [ESPEC TRABALHO

Em ambos omandos, o uni o argumento e uma des ri a~o do trabalho, que pode ser um numero ou um
pre xo do nome do trabalho. Caso n~ao seja dado algum trabalho omo argumento, o trabalho orrente e
assumido omo padr~ao ( aso exista).
Ent~ao, quando se deseja olo ar um trabalho parado (stopped ) em exe u a~o, basta utilizar algum desses
omandos. Se desejamos que o trabalho volte para primeiro plano, utilizamos fg, aso ontrario, utilizamos
bg. O omando fg tambem pode olo ar em primeiro plano um trabalho que esteja exe utando em segundo
plano.

3.5. EXERCICIOS

3.5 Exer  ios

41

42

CAPITULO 3. ARQUIVOS E PROCESSOS

Cap
tulo 4

Redire ionamento e bus a de padr~oes


Uma das ara tersti as dos sistemas UNIX e a versatilidade da shell e dos omandos que formam o
onjunto de utilitarios, prin ipalmente por ter sido um sistema riado ha tempos, quando nem se pensava
em utilizar ambientes gra os. Vamos explorar nesse aptulo o on eito de redire ionamento, que e a
possibilidade de riar um uxo de dados entre os pro essos, e em uma segunda parte as express~oes regulares,
que e uma ferramenta muito poderosa e que varios omandos do UNIX a eitam.

4.1 Arquivos padr~oes


Em ondi o~es normais, todo pro esso Unix tem tr^es arquivos abertos automati amente quando o pro esso
e ini iado. Um para entrada, um para sada, e um para impress~ao de diagnosti os e mensagens de erros.
Esse arquivos s~ao geralmente ligados ao terminal do usuario, mas podem estar ligados a arquivos ou outros
dispositivos, dependendo da on gura a~o que o pro esso pai ajustou.
O arquivo de entrada e onhe ida omo entrada padr~ao; o arquivo de sada omo sada padr~ao; e o
arquivo de mensagens de erros e onhe ida omo erro padr~ao. Os nomes, em ingl^es s~ao abreviados para
formar os smbolos utilizados para referen iar esses arquivos stdin, stdout e stderr.
Alem do mais ada um desses arquivos padr~oes t^em um numero de manipulador de arquivo (\ le handler "), geralmente xo, sendo o 0 para o stdin, 1 para o stdout, e o 2 para o stderr.
Podemos ver o seguinte exemplo. Ao logar no onsole virtual numero 2 do sistema (tty2 ), podemos
veri ar o seguinte enario:
$ ps ux
livio

423 0.0 1.3 2752 1732 tty2

21:40

0:00 -bash

Agora vamos analisar o onteudo dos manipuladores de arquivos do pro esso 423 no /pro (veja mais
sobre o /pro na se a~o 3.2.1).
$ d /pro /423/fd
$ ls -Fal
dr-x-----2 livio
dr-xr-xr-x
3 livio
lrwx-----1 livio
lrwx-----1 livio
lrwx-----1 livio

livio
livio
livio
livio
livio

0
0
64
64
64

Jan
Jan
Jan
Jan
Jan

23
23
23
23
23

23:53
23:53
23:53
23:53
23:53

./
../
0 -> /dev/tty2
1 -> /dev/tty2
2 -> /dev/tty2

Portanto vemos que os tr^es arquivos padr~oes est~ao abertos e todos apontando para o dispositivo /dev/tty2
que e o dispositivo que representa o segundo terminal virtual, omo esperado.
43

~
CAPITULO 4. REDIRECIONAMENTO E BUSCA DE PADROES

44

4.2 Redire ionamento para arquivos


Ate agora, quando exempli amos os omandos do UNIX, interagimos om o bash, sempre digitando os
dados ne essarios pelo te lado, e re ebendo as informa o~es no terminal. Normalmente, os pro essos t^em o
te lado omo dispositivo de entrada padr~ao, e o terminal omo dispositivo de sada padr~ao. De fato, esses
programas se referen iam ao dispositivo padr~ao por uma variavel (stdin e stdout ). Quando o bash exe uta
um omando, ele de ne os dispositivos que est~ao asso iados a essa entrada e sada padr~ao (que por padr~ao e
o te lado e o terminal). Entretanto, podemos rede nir esses dispositivos, para que possamos, por exemplo,
gravar a sada de um omando em um arquivo omum. Lembramos aqui que os dispositivos do sistema s~ao
arquivos espe iais, mas fun ionam basi amente omo arquivos, prin ipalmente em rela a~o ao dire ionamento
de dados. Os tipo de redire ionamento s~ao:

>: redire iona a sada padr~ao de um omando para um outro arquivo em dis o. Se o arquivo existir,





>>: redire iona a sada padr~ao, mas a res entando os dados ao nal do arquivo;

sera sobres rito;

<: redire iona a entrada padr~ao, pegando os dados de um arquivo em dis o;


2>: redire iona a sada de erro de um omando para um arquivo em dis o. Analogamente ao redire ionamento >, se o arquivo existir, sera sobres rito.

Se o arquivo e um dispositivo, laramente o arquivo n~ao sera sobres rito. Veremos alguns exemplos nos
omandos expli ados a seguir.

4.2.1 Con atena ~ao de arquivos | O omando at


O omando at e perfeito para exempli armos o redire ionamento. Sintaxe:
at [OPC~AO [ARQUIVO...

Como padr~ao, sem argumento algum, o omando simplesmente opia a entrada padr~ao para a sada
padr~ao. Se utilizamos os redire ionadores, apenas estamos alterando os arquivos que s~ao onsiderados
padr~ao. Deixemos o exemplo de exe utar o at sem argumentos para o leitor. Para terminar a exe u a~o,
use Ctrl-C ou Ctrl-D (esse ultimo imprime um ara tere EOF, que signi a End Of File ). Exemplos de
redire ionamento:
$ ll
total 1
-rw-r--r-$ at <texto
$ ll
total 2
-rw-r--r--rw-r--r--

1 pipo
>saida

28 nov 8 17:08 texto

1 pipo
1 pipo

b
b

28 nov 8 17:09 saida


28 nov 8 17:08 texto

Nesse exemplo, apenas redire ionamos um arquivo para a entrada e outro para a sada. Assim, obtivemos
o arquivo saida que e o mesmo que o original. Podemos adi ionar algumas linhas ao arquivo saida:
$ at saida
Apenas texto.
--- --- ---$ at >>saida

4.3. REDIRECIONAMENTO PARA PROCESSOS ( PIPES)

45

Mais uma linha.


$ at saida
Apenas texto.
--- --- ---Mais uma linha.

Alem disso, o omando pode juntar varios arquivos ( on atenar) e imprimir na sada padr~ao, ou para
um arquivo se redire ionarmos. Exemplo:
$ at texto
Apenas texto.
$ at texto2
Mais texto.
$ at texto texto2 > on atena ao
$ at on atena ao
Apenas texto.
Mais texto.

4.3 Redire ionamento para pro essos (pipes )


Nos ja vimos na se a~o 3.3 algumas ideias ini iais sobre Inter Pro ess Communi ation (IPC), espe i amente sobre sinais. Agora veremos outro me anismo de IPC muito utilizado para tro ar grandes quantidades
de informa o~es entre dois pro essos.
Podemos tambem redire ionar a sada de um omando para outro omando, para um pro essamento
previo antes de visualizarmos, ou para a bus a de uma palavra. Os sistemas UNIX disponibilizam esse
re urso. Normalmente o hamamos de pipe. O ara tere utilizado para isso e o \|". Exemplos:
$ at palavras | sort | tee ordem
hipo rita
pinguim
pn
santista

Nesse exemplo, redire ionamos a sada do at para o sort, que redire ionou as linhas ordenadas para o
omando tee, que as gravou em ordem e tambem na sada padr~ao.

4.3.1 Filtro de ordena ~ao | O omando sort


O omando sort pode ordenar, mes lar, veri ar se um arquivo esta ordenado. Vejamos a sintaxe do
omando:
sort [OPTION... [FILE...

Como padr~ao, o omando tenta ordenar a entrada. A op a~o - faz om que o programa veri que se a
entrada esta ordenada, imprimindo a primeira palavra fora de ordem. A op a~o -m faz om que o omando
mes le os arquivos dados, entretanto, supondo que os arquivos ja estejam ordenados.
A op a~o -d faz uma ompara a~o apenas entre ara teres alfanumeri os. Para ignorar diferen as entre
maius ulas ou minus ulas, utiliza-se a op a~o -f. Tambem pode-se ordenar numeri amente, om a op a~o -n.
Pode-se de nir o in io e m do fator da palavra para ompara a~o, om a op a~o -k POS1[,POS2.
Como podemos per eber, o omando n~ao pre isa ne essariamente ser utilizado om pipes. Entretanto,
por ser um ltro, muitas vezes e utilizado om outros omandos, tro ando dados atraves de pipes.

~
CAPITULO 4. REDIRECIONAMENTO E BUSCA DE PADROES

46

4.3.2 Filtro de sele ~ao | O omando ut


O omando ut imprime partes sele ionadas das linhas de um arquivo de entrada ou da entrada padr~ao.
Vejamos a sintaxe:
ut [OPCA~O... [ARQUIVO...

Para ada linha da entrada, sera sele ionado ara teres ou palavras, de a ordo om as op o~es. A op a~o

-b LISTA de ne que devera ser impressa uma lista de bytes de ada linha. Essa lista pode assumir a forma
-M, N-, N-M ou N, em que N e M s~ao numeros inteiros. O forma -M e o mesmo que 1-M, e N- e a sele a~o do
n-esimo byte ate o ultimi. A forma N-M de ne o primeiro e ultimo byte da sele a~o e n de ne apenas um byte

para ser impresso.


Utilizando a op a~o -f imprime ampos sele ionados atraves de um delimitador. Como padr~ao, esse
demilitador e um TAB, mas pode ser de nido pela op a~o -d. Exemplos:
$ ll | ut -b -10
total 3
-rw-r--r--rw-r--r--rw-r--r-$ at ampos
a:b: :d:e:f:g:h:i:j:k:l:m:n:o:p:q
$ at ampos | ut -f 2-8 -d :
b: :d:e:f:g:h
$ at ampos | ut -f 2-8 -d : | ut -f 2 -d e
:f:g:h

4.3.3 Dupli ando a entrada | O omando tee


e:

O omando tee l^e seus dados da entrada padr~ao e a es reve para a sada padr~ao e arquivos. Sua sintaxe
tee [OPC~AO... [ARQUIVO...

Esse omando e bastante util para repli a a~o da entrada padr~ao para tanto ontinuar em omando,
quanto guardar a entrada em algum arquivo. Com a op a~o -a esse omando permite a on atena a~o a
entrada nos arquivos espe i ados ao inves de simplesmente sobrepor os arquivos.

4.4 Bus a de padr~oes


Comandos que trabalham om bus a de padr~oes s~ao bastante uteis. Assim, pode-se de nir um onjunto
arquivos a ser listado, ou um onjunto de palavras para serem ltradas em um arquivo. Um tipo de express~ao,
hamado express~ao regular, e utilizado normalmente para isso. Uma express~ao regular e um padr~ao (um
onjunto de ara teres) que de ne um onjunto de palavras. Para de nir esse padr~ao, e ne essario a de ni a~o
de alguns ara teres omo espe iais. Express~oes regulares est~ao rela ionadas om a teoria de aut^omatos, e
apesar de serem bastante avan adas e uteis, os programas que implementam esse tipo de ferramenta podem
ar mais lentos. Portanto, o bash de ne um tipo de padr~ao mais simples, que varios omandos a eitam, e
que e su iente para algumas apli a o~es. Veremos primeiramente esse tipo de padr~ao.

4.4.1 Padr~oes do bash


As palavras utilizadas na linha de omando do bash s~ao padr~oes. Cada ara tere que n~ao seja um dos
espe iais e onsiderado na bus a o proprio ara tere. Os ara teres que s~ao espe iais devem ser utilizados
entre aspas (simples ou duplas) para serem representados literalmente. Os ara teres espe iais s~ao:

~
4.4. BUSCA DE PADROES





47

O ara tere * representa qualquer palavra, in lusive a palavra nula.


O ara tere ? representa um ara tere qualquer.
A express~ao [... representa qualquer ara tere que estiver entre os ol hetes:

{ Qualquer express~ao do tipo a-z, isto e, ara teres separados por um - e onsiderada uma faixa de

ara teres. Para in luir o proprio - deve-se olo a-lo no ome o ou ao nal da adeia de ara teres
entre ol hetes.
{ Se a express~ao ome ar om o ara tere ! ou ^, a express~ao [... estara representando a nega a~o
do onjunto, portanto ser~ao bus ados os ara teres que n~ao est~ao entre os ol hetes.
{ Para se bus ar o ara tere olo ando-o em primeiro no onjunto entre ol hetes.
{ A express~ao [:CLASSE: (entre ol hetes) representa lasses de ara teres de nidas no padr~ao
POSIX.2, que podem ser: alnum, alpha, as ii, blank, ntrl, digit, graph, lower, print,
pun t, spa e, upper, xdigit.
Vejamos alguns exemplos:
$ ls -Fal aula?.pdf
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
$ ls -Fal aula?.pdf
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
$ ls -d .*
./ ../ .hiden
$ ls -Fal numero.[[:digit:
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
-rw-r--r-1 pipo
b
0 nov 9
$ ls [!a*
numero.1 numero.2 numero.3 numero.a numero.b

10:18 aula1.pdf
10:18 aula2.pdf
10:18 aula3.pdf
10:18 aula1.pdf
10:18 aula2.pdf
10:18 aula3.pdf

10:19 numero.1
10:19 numero.2
10:19 numero.3

Podemos per eber que esses padr~oes apenas espe i am um ara tere, ex eto o padr~ao *, que espe i a
qualquer palavra. Ha a possibilidade de se espe i ar padr~oes mais omplexos, aso a op a~o extglob esteja
ligada na sess~ao do bash. Para veri ar o estado dessa variavel, utilize o omando shopt extglob. Caso
ela esteja desligada (o ), pode-se alterar seu valor pelo omando shopt -s extglob. Nesse aso, temos as
op o~es de padr~oes:
 ?(LISTA) bus a nenhuma ou uma (0 ou 1) o orr^en ia dos padr~oes de LISTA.






*(LISTA) bus a 0 ou mais o orr^en ias dos padr~oes em LISTA.


+(LISTA) bus a 1 ou mais o orr^en ias dos padr~oes em LISTA.
(LISTA) bus a exatamente um dos padr~oes em LISTA.
!(LISTA) bus a qualquer padr~ao, ex eto os que est~ao em LISTA.

Aqui, LISTA signi a uma lista de padr~oes separados por |. Essa fun ionalidade ja e pare ida om as
express~oes regulares, que veremos a seguir. Alguns exemplos:
[ja uzzi:~/teste$ shopt -s extglob ; shopt extglob
extglob
on
[ja uzzi:~/teste$ ls !(aula1.pdf|numero.1)
aula2.pdf aula3.pdf numero.2 numero.3 numero.a numero.b

~
CAPITULO 4. REDIRECIONAMENTO E BUSCA DE PADROES

48

4.4.2 Express~oes regulares


Como ja expli ado, uma express~ao regular e um onjunto de ara teres que de ne um padr~ao, representando um onjunto de palavras. Normalmente se de ne primeiramente o alfabeto ( onjunto de ara teres) a
que se refere; as express~oes regulares podem ser de nidas om esses ara teres e os ara teres espe iais para
a fun ionalidade dos padr~oes. No nosso aso, as express~oes regulares do UNIX utilizam o alfabeto de nido
omo padr~ao do sistema (normalmente uma tabela ASCII, odi ada de a ordo om a lngua sele ionada).
Os ara teres espe iais s~ao um sub onjunto do alfabeto.
Qualquer ara tere que n~ao seja espe ial representa a bus a por ele mesmo. O ara tere . representa
qualquer ara ter diferente de espa o. Classes de ara teres podem ser de nidas da mesma maneira que os
padr~oes do bash, utilizando-se [..., om os ara teres entre os ol hetes, em que ^ no ome o signi a
nega a~o, e [:CLASSE: e uma lasse de ara teres. Alem disso, o ara tere ^ representa a palavra vazia e o
ara tere $ representa m ou ome o de linha. Alguns ara teres fun ionam para repeti a~o:

O ara tere ? apos um item ( ara tere, lasse, ou express~ao entre par^enteses), representa 0 ou 1
o orr^en ia.







o ara tere * apos um item representa 0 ou mais o orr^en ias.


o ara tere + apos um item representa 1 ou mais o orr^en ias.
a express~ao {n} apos um item representa exatamente n o orr^en ias.
a express~ao {n,} apos um item representa pelo menos n o orr^en ias.
a express~ao {n,m} apos um item representa de n a m o orr^en ias.

Os par^enteses ( ara teres ( e )) fun ionam omo em express~oes aritmeti as, para agrupamento. Alem
disso, qualquer express~ao entre par^enteses que for en ontrada, sera armazenada. Pode-se obt^e-la, atraves da
refer^en ia \N, em que N e o N-esimo grupo entre par^enteses. Pode-se on atenar as express~oes regulares, e
tambem junta-las om o operador |. Duas express~oes unidas por | signi a a bus a de uma ou outra.
Para se referen iar os ara teres espe iais literalmente, basta utilizar o ara tere pre edido de \. Portanto,
\?, \+, \*, \(, \), \{ e \}, representam literalmente os ara teres ?, +, *, (, ), { e }. Exemplos de express~oes
regulares:





A express~ao regular literal representa a palavra literal;


 o onjunto da palavra vazia,
A express~ao regular (fim)* representa 0 ou mais repeti o~es de fim. E
mais as palavras fim, fimfim, et .
A express~ao $From:.*(users-b ).* representa qualquer palavra que ome e om From: e ontenha
users-b .

As express~oes regulares s~ao muito uteis para omandos que fun ionam omo ltros, ou para ferramentas
que trabalham om textos. A linguagem de programa a~o perl e um bom exemplo, pois e essen ialmente
baseada em express~oes regulares. Veremos o omando grep que pode trabalhar om esse on eito.

4.4.3 O omando grep


O omando grep faz bus a de padr~oes em textos, devolvendo as linhas da entrada que ontem o padr~ao.
Vejamos a sintaxe:
grep [OPC~AO... PADR~AO [ARQUIVO...
~
grep [OPCAO... [-e PADR~AO | -f ARQUIVO [ARQUIVO...

~
4.4. BUSCA DE PADROES

49

O grep a eita dos tipos de express~oes regular. No tipo basi o, que e o tipo padr~ao, os meta ara teres
( ara teres espe iais), ?, +, {, |, ( e ) s~ao onsiderados ara teres omuns, e para se referen iar aos ara teres
espe iais, omo de nimos a ima, deve-se utilizar a barra invertida (\) antes do ara tere. No tipo extendido,
que se de ne utilizando a op a~o -E ou utilizando diretamento o omando egrep, as express~oes regulares s~ao
entendidas omo de nimos anteriormente. Vamos sempre utilizar as express~oes extendidas nesse texto.
Pode-se de nir as express~oes em um arquivo, uma por linha, ao se utilizar a op a~o -f. Ou ent~ao, om a
op a~o -e, a express~ao regular e o proprio par^ametro (essa op a~o e util quando o padr~ao se ini ia por -). Como
o bash interpreta alguns ara teres diferentemente (( e ) por exemplo), por vezes e ne essaria a utiliza a~o
de aspas para se es rever o padr~ao de bus a. A op a~o -F e mais radi al: ada express~ao, que deve estar
separada por \n e onsiderada literalmente (a bus a sera feita por uma adeia de ara teres determinada).
Para ada linha impressa (em que existe um padr~ao) o nome do arquivo que ontem a linha e impresso.
Essa ara tersti a, alem de ser padr~ao, esta asso iada a op a~o -H. Pode-se desativar essa op a~o, isto e, n~ao
imprimir o nome do arquivo, om a op a~o -h.
O omportamento do grep para diretorios, pode ser de nido pela op a~o --dire tiories=AC~AO ou -d
AC~
AO. AC~
AO pode ser read (e o padr~ao) que simplesmente onsidera o diretorio omo um arquivo omum.
Tambem pode ser skip, para n~ao exe utar nenhuma opera a~o om o diretorio, e n~ao imprimir qualquer
mensagem. Ou ent~ao, equivalentemente a op a~o do grep, -r ou --re ursive, pode ser re urse, o que fara
o programa veri ar todos os arquivos e diretorios re ursivamente.
A op a~o -v ou --invert-mat h sele iona as linhas que n~ao ontem os padr~oes bus ados. A op a~o -
ou -- ount faz om que sejam apenas impressos os numeros de linhas om padr~oes en ontrados em ada
arquivo (ou o numero de linhas que n~ao ontem o padr~ao, quando usado om a op a~o -v). Para se imprimir
os numeros das linhas, utiliza-se a op a~o -n ou --line-number. Exemplos do uso do grep podem ser vistos
na gura 4.1
$ grep -d skip -E '[0-9{3}\.[0-9{3}\.[0-9{3}\.[0-9{1,3}' \
> /et /network/*
/et /network/interfa es:
address 192.168.240.44
/et /network/interfa es:
netmask 255.255.255.0
/et /network/interfa es:
network 192.168.240.0
/et /network/interfa es:
broad ast 192.168.240.255
/et /network/interfa es:
gateway 192.168.240.1
$ grep - vE '\$.*' from # numero de linhas sem vari
aveis
48
$ grep - E '\$.*' from # numero de linhas om vari
aveis
40
$ w from # numero total de linhas
88
243
1787 from

Figura 4.1: Utiliza a~o do grep

50

4.5 Exer  ios

~
CAPITULO 4. REDIRECIONAMENTO E BUSCA DE PADROES

Cap
tulo 5

Ambiente gra o no Linux


O sistema gra o utilizado na maioria dos sistemas UNIX hama-se X Window System. Diferentemente de
outros sistemas opera ionais, o ambiente gra o X Window apenas prove os me anismos para a visualiza a~o
gra a dos programas e omuni a a~o om o te lado e mouse, mas n~ao ofere e a propria interfa e gra a, que
a por onta de programas hamados geren iadores de janelas. Nesse aptulo, veremos alguns detalhes
do X Window e alguns geren iadores de janelas.

5.1 O X

Window

Em muitas distribui o~es hoje em dia o sistema gra o e automati amente a ionado quando o usuario
a essa o sistema pelo terminal disponvel. O programa que exe uta a tela de a esso gra o tradi ionalmente
hama-se xdm, mas om a ria a~o de diversas variedades de geren iadores temos outros omo o kdm ou gdm.
Ao ini iar o servidor gra o, algum geren iador de janelas e ini iado, e possivelmente algum programa que
disponibilize um shell.
Algumas ara tersti as do proprio X s~ao interessante para o usuario. Para a maioria dos programas que
podem ser exe utados no ambiente gra o, algumas op o~es s~ao padr~oes, e em geral s~ao implementadas om
a mesma interfa e. Veremos algumas dessas op o~es e programas rela ionados.

5.1.1 O sistema de ini iliza ~ao do X


Quando o X Window n~ao esta ja disponvel por algum terminal, ent~ao e ne essario ini ializar o X Window
via um omando. O omando mais apropriado para isso e o startx (geralmente lo alizado em /usr/bin/X11/startx).
O startx na verdade e um s ript que pro ura on gura o~es do sistema e pessoais para a ini ializa a~o do
X Window. Os arquivos que o startx usa para fazer a ini ializa a~o, tradi ionalmente s~ao:

$HOME/.xinitr

$HOME/.xserverr

/usr/X11R6/lib/X11/xinit/xinitr

/usr/X11R6/lib/X11/xinit/xserverr

Depois de pegar os arquivos da ini ializa a~o, o startx hama o xinit om as op o~es adequadas. O
/usr/bin/X11/xinit e quem realmente exe uta o programa para ini ializar o X Window.
51


CAPITULO 5. AMBIENTE GRAFICO
NO LINUX

52

5.1.2 Abrindo outro X


Para abrir outro X Window no mesmo sistema, deve-se usar o xinit, om par^ametros espe iais:
$ xinit -- :2

Pronto, o novo se a~o do X Window deve abrir. Para a essa-la, vo ^e deve apertar Ctrl-Alt-Fx, om x
sendo um maior do que o antigo maior terminal (gra o ou texto).

5.1.3

Display e o omando xhost

Como o X Window e um sistema desenvolvido para a rede, os servidores gra os de maquinas diferentes
podem se omuni ar. A op a~o -display permite a espe i a a~o do servidor a ser utilizado, que pode ate
estar em outra maquina. O argumento deve ter o seguinte formato: host:numeroX.numeroTela. Portanto,
espe i a-se a maquina, o numero do X (pode-se exe utar mais de um servidor na mesma maquina), e o
numero da tela. Em geral, o numero do servidor X ini ia-se por 0.
Normalmente, quando um usuario utiliza o servidor gra o em uma maquina e tenta utilizar esse servidor
de outra maquina, as variaveis ne essaria para permiss~ao desse uso ja est~ao on guradas (utilizando-se, por
exemplo, o programa ssh). Entretanto, se se deseja utilizar o servidor gra o de outro usuario, este deve
permitir tal opera a~o, atraves do omando xhost. A sintaxe do omando e simples:
xhost [[+-NOME...

O argumento NOME deve ser uma maquina na rede ou um usuario. Sem se utilizar os smbolos + ou - o
omando assume que deve adi ionar o nome na lista de permiss~ao. Para se retirar, deve-se obrigatoriamente
utilizar o smbolo -.

5.1.4 Tamanho e posi ~ao


Ao ini iar um programa no X pode-se espe i ar o tamanho da janela desse programa, e a posi a~o
ini ial na tela. A op a~o a ser utilizada deve ser -geometry LARGURAxALTURA[+-X[+-Y. Os argumentos
s~ao de nidos omo:
LARGURA Largura da janela (tamanho horizontal), que deve ser espe i ada em pixel ou em numero de

ara teres, dependendo da apli a a~o.

ALTURA Altura da janela (tamanho verti al), que deve ser espe i ada em pixel ou em numero de ara teres,

dependendo da apli a a~o.

X Dist^an ia entre a borda esquerda da apli a a~o e a borda esquerda da tela, se pre edido de +. Se pre edido
de - e a dist^an ia entre a borda direita da apli a a~o e a borda direita da janela. Em ambos asos o
valor de X pode ser negativo, deixando a apli a a~o om um peda o fora da tela. Valor em pixel.
Y Dist^an ia entre a borda superior da apli a a~o e a borda superior da tela, se pre edido de +. Se pre edido
de - e a dist^an ia entre a borda inferior da apli a a~o e a borda inferior da janela. Em ambos asos o
valor de Y pode ser negativo, deixando a apli a a~o om um peda o fora da tela. Valor em pixel.

5.1.5 Cores e o omando showrgb


As ores no sistema X Window s~ao espe i adas pelo sistema RGB (Red Green Blue ). No arquivo
/usr/lib/X11/rgb.txt varias ores ja est~ao de nidas, om um nome asso iado. Os nomes de ores no X s~ao
adeias de ara teres, e e feita diferen ia a~o entre maius ulas e minus ulas.
As op o~es relativas a ores geralmente apare em omo -fg para a or do texto (foreground ), e -bg
para or do fundo (ba kground ). Entretanto, ada apli a a~o pode disponibilizar mais op o~es para detalhes

5.2. GERENCIADORES DE JANELAS

53

proprios. A de ni a~o de or deve ser feita pelo nome da or, ou ent~ao por uma adeia de ara teres da forma
rgb:R/G/B, em que R, G e B s~ao valores em hexade imal de ada omponente da or, vermelho, verde e azul,
respe tivamente.
Para se obter os nomes de ores disponveis no servidor, pode-se tambem utilizar o omando showrgb,
sem argumentos.

5.1.6 Fontes e o omando xlsfonts


As fontes disponveis no ambiente gra o est~ao armazenadas em arquivos espe  os, separadas por
diretorios para ada famlia de fontes. Para fa ilitar o uso dessas, s~ao de nidos apelidos para ada fonte.
Esses nomes podem ser visualizados pelo omando xlsfonts.

5.2 Geren iadores de janelas


Como expli ado anteriormente, o X Window apenas forne e os servi os gra os, sem se preo upar om a
interfa e gra a para o usuarios e o desenho das janelas e bot~oes. Para isso, existem os programas hamados
geren iadores de janelas (window manager ). Os geren iadores surgiram no ambiente UNIX, om o intuito
prin ipal de organizar o desenho das janelas, e ofere er alguma ferramente de atalhos, omo barras de menu
ontendo  ones asso iados aos programas. Alem disso, alguns geren iadores ja ofere em um programa de
on gura a~o, para altera a~o das ores, do fundo da tela, et .
Vamos ver alguns geren iadores de janelas, que s~ao omuns no mundo UNIX e est~ao disponibilizados nas
redes.

5.2.1 O geren iador Fvwm


Esse geren iador e bastante antigo e tem uma interfa e simples. O omando asso iado a esse programa
e o fvwm. Alem de forne er o sistema de janelas, o Fvwm ofere e um programa hamado GoodStu , que ria
uma barra de  ones em que podem ser asso iados programas.
O arquivo de on gura a~o do Fvwm e o arquivo $HOME/.fvwmr . Infelizmente, esse geren iador de
janela n~ao apresenta nenhum programa gra o de on gura a~o.

5.2.2 O geren iador AfterStep


O geren iador AfterStep e herdeiro da interfa e NextStep, riada para um linha de omputadores riada
pelo famoso Steve Jobs. Tambem ofere e um sistema de  ones, que podem in lusive fun ionar omo pastas
ontendo outros  ones. O geren iador ontem varios programas auxiliares, omo o as lo k.
A on gura a~o do AfterStep deve ser feita no diretorio $HOME/GNUstep/Library/AfterStep/. Tambem n~ao ha programas gra os para a on gura a~o desse geren iador. Entretanto, o programa ofere e
re ursos avan ados. Pode-se de nir varias janelas de trabalho (e o programa pager permite uma visualiza a~o
miniaturizada das janelas), e diferentes fundos para ada janela ou grupo de janelas. O omando asso iado
ao geren iador e afterstep.

5.2.3 O geren iador Window Maker


Outro geren iador om uma interfa e derivada do NeXT. As multiplas janelas do Window Maker podem
ser riadas, mas n~ao s~ao ompatveis om o pager. O proprio geren iador ofere e apenas um  one que indi a
a janela em uso.
Uma das vantagens desse geren iador e a fa ilidade na on gura a~o. Para tro a de temas, ria a~o de
 ones ou novas janelas de trabalho, basta utilizar os menus disponibilizados pelo mouse. Tambem ha dois
programas, WPrefs e wmaker onf, que auxiliam na on gura a~o do sistema, sem a ne essidade de edi a~o de
arquivos textos.

54


CAPITULO 5. AMBIENTE GRAFICO
NO LINUX

Esse geren iador tambem apresenta diversos programas para exe u a~o omo  ones, que informam a
hagada de mensagens, a hora, e outras informa o~es do sistema. Os arquivos de on gura a~o do Window
Maker se en ontram no diretorio $HOME/GNUstep/Defaults/ e arquivos de imagens e sons se en ontram
em $HOME/GNUstep/Library/WindowMaker/. O omando do geren iador e wmaker.

5.2.4 O geren iador Enlightenment


Esse e um geren iador bastante aut^enti o, om uma interfa e diferente dos demais. Uma das vantagens
desse geren iador e a possvel integra a~o om o ambiente KDE.
O programa ria seu proprio diretorio de on gura a~o, $HOME/.enlightenment/. Tambem ofere e
programas para on gura a~o, alem de re ursos originais, que n~ao existem em outros geren iadores. Um
dos problemas do Enlightenment e que seu desenvolvimente e bastante lento. O omando desse programa e
enlightenment.

5.3 Ambientes de trabalho


Outro on eito foi transportado para o mundo UNIX, que e o de ambiente de trabalho (desktop ). Um
programa que organiza o ambiente de trabalho ofere e servi os adi ionais ao servidor gra o, mas n~ao ofere e
o desenho gra o das janelas. Na verdade, um desktop e uma amada entre o sistema gra o e o geren iador.
Mas o on eito de ambiente de trabalho in lui a ria a~o de programas integrados, para leitura de orreio,
para geren iamento de arquivos, edi a~o de textos, nevega a~o na teia, alem de utilitarios de uso geral. Esse
on eito esta impli ito nos sistemas Mi rosoft Windows e Ma OS, mas que ja in luem o geren iador de
janelas.
Dois desktops est~ao bastantes desenvolvidos para o UNIX, que s~ao o KDE e o Gnome.

5.3.1 O sistema KDE


O KDE ja tem bastante tempo de desenvolvimento, e atualmente se en ontra na segunda vers~ao
(instavel). O programa ofere e uma barra de tarefas, ontendo um menu om os programas do sistema,
alem de outros  ones, para a esso rapido aos programas mais omuns.
Varios programas s~ao disponibilizados om o ambiente, omo geren iadores de arquivos, leitores de orreio
eletr^oni o, e apli ativos simples, apenas informativos ou de entretenimento, que podem ser exe utados na
propria barra de tarefas.
A on gura a~o do sistema e feita a partir de um programa gra o. O KDE ofere e um geren iador de
janelas proprio, mas pode ser utilizado em onjunto om outros geren iadores.
O omando asso iado a esse ambiente e o kde.

5.3.2 O sistema Gnome


O Gnome atualmente se en ontra em bom desenvolvimento na vers~ao hamada Gnome Helix. O
on eito do Gnome e semelhante ao KDE. Ofere e barra de tarefas, varios utilitarios integrados, e tambem
ofere e os hamados mini apli ativos (applet ), que s~ao exe utados na barra de tarefas do sistema.
O geren iador de janelas padr~ao do Gnome e o Saw sh, que n~ao ofere e sistema de  ones para integra a~o
om o Gnome.

5.4 Altera ~ao do geren iador de janelas


Para a utiliza a~o dos diversos geren iadores de janelas, deve-se indi ar qual o geren iador a ser exe utado
pelo servidor gra o na ini ializa a~o. Na rede Linux, omo o a esso e feito pelo programa KDM, essa
altera a~o pode ser realizada pela interfa e gra a disponvel na tela de a esso.

~ DO GERENCIADOR DE JANELAS
5.4. ALTERAC
 AO

55

Outra maneira de se modi ar o geren iador padr~ao, e alterando o arquivo .xsession. Ao nal do
arquivo, ha um omando de exe u a~o exe omando. Esse omando deve ser algum geren iador de janela,
ou o ambiente KDE.

56


CAPITULO 5. AMBIENTE GRAFICO
NO LINUX

Cap
tulo 6

Instalando o Linux (Debian)


Agora que o leitor ja esta um pou o mais familiarizado om alguns aspe tos de um sistema opera ional
UNIX, em parti ular, o Linux, e hora de vermos omo e feito o pro esso de instala a~o de uma distribui a~o
Linux e o que o orre ao sistema durante uma instala a~o. A distribui a~o es olhida foi a Debian ja que seu
pro esso de instala a~o e bastante transparente no sentido de que a maioria dos passos realizados durante
a instala a~o, o usuario tem algum ontrole e deve realizar alguma tarefa. Portanto poderemos ver todos
os passos que o orrem durante a instala a~o, ao ontrario de algumas outras instala o~es omo RedHat ou
Cone tiva que possuem pro esso de instala a~o bastante automatizados om interfa es. O aspe to bom
dessas distribui o~es e que exige menos onhe imento ini ial do usuario, entretanto, omo queremos entrar
nas entranhas do pro esso de instala a~o a distribui a~o Debian e mais adequada.
Esse aptulo sera dividido em se o~es orrespondentes aos passos que devem ser realizados durante a
instala a~o padr~ao da Debian. A vers~ao atual da Debian e a vers~ao 2.2 a os passos aqui des ritos foram
baseados nessa instala a~o, entretanto e importante ressaltar que os passos des ritos ser~ao efetuados em
qualquer instala a~o, independente da distribui a~o. Algumas instala o~es es ondem ou automatizam alguns
dos passos, mas os passos basi os s~ao sempre os mesmos.

6.1 Pegando uma distribui ~ao



Em geral existem dois metodos utilizados para pegar uma distribui a~o: via CDs, ou via a rede. E
possvel tambem, riar um espelho de uma distribui a~o em um HD, e utilizar esse HD para fonte da instala a~o.
Independente do meio da instala a~o, os passos exe utados ser~ao quase os mesmos. A primeira oisa a se fazer
ent~ao, e dar o primeira boot. Se a instala a~o for realizada via um CD, ent~ao sera ne essario on gura a~o a
BIOS do omputador, habilitando o boot via CD, agora se for uma instala a~o via rede, ent~ao sera ne essario
opiar um ou dois disquetes de boot para ini iar o sistema de instala a~o.
Ao bootar o sistema vo ^e aira no sistema de instala a~o da Debian (ou da distribui a~o utilizada). A
Debian usa um sistema gra o no onsole que auxilia os passos da distribui a~o. O sistema em geral ofere e
um menu om algumas op o~es. As primeiras op o~es ser~ao os op o~es que o sistema \sup~oe" que seja o proximo
passo, alguns passos alternativos e o passo anterior. Debaixo desses todos os passos possveis estar~ao listados
na ordem em que devem ser realizados.
Durante o pro esso de instala a~o o usuario deve es olher algum dos passos apresentados. Geralmente
seguir sempre o proximo passo e uma boa ideia, mas as vezes sera ne essario es olher algum outro.

6.2 Es olhendo o te lado


O primeiro passo da instala a~o sera es olher o seu te lado. Isso e ne essario para que o resto da instala a~o
ja saiba qual e o seu te lado, e onsiga dete tar orretamente as te las que esta usando. Es olhendo esse
57

58

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

passo, sera apresentado uma lista de te lados possveis. Alguns te lados omuns s~ao:

qwerty/us Te lado ameri ano omum de 101 te las (sem a entos)


qwerty/br-abnt2 Te lado brasileiro omum om te la de edilha
qwerty/br-latin1 Te lado ameri ano omum, mas om suporte a a entos

6.3 Parti ionar um Dis o Rgido


O proximo passo a ser feito e o partionamento de um dis o rgido. Essa e a etapa mais perigosa da
instala ~ao! Se o dis o ontiver algum outro sistema opera ional ent~ao e possvel que todos os seus dados

 re omendado um ba kup de seus dados pessoais e importantes antes de tentar fazer essa
sejam apagados. E
etapa.
A ideia e fazer om ada sistema opera ional tenha sua(s) parti a~o(~oes) distinta(s). Entretanto omo
o sistema de arquivos pode ter espalhado os arquivos pelo dis o rgido inteiro re omenda-se uma das duas
oisas:
Pode-se, no aso de de estar rodando algum Windows omo sistema opera ional, tentar fazer a defragmenta a~o do dis o rgido. Assim todos os arquivos estar~ao ontguos, para poder efetuar o parti ionamente
fsi o.
Alternativamente e re omendado utilizar algum parti ionador \inteligente" que entenda o sistema de
arquivos utilizado e onsiga redimensionar o sistema de arquivos. Um bom reparti ionador livre que existe
para o Linux e:

GNU Parted http://www.gnu.org/software/parted/parted.html


Alem disso para o Linux vo ^e deve riar pelo menos duas parti o~es, mas pode se fazer mais. Uma das
 re omendado riar a parti a~o de swap de
parti o~es que se deve riar e a parti a~o que ontera o Swap. E
tamanho igual a duas vezes a quantidade de memoria RAM do sistema (veja o omando free). Apos riada
a parti a~o e ne essario mudar o tipo da parti a~o para Linux swap!
Depois e ne essario riar as parti o~es para instala a~o do sistema. Em alguns sistemas e interessante separa
os diferentes diretorios em parti o~es distintas. Existem duas vantagens em separar diretorios em parti o~es
diferentes; primeiro, se um diretorio ar muito grande, ele so \estora" a parti a~o que perten e; segundo,
algum diretorio que e es rito frequentemente pode ser orrompido e se estiver numa parti a~o separada,
apenas aquela parti a~o estara orrompida e n~ao o sistema todo.
A Debian utiliza um outro apli ativo para fazer o parti ionamento do dis o hamado fdisk que e um
programa de onsole gra o, que permite a ria a~o e remo a~o de parti o~es, assim omo a modi a a~o de
tipo das parti o~es, entretanto, omo dito a ima, n~ao permite o redimen ionamento das parti o~es.

6.4 Ini ializando e ativando uma parti ~ao de swap


Depois de parti ionar o dis o rgido a instala a~o ira pedir para ini ializar e ativar uma parti a~o de swap.
Conforme o parti ionamento da fase anterior, o sistema ja ira sugerir a parti a~o que ontem o tipo Linux
swap.

6.5 Ativando uma parti ~ao Linux


 ne essario
Agora ada ada parti a~o que se queira usar om o Linux, deve-se exe utar esse passo. E
ome ar om a parti a~o destinada ao diretorio raz (\/") do sistema de arquivos, para que as proximas
parti o~es sejam montadas em ima desse diretorio raz.


6.6. INSTALAR O KERNEL E OS MODULOS
DOS DISPOSITIVOS

59

Para ada parti a~o ativada vo ^e devera es olher se quer veri ar o dis o para blo os orrompidos. Esse
passo e bastante demorado, entretanto e muito bom para se fazer em dis os que ir~ao onter arquivos importantes. A veri a a~o he a todos os setores do dis o rgido de uma parti a~o e ja mar a os blo os \ruins"
para n~ao serem usados futuramente.
Por m vo ^e deve es olher um diretorio de montagem da determinada parti a~o. A primeira parti a~o,
omo ja dito, deve ser a parti a~o destinada ao diretorio raz, a ordem depois disso pode ser qualquer.

6.6 Instalar o kernel e os modulos dos dispositivos


Para instalar o kernel e os modulos e ne essario ter isso em alguma mdia. A primeira pergunta que o
 possvel ter a base do sistema em diquetes, so que
sistema faz e qual mdia utilizar para pegar os dados. E
s~ao muitos, tipi amente mais do que 4, ou por um CD.
Depois de espe i ar a mdia, o sistema tentara a har o a base do sistema. Logo depois instalara o kernel
e os modulos.

6.7 Con gurando os modulos dos dispositivos


Esse passo e bastante importante para onseguir fazer os dispositivos do seu sistema fun ionarem bem no
seu Linux. Os modulos que podem ser inseridos no kernel do Linux s~ao partes que servem para dar suporte
a alguma fun ionalidade ao Linux, podendo ser um dispositivo, um proto olo, um sistema de arquivo, et .
Portanto e ne essario que se instale todos os modulos para as fun ionalidades desejadas.
Se a instala a~o dos pa otes forem efetuadas via rede, ent~ao sera ne essario instalar o modulo da pla a de
rede existente e possivelmente algum sistema de arquivos omo o NFS (Network File System). Alternativamente se a instala a~o exigir suporte a algum tipo de CD-ROM om espe i a a~o proprietaria ou n~ao usual,
ent~ao o suporte a essa espe i a a~o de CD-ROM tambem deve ser adi ionada.
No aso da Debian, o programa que roda para a instala a~o e on gura a~o dos modulos e o mod onf que
podera ser exe utado posteriormente, entretanto, e ne essario pegar o repositorio de modulos do qual se esta
fazendo a instala a~o (rede, disquetes, CDs, et .) e e ne essario que os modulos foram ompilados para a
mesma vers~ao do kernel que esta sendo instalado no momento.
A instala a~o dos modulos que s~ao apenas fun ionalidades s~ao diretas e geralmente n~ao d~ao problemas.
Os modulos que s~ao utilizados para onversarem om algum dispositivo podem dar mais problemas. Durante
a instala a~o do modulo, o sistema tenta dete tar se aquele dispositivo esta realmente esta presente, e alguns
par^ametros omo IO e IRQ. Caso d^e tudo erto o sistema vai dar uma mensagem do tipo Instalation
Su eeded, aso ontrario, geralmente o sistema indi a alguns smbolos n~ao resolvidos. Na proxima se a~o
veremos omo tentar veri ar alguns dos dispositivos disponveis e alguns de seus dados.

6.7.1 A entrada /pro /p i e o omando ls pi


Nos kernels que t^em vers~ao mais re ente (a ima do 2.2.0), existe uma entrada no /pro / hamado p i.
Este arquivo, omo todo arquivo o diretorio /pro / e uma interfa e para algum fun a~o do kernel, disponvel
para que o usuario do sistema obtenha mais informa o~es sobre o sistema em geral. Em parti ular o arquivo
/pro /p i ontem informa o~es sobre os dispositivos PCI que est~ao sendo re onhe idos pela pla a m~ae.
 possvel durante o pro esso da Debian ter a esso a um terminal om um shell muito basi o sem muitos
E
re ursos apertando Alt-F2. Assim e possvel tentar dar alguns omandos para fa ilitar a instala a~o, portanto
pode-se exe utar:
$ at /pro /p i

Sera listado todos os dispositivos PCI que est~ao one tados a pla a m~ae e alguns informa o~es omo
endere o de IO, IRQ, modelo da pla a, et . Assim, e possvel geralmente dar uma olhada nesses dados para
auxiliar na dete  a~o de quais modulos ser~ao ne essarios instalar e quais os par^ametros s~ao he ados.

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

60

Alem disso existe o omando lsp i que formata essas informa o~es disponveis no /pro /p i e nos arquivos
do diretorio /pro /bus/p i. Este apli ativo, entretanto, n~ao e disponvel durante a instala a~o e so ser usado
posteriormente. Existem varias op o~es de formata a~o, mas a exe u a~o que disponibiliza mais informa o~es
sobre os dispositivos e:
$ lsp i -vv

6.8 Instalar a rede


Nesta se a~o, primeiramente, vo ^e deve es olher o nome que vo ^e dara a sua maquina. Alem disso alguns
aspe tos sobre on gura a~o da rede s~ao on gurados neste instante. Algumas informa o~es que deve estar
em m~aos nesta hora s~ao:

Numero IP da maquina, se for um sistema de IP's xo, ou indi ar o esquema de distribui a~o de IPs
din^ami o.





Nome da subrede que devera ser usado, por exemplo, itaute . om.br ou usp.br.
Numero do IP do gateway da rede, para que o mi ro onsiga se one tar ao restante da rede disponvel.
Numero do IP do servidor de DNS.

Assim o sistema de instala a~o ja ria os s ripts e arruma os arquivos apropriados para que o seu sistema
onsiga se one tar orretamente a rede usada.

6.9 Instalar o sistema base


Esse passo serve para instalar todos os sistemas basi os para o seu Linux. Pequenos apli ativos que s~ao
essen iais para a manuten a~o de seu sistema ser~ao instalados neste instante. Basta indi ar qual e a mdia
que devera ser utilizada para a instala a~o e o sistema ja se en arrega de pro urar os arquivos orretamente.

6.10 Deixar o sistema bootavel e ria ~ao do disquete de res ue


O seguinte passo agora e deixar om que o sistema onsiga bootar ja no Linux. Isso signi a, na verdade,
alterar o programa instalado na MBR (Master Boot Re ord) para possibilitar entrar no Linux durante o
boot. Atualmente existem dois programas famosos para fazer isso, o tradi ional LILO e o novo GRUB. O
programa usado na Debian atualmente e o LILO, entretanto alguma distribui o~es est~ao usando o GRUB.
Abaixo veremos um pou o sobre ambos esses programas.
Alem disso, omo proxima op a~o, vo ^e podera fazer um disquete de res ue. Esse disquete e bastante
util e serve para re upera a~o de a essibilidade ao sistema quando instalar um outro sistema opera ional que
n~ao tem suporte para diversos sistemas. Este passo e importante! Caso vo ^e ja n~ao tenha um disquete de
res ue, fa a-o neste momento.
Depois disso o sistema vai pedir para reini iar.

6.10.1 O LILO
Como dito o LILO (LInux LOadre) e o arregador do programa para ini iar o sistema opera ional.
Ele suporta diversos sistema opera ionais na mesma maquina, ou seja, e possvel on gura-lo para que sua
maquina tenha a esso ao Linux e algum outro sistema opera ional, ou mesmo, varias vers~oes do mesmo
kernel do Linux.
O arquivo uni o que on gura o LILO e o arquivo /et /lilo. onf . Um exemplo bastante simples de
arquivo de on gura a~o poderia ser:


~ DO DISQUETE DE
6.10. DEIXAR O SISTEMA BOOTAVEL
E CRIAC
 AO

RESCUE

61

boot = /dev/hda
delay = 40
ompa t
vga = normal
root = /dev/hda1
read-only
# Outro SO
other = /dev/hda1
table = /dev/hda
label = msdos
# Linux
image = /vmlinuz
label = Linux
root=/dev/hda3
# Linux-old
image=/vmlinuz.old
label=Lold
root=/dev/hda3

Assumindo que o dis o rgido esta olo ado na ontrolado primaria omo master (/dev/hda), e que a
diretorio raz do Linux esteja na ter eira parti a~o do dis o (/dev/hda3).
O on gura a~o do LILO pode onter diversas op o~es e podem ser vistas olhando-se a pagina manual
do lilo. onf. Apos a on gura a~o deve-se utilizar o omando lilo para es rever o programa orretamente no
MBR do dis o. Assim, o lilo deve devolver uma mensagem para o exemplo a ima:
Added msdos *
Added Linux
Added Lold

O \*" indi a que essa op a~o sera a op ~ao padr~ao de boot. Agora basta reini iar o omputador para ver
as modi a o~es. Ao religar o mi ro, se tudo der erto, vo ^e devera ver a seguinte linha no boot:
LILO

Se n~ao quiser bootar a op a~o padr~ao, ent~ao basta digitar a te la [Shift e vera a seguinte linha:
LILO boot:

Agora basta digitar o nome do label da op a~o olo ada no /et /lilo. onf . Se por a aso esque er quais as
op o~es basta te lar [TAB ou [? e as op o~es estar~ao apresentadas.

6.10.2 O GRUB
O GRUB (GRand Uni ed Bootloader) e outro arregador para ini ializa a~o do sistema. Este e mais
re ente que o LILO e possui alguns re ursos a mais, por isso, algumas distribui o~es est~ao usando o GRUB
omo padr~ao ao inves do LILO. O GRUB, durante a es olha da op a~o permite um sisteminha gra o no
onsole que e mais intuitivo e fa il de usar.
Os arquivos que on guram o GRUB est~ao geralmente dentro do diretorio /boot/grub/. O prin ipal
desses arquivos e o arquivo /boot/grub/menu.lst, que analogamente ao lilo. onf , pode-se on gurar as
op o~es de boot do sistema. Um pequeno exemplo basi o de um arquivo do /boot/grub/menu.lst e:

62

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

# Boot automati ally after 30 se s.


timeout 30
# By default, boot the first entry.
default 0
# For booting the GNU Hurd
title GNU/Hurd
root (hd0,0)
kernel /boot/gnuma h.gz root=hd0s1
module /boot/serverboot.gz
# For booting Linux
title GNU/Linux
kernel (hd1,0)/vmlinuz root=/dev/hda3
# For booting msdos
title Msdos
root (hd0,0)
makea tive
hainloader +1

Para poder ativar o GRUB, as vers~oes mais novas disponibilizam um programa hamado grub-install que
instala no MBR o GRUB. Agora basta reini iar o omputador, e durante a ini ializa a~o sera apresentado
um menu gra o no onsole para es olha da op a~o de sistema opera ional. Para obter a do umenta a~o mais
ompleta sobre o GRUB n~ao utilize a pagina manual (que tem apenas algumas informa o~es), mas utilize o
info para isso, uja do umenta a~o esta bem mais ompleta:
$ info grub

6.11 Instala ~ao de pa otes


O proximo grande passo agora e a instala a~o do \sistema" em si, isto e, todos os programas e apli ativos
que se deseja ter instalado no sistema. Para isso, ada distribui a~o tem uma maneira de fazer a sua instala a~o.
O que esta se tornando omum entre as distribui o~es e a ria a~o de meta-pa otes, ou seja, pa otes que nada
mais s~ao do que uma lista ou onjunto de pa otes para fa ilitar a instala a~o.
Geralmente um programa om alguma interfa e gra a ira guiar o usuario para os tipos de pa otes que
o usuario deseja instalar omo \Desenvolvimento em C", \Servidor de Mail", et . Apos isso o sistema se
en arregara de pegar da mdia disponvel os pa otes ne essarios. Vamos dar uma olhada nos sistemas de
empa otamento existentes e algumas interfa es para instala a~o.

6.11.1 Pa otes { RPM e DEB


Por tras da instala a~o de programas, bibliote as, apli ativos ou do umenta a~o e a ideia de pa ote. O
pa ote disponibiliza para o sistema uma maneira simples e exata para a instala a~o do omponente em
quest~ao. Os dois sistemas mais famosos para fazer o empa otamento de omponentes do sistema s~ao o
RPM e o DEB. O RPM e o sistema riado e utilizado pela RedHat, mas que e usada tambem em diversas
outras distribui o~es, omo por exemplo, a Cone tiva. O DEB e o sistema riado e utilizado pela distribui a~o
Debian. Os dois sistemas s~ao diferentes, mas essen ialmente t^em alguns oisas em omum. Numa outra
se a~o veremos omo utilizar um pa ote de um tipo distinto do que e usado em um sistema.
Geralmente, independente do formato do pa ote, ele tambem n~ao tem so a instala a~o, mas alguns outros
dados muito importante para o sistema:

~ DE PACOTES
6.11. INSTALAC
 AO

63

pre requisitos/ on itos Uma lista de outros pa otes (e suas vers~oes) que deve ser instaladas antes da

instala a~o dessa pa ote, ou que que n~ao podem ser instalados juntamente om esse pa ote. Isso e
importante ja que o omponente em quest~ao geralmente faz uso de diversos outros omponentes e e
ne essario manter a onsist^en ia entre esses omponentes para n~ao on ltarem.

pre-s ript Um s ript que exe uta algumas opera o~es para a prepara a~o da instala a~o.
post-s ript Um s ript que exe uta algumas opera o~es apos a instala a~o do pa ote para preparar o sistema
para o uso desse determinado omponente.

6.11.2 Debian e os omandos dpkg, dsele t e apt-*


Como ja dito, as distribui o~es que s~ao baseadas na Debian t^em um sistema de empa otamento DEB.
Agora veremos alguns omandos para realizar a instala a~o desses pa otes. Existem basi amente tr^es omandos que podem ser usados para esse m.

O dpkg
O omando mais basi o, que na verdade todos utilizam, e o dpkg. A sintaxe do dpkg e muito omplexa,
mesmo porque esse omando tem multiplas utilidades, desde a ria a~o de pa otes, examina a~o do onteudo
de pa otes, remo a~o do pa ote do sistema, ate a instala a~o do pa ote no sistema.
Portanto algumas das sintaxes interessantes e seu signi ado seguem a seguir:
$ dpkg -I pa ote_1.2.deb
$ dpkg --info pa ote_1.2.deb

Esses dois omandos (equivalentes) ir~ao listar informa o~es importantes sobre o pa ote do arquivo
pa ote 1.2.deb (op a~o \-I" ou \{info"). Algumas informa o~es listadas s~ao, uma des ri a~o do omponente
dentro do pa ote, suas depend^en ias (pre requisitos), pa otes on itantes, et .
$ dpkg -i pa ote_1.2.deb
$ dpkg --install pa ote_1.2.deb

Esse omando ira tentar instalar o arquivo pa ote 1.2.deb. O ato de instalar e espe i ado om a op a~o
\-i" ou \{install". Se algum on ito, ou algum pre requisito n~ao for satisfeito, ent~ao o sistema abortara
om a mensagem de erro. Fi ara a arga do usuario arrumar a onsist^en ia dos pa otes.
$ dpkg -P pa ote_1.2
$ dpkg --purge pa ote_1.2

Esse omando ira tentar remover todos os arquivos rela ionados om o pa ote pa ote 1.2.deb (op a~o
\-P" ou \{purge"). Note que para esse omando, n~ao se deve utilizar o nome do arquivo ( om extens~ao
.deb ), mas o nome do pa ote em si.
Muitas outras fun ionalidades est~ao do umentadas na pagina manual do dpkg que deve ser onsultado
para maiores informa o~es e es lare imentos.

O APT
O APT (Advan ed Pa kage Tool) e, na verdade uma serie de omandos para fa ilitar a instala a~o, remo a~o
e atualiza a~o dos pa otes de seu sistema. O prin ipal dos omandos e o omando apt-get. O APT tem omo
prin ipal arquivo de on gura a~o o /et /apt/sour es.lists. Nesse aquivo e espe i ado \aonde" pro urar
pelos pa otes para a instala a~o.
 essen ial ler a pagina manual do sour es.lists para aprender a sintaxe orreta desse arquivo. Um
E
exemplo bastante simples do arquivo /et /apt/sour es.lists segue a seguir:

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

64

deb http://http.us.debian.org/debian stable main ontrib non-free


deb http://non-us.debian.org/debian-non-US stable non-US

Depois de arrumar o arquivo e ne essario utilizar o omando:


$ apt-get update

Para atualizar o ban o de dados dos pa otes disponveis para instala a~o. Alternativamente, se os pa otes
ser~ao instalados a partir de um ou mais CDs ent~ao existe o utilitario apt- drom que ja arruma o arquivo
/et /apt/sour es.lists e atualiza o ban o de dados. Para isso vo ^e deve exe utar o seguinte omando para
ada CD disponvel:
$ apt- drom add

E depois seguir as instru o~es do programa.


Agora veremos algumas das vantagens de usar o sistema APT. Primeiramente, n~ao e pre isa lo alizar ou
baixar via rede os arquivos dos pa otes que se quer instalar, o APT ja se en arrega de fazer isso. Outra oisa
e a veri a a~o e resolu a~o de on itos e depend^en ia entre pa otes. O APT sabe resolver esses problemas e ja
resolve tomando alguma a a~o abvel. Alem disso para fazer a atualiza a~o de muitos pa otes, e extremamente
fa il.
 importante observar que todo o sistema APT utiliza o dpkg, mas de forma transparente para o usuario.
E

O dsele t
O dsele t e um programa gra o que permite o navegar por todos os pa otes disponveis e sele ionar
diversos dos pa otes para instala a~o, atualiza a~o ou remo a~o. O dsele t tambem tem um sistema que tenta
sanar on itos e depend^en ias entre pa otes para fa ilitar a manipula a~o para o usuario.
O uni o ponto negativo do dsele t e que sua interfa e e muito pou o intuitiva e omo existem muitos
pa otes (mais de 1000), a listagem a inutilizavel para nevga a~o e sele a~o.

6.11.3 RedHat/Cone tiva e os omandos rpm, managerpm e apt-*


As distruibui o~es RedHat e Cone tiva usam o sistema de distribui a~o RPM. Este sistema tambem tem
diversos apli ativos para a manipula a~o dos pa otes. A seguir veremos apenas alguns que s~ao os mais basi os.

O rpm
Analogamente ao dpkg, o rpm e o omando mais basi o e essen ial do sistema de empa otamento RPM.
Tambem e ne essario observar que por realizar diversas tarefas distintas a sintaxe do omando rpm e bastante
ompli ada e extensa. Veremos aqui alguns omandos basi os para instala a~o, obten a~o de informa a~o e
remo a~o de pa otes.
$ rpm -qi pa ote-1.2.i386.rpm

Esse omando ira listar informa o~es importantes sobre o pa ote do arquivo pa ote 1.2.deb (op o~es \qpi"). Algumas informa o~es listadas s~ao, uma des ri a~o do omponente dentro do pa ote, suas depend^en ias
(pre requisitos), pa otes on itantes, et .

$ rpm -i pa ote-1.2.i386.rpm
$ rpm -i ftp://ftp.redhat. om/pub/redhat/rh-7.0/RPMS/pa ote-1.2.i386.rpm

Esse dois omandos tentar~ao instalar o arquivo pa ote-1.2.i386.rpm (est~ao lo almente em dis o, ou
puxando via ftp ), pois est~ao usando a op a~o \-i". Novamente, se algum on ito, ou algum pre requisito
n~ao for satisfeito, ent~ao o sistema abortara om a mensagem de erro. Fi ara a arga do usuario arrumar a
onsist^en ia dos pa otes.

~ DO X WINDOWS
6.12. CONFIGURAC
 AO

65

$ dpkg -e pa ote_1.2

Esse omando ira tentar remover todos os arquivos rela ionados om o pa ote pa ote 1.2.deb (op a~o
\-e"). Note que para esse omando, n~ao se deve utilizar o nome do arquivo ( om extens~ao .rpm ), mas o
nome do pa ote em si.
Muitas outras fun ionalidades est~ao do umentadas na pagina manual do rpm que deve ser onsultado
para maiores informa o~es e es lare imentos.

O managerpm, gnorpm e kpa kage


Existem diversos apli ativos que implementam uma interfa e mais amigavel ao omando rpm. Algumas
das interfa es ja implementam algum sistema de he agem de on itos e depend^en ia entre os pa otes.
Alguns das interfa es omuns s~ao

managerpm
gnorpm
kpa kage
O APT
Alem disso a Cone tiva adaptou a sistema APT riado pelos desenvolvidores da Debian para fun ionar
om os pa otes RPMs. A sintaxe dos omandos e bastante analoga e os arquivos de on gura a~o tambem.
Ent~ao se vo ^e aprender bem o sistema APT podera manipular os pa otes de um sistema que esteja rodando
Debian e Cone tiva.
 importante alertar que o APT so esta disponvel na distribui a~o Cone tiva a partir de sua vers~ao 7.0.
E

6.11.4 O alien
O omando alien, existente tanto em sistemas que utilizam RPMs omo em sistemas que utilizam DEBs,
serve para utilizar um pa ote que n~ao e ompatvel om o sistema sendo usado. Por exemplo, instalar um
pa ote.deb numa sistema rodando uma distribui a~o Cone tiva, ou instalar um pa ote.rpm num sistema
rodando uma distribui a~o Debian.
Esse apli ativo n~ao e 100% fun ional! So deve ser usado omo ultima es olha.

6.12 Con gura ~ao do X Windows



Uma parte da instala a~o que e bastante trabalhosa, e a on gura a~o do X Window Systems. E
essen ial lembrar que os arquivos que on guram o X Window est~ao geralmente no diretorio /et /X11/.
Em parti ular, o arquivo mais importante para se fazer a instala a~o e o arquivo /et /X11/XF86Con g.
Esse arquivo ontrola quase todos os aspe tos da on gura a~o do sistema de janelas, omo o te lado, mouse,
monitor, pla a de vdeo, resolu a~o, profundidade de ores, et . Geralmente ele esta bem omentado, entretanto e extremamente dif il fazer a on gura a~o do X Window apenas editando esse arquivo. Com esse
intuito, foram riados diversos apli ativos para auxiliar na on gura a~o.
Apresentamos tr^es deles (os mais onhe idos) a seguir.

6.12.1 O omando SuperProbe


O omando SuperProbe foi riado para fa ilitar na dete  a~o da pla a de vdeo do omputador e de suas
ara tersti as, omo quantidade de memoria, numero do modelo, et .
O omando n~ao tem muitos omandos, mas pode ser exe utado simplesmente omo:

66

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

$ SuperProbe

A sada desse programa e muito importante para a on gura a~o do X Window, independente do metodo
es olhido.

6.12.2 O apli ativo xf86 on g


O xf86 on g e o mais basi o dos apli ativos para on gurar o X Window. Ele roda em modo texto,
e vo ^e deve forne er todos os dados ne essarios. Alguns dados importantes s~ao, o dispositivo e proto olo
do mouse, frequ^en ias verti ais e horizontais do monitor, espe i a a~o da pla a de vdeo (veja o SuperProbe
a ima).
O xf86 on g ira es rever sua sada no arquivo de on gura a~o (/et /X11/XF86Con g) e depois vo ^e
podera testar a on gura a~o usando o omando startx para ini iar o sistema gra o.

6.12.3 O apli ativo X on gurator


O X on gurator e um apli ativo apenas disponvel em sistemas baseados na RedHat. Entretanto e importante itar, ja que e um sistema que tentar fa ilitar um pou o a on gura a~o. Geralmente a pla a de vdeo
e automati amente dete tada neste apli ativo. Alem do mais sua interfa e e bem mais fa il de usar, pois e
uma interfa e gra a no onsole a base de menus.

6.12.4 O apli ativo XF86Setup


Esse apli ativo e semelhante ao de ima, entretanto ele ja roda em modo gra o. Isso impli a no fato de
que nem sempre o XF86Setup ira onseguir rodar. Nos asos em que o programa n~ao onseguir nem abrir
uma tela VGA, esse apli ativo pode travar.
O XF86Setup e mais padr~ao do que o X on gurator, mas n~ao tem quase nenhum diferen a muito grande
om rela a~o aos dois sistemas des rito a ima.

6.12.5 O omando xvidtune


Em alguns asos e desejavel arrumar a apar^en ia da tela (largura, altura, posi a~o verti al, posi a~o horizontal, et ). Para isso, se o seu monitor n~ao possui ajustes, este omando e bastante util. Ele deve ser
rodado depois que a on gura a~o ini ial do X Window for realizada.
Esse apli ativo abrira uma janelinha om os ontroles de ajustes. Depois de ajustar onforme desejado
e ne essario pegar a linha de Modeline que o programa imprimir e depois inserir essa nova linha do arquivo
/et /X11/XF86Con g na se a~o de \Monitor".

6.13. EXERCICIOS

6.13 Exer  ios

67

68

CAPITULO 6. INSTALANDO O LINUX (DEBIAN)

Cap
tulo 7

Ferramentas e apli ativos


Na utiliza a~o da rede, alguns apli ativos tornam-se essen iais, prin ipalmente quando se utiliza a Internet.
Nesse aptulo, veremos alguns apli ativos mais utilizados, alem de alguns on eitos relativos a teia (WWW),
a formatos de do umentos e a impress~ao na rede.

7.1 Apli ativos generi os


Aqui veremos alguns apli ativos que s~ao basi os para muitos Uni es, e s~ao muito utilizados no Linux.

7.1.1 O omando le
O omando le e um programa que tenta veri ar o tipo de um determinado arquivo.
file [op ~ao... arquivo

 muito
Ele basi amente testa o arquivo para veri ar alguns atributos e devolve os atributos a hados. E
util. Alguns exemplos seguem:
$ file /bin/ls
/bin/ls: ELF 32-bit LSB exe utable, Intel 80386, version 1,
dynami ally linked (uses shared libs), stripped
$ file /et /init.d/sysklogd
/et /init.d/sysklogd: Bourne shell s ript text
$ file /usr/X11R6/in lude/X11/pixmaps/xterm.xpm
/usr/X11R6/in lude/X11/pixmaps/xterm.xpm: X pixmap image text

7.1.2 Os omandos gzip e gunzip


 bastante omum a manipula a~o de arquivos ompa tados hoje em dia. A ompa ta a~o e bastante util
E
para diversos motivos. Agora veremos o sistema de ompa ta a~o mais omum em qualquer UNIX; o gzip.
gzip [op ~ao... [arquivo
gunzip [op ~ao... [arquivo.gz

69

CAPITULO 7. FERRAMENTAS E APLICATIVOS

70

O gzip serve para ompa ta a~o de qualquer tipo de arquivo, mas geralmente ele onsegue maiores ndi es
de ompress~ao para arquivos om estruturas repetidas, omo arquivos texto. O gzip re ebe omo argumento
o arquivo que deve ser ompa tado e gera o arquivo arquivo.gz no seu lugar.
O gunzip serve para des ompa tar um arquivo que foi ompa tado om o gzip (arquivo.gz). Ele re ebe
omo argumento o arquivo arquivoarquivo.gz gera o arquivo arquivo (original, sem ompa ta a~o) no seu
lugar.
Lembre-se que esses arquivos s~ao muito omuns no UNIX e e essen ial saber manusear esse tipo de
arquivo e aprender a usar o gzip e gunzip.

7.1.3 Os omandos bzip2 e bunzip2


Um outro sistema de ompa ta a~o que esta ando padr~ao tambem, mas apenas no Linux, e o bzip2. Ele
e bastante semelhante ao gzip, so que seu fator de ompa ta a~o, e em geral, maior do que o gzip e apenas
um pou o mais devagar.
bzip2 [op ~ao... [arquivo
bunzip2 [op ~ao... [arquivo.bz2

7.1.4 O omando tar


Alem de ompa ta a~o, o que e muito omum na omunidade UNIX e o ato de riar um arquivamento de
alguns arquivos e/ou diretorios. Para isso e usado o omando tar.
tar [op ~ao... arquivo1 [arquivo2, ... , arquivoN

O arquivamento de arquivos e/ou diretorios, ira \ on atenar" todos esses arquivos e/ou diretorios em
apenas um grande arquivo (arquivo.tar). Alem disso o tar guarda a hierarquia dos arquivos e de diretorios,
posse dos arquivos e permiss~oes dos arquivos. Isso e bastante util quando e desejado transportar um serie
de arquivos, sem perder as propriedades que possuem na opia original. Alem disso, omo visto a ima, e
possvel ompa tar o arquivo resultante para que este o upe pou o espa o.

Exemplos

Se tivermos uma hierarquia de arquivos omo demostrados a seguir:

$ find teste
teste
teste/arquivo1
teste/arquivo2
teste/sub
teste/sub/arquivo3

Ent~ao podemos riar (op o~es \- " ou \{ reate") um arquivo om essa estrutura om a seguinte hamado
ao tar:
$ tar - vf arquivo_novo.tar teste
teste/
teste/arquivo1
teste/arquivo2
teste/sub/
teste/sub/arquivo3

~ NA TEIA |
7.2. NAVEGAC
 AO

WWW E HTTP

71

Agora para listar (op o~es \-t" ou \{list")o onteudo de um arquivo do tipo arquivo.tar, pode-se fazer
a seguinte hamada:
$ tar -tvf arquivo.tar
teste/
teste/arquivo1
teste/arquivo2
teste/sub/
teste/sub/arquivo3

E nalmente para desarquivar (op o~es \-x", \{extra t" ou \{get") o onteudo de um arquivo arquivo.tar podemos utlizar a seguinte linha de omando:
$ tar -xvf arquivo.tar
teste/
teste/arquivo1
teste/arquivo2
teste/sub/
teste/sub/arquivo3

 bastante omum vermos num sistema UNIX arquivos do tipi arquivo.tar.gz. Para pegar o onteudo
E
do arquivo e possvel faz^e-lo em dois passos omo ja visto; primeiro des ompa tando o arquivo om o gunzip
e depois desarquivando o arquivo om o tar. O tar, entretanto, ja possui suporte para esse tipo de arquivo,
podendo realizar a ompa ta a~o automati amente, em qualquer um dos exemplos vistos a ima.
 importante
Basta adi ionar a op a~o \-z" para arquivos .tar.gz e a op a~o \-I" para arquivos .tar.bz2. E
observar que nem todas as vers~oes do tar ja tem suporte a arquivos .bz2, mas as distribui o~es mais novas
est~ao disponibilisando isso.

7.2 Navega ~ao na teia | WWW e HTTP


A hamada teia mundial, ou WWW (World Wide Web ), e o onjunto de todas as paginas visveis na
Internet, pelo proto olo HTTP, que portanto podem ser visualizadas por um navegador (browser ). Esse

onjunto de do umentos e justamente hamado de teia, por serem do umentos que possuem refer^en ias a
outros do umentos (link ), e que portanto formam uma rede, om nos ligados uns aos outros.
O proto olo prin ipal usado pelos navegadores e hamado de HTTP (Hypertext Tranfer Proto ol ). O
hamado hipertexto (hypertext ), s~ao os do umentos es ritos em HTML que possuem links, que ao serem
a ionados, pelo mouse ou pelo te lado, fazem om que o navegador leia o outro do umento, que pode estar
em qualquer lugar do mundo. Outros proto olos s~ao utilizados tambem pelos navegadores, omo por exemplo
o FTP, mas que t^em ns diferentes, isto e, n~ao s~ao espe i amente riados para a visualiza a~o de textos.
Os do umentos da teia s~ao referen iados por uma adeira de ara teres, hamada URL (Uniform Resour e Lo ator ). Essa adeia diz o proto olo utilizado ( omo normalmente utilizamos o HTTP, os endere os
em geral ome am por http://), e em seguida o endere o da pagina. Esse endere o onsiste em um nome
ou um n
umero IP referente a uma maquina na Internet. Logi amente, esse nome deve ser \resolvido", isto
e, deve ser onvertido de alguma maneira para o numero IP da maquina. Apos o nome, pode-se espe i ar
a porta em que o servi o HTTP esta disponvel naquela maquina, e ent~ao o aminho da pagina pro urada. Por exemplo, o endere o http://video. s.vt.edu:90/history/ se referen ia os diretorio history
da maquina ujo nome asso iado e video. s.vt.edu, e ujo sevi o HTTP esta sendo realizado na porta
90.
O proto olo HTTP tambem pode ser fa ilmente ompreendido, pelo fato de ser mensagens em adeias
ASCII, que podem ate ser digitadas pelo usuario diretamente, atraves de um terminal remoto, omo o telnet.
Para detalhes, pode-se olhar o do umento de padroniza a~o do HTTP/1.0, [RFC1945 ou do HTTP/1.1,
[RFC2616. Com o omando telnet servidor 80, pode-se testar os omandos do proto olo.

72

CAPITULO 7. FERRAMENTAS E APLICATIVOS

7.2.1 Navegadores gra os | Nets ape, konqueror, galeon e nautilus


O navegador onhe ido por usuarios de outros sistemas, o Nets ape Navigator tem seu odigo portado
para os sistemas UNIX. Em diversas distribui o~es, esta disponvel o Nets ape Communi ator, que integra
servi os de orreio elet^oni o, grupos de not ias, e tambem um editor de paginas HTML.
A utiliza a~o desse navegador e intuitiva, por ter uma interfa e gra a ja bem onhe ida. Entretanto,
alguns detalhes de on gura a~o valem a pena serem omentados.
Tambem existem outros navegadores sendo desenvolvido pelo projetos KDE e GNOME. O konqueror e
o navegador do KDE e os navegadores galeon e nautilus s~ao navegadores do GNOME. Todos t^em interfa es
intuitivas, so que nem todos possuem todos os re ursos e fun ionalidades que um navegador ompleto deve
ter. Entretanto ja est~ao bastante utilizaveis.
Vale lembrar que os apli ativos para o Linux n~ao para de res er e quem estiver urioso om erteza onseguira en ontrar pelo menos mais 10 navegadores em diversas fases de desenvolvimento. Apenas des revemos
aqui os navegadores atualamente mais utilizados pela omunidade Linux.

7.2.2 Navegadores texto | Lynx e w3m


Dois navegadores em modo texto s~ao mais utilizados. A desvantagem desses navegadores e a impossibilidade de se visualizar imagens e outros arquivos multimdia da teia. Entretanto, s~ao rapidos, e podem ser
uteis para visualiza a~o de paginas simples quando n~ao se tem um terminal gra o disponvel.

Lynx
O Lynx e um navegador bastante simples, mas versatil, pois trabalha om a maioria dos proto olos
existentes na teia (ex eto os que a limita a~o gra a imp~oe). Para a utiliza a~o do Lynx o usuario pre isa se
a ostumar: as setas do ursor ! e s~ao para seguir um link e para voltar a pagina anterior, respe tivamente.
Portanto, o ursor no Lynx prati amente desapare e, apenas sendo usado para digitar texto nos ampos de
entrada. Como padr~ao os links s~ao oloridos de azul, e am vermelho quando o ursor esta posi ionado
neles. As setas " e # navegam entre os links. Para a rolagem das paginas, deve-se utilizar a barra de espa o.
Um menu simpli ado e mostrado ao m da tela, om algumas op o~es importantes na navega a~o ( omo G
para indi ar uma nova URL a ser lida, ou Q para a naliza a~o do programa). O Lynx n~ao possui formata a~o
do texto em olunas, di ultando a visualiza a~o de algumas paginas na teia.

w3m
O w3m e menos versatil que o Lynx, mas no entanto e mais util para visualizar paginas que ontem tabelas
e olunas, pois e apaz de formata-las mesmo sendo a sada um terminal texto.
Esse navegador utiliza uma linha para sublinhar os links quando o ursor esta posi ionado no mesmo.
Alem disso, o ursor a livre pela tela, e portanto as setas do te lado apenas o movimentam. Para a essar
um link deve-se utilizar a te la enter e para voltar a pagina anterior, a te la es . A letra H (te la h om
shift ) permite a visualiza a~o de um menu de ajuda.

7.3 Editores de texto


Como a maioria dos arquivos de on gura a~o do UNIX s~ao arquivos de texto, e alem disso os usuarios
podem riar programas para o shell, alem de programas de outras linguagens, editores de texto s~ao de
extrema import^an ia para o sistema. Veremos aqui alguns editores simples, o Nano e o Joe. O editor Ema s
tera um aptulo inteiro ( aptulo 8) por ser bastante omplexo e versatil.

~ DE ARQUIVOS
7.4. VISUALIZAC
 AO

73

7.3.1 O editor Nano


Esse editor e baseado no editor Pi o, que e distribudo juntamente om o leitor de mensagens Pine.
Entretanto, sua li ensa e GPL, diferentemente do Pi o. O nome Nano se refere a Nano's ANOther editor.
A aper^en ia do Nano e a mesma do Pi o: uma barra superior forne e informa o~es sobre o arquivo em uso,
e duas linhas ao m da tela indi am os prin ipais omandos do programa. Os omandos do programa sempre
s~ao letras em onjunto om a te la ontrol e alguns tem te las de fun a~o do te lado (F1{F12) asso iadas
omo atalhos.
Uma op a~o interessante do omando, a ser utilizada na hamada do programa, e a op a~o -p ou --pi o,
que deixa o menu inferior id^enti o ao menu do Pi o.
Por ter uma interfa e amigavel, apesar de ser em modo texto, o programa dispensa maiores omentarios.
O usuario pode aprender fa ilmente om a utiliza a~o do mesmo.

7.3.2 O editor Joe


O editor Joe (Joe's Own Editor ) tem uma apar^en ia diferente do Nano. So se visualiza o menu de ajuda
om o omando C-k h (semelhante ao Ema s). Esse editor tambem trabalha om varios bu ers ao mesmo
tempo, e tambem pode dividir a janela em mais de uma, para visualiza a~o de varios arquivos ao mesmo
tempo.
Os prin ipais omandos desse editor s~ao: C- para sair, C-k x para gravar um arquivo e sair e C-k d
para gravar um arquivo.

7.4 Visualiza ~ao de arquivos


No ambiente UNIX e na Internet varios tipos de arquivos s~ao omuns, e prati amente se tornaram padr~ao.
Como o LATEX e o TEX s~ao muito utilizados pelos usuarios UNIX, o padr~ao riado pelo Knuth, hamado DVI
e bastante utilizado. Alem disso, o padr~ao de linguagem de impressoras PostS ript, que s~ao os arquivos PS
e muito utilizado pelo UNIX para impress~ao de arquivos (de fato, para as impressoras que n~ao re onhe em
essa linguagem, utiliza-se ltros que onvertem de PS para a linguagem da impressora). E na Internet o
novo formato de do umentos riado pela Adobe vem se tornando padr~ao, o hamado PDF. Tambem temos
as guras, JPEG, GIF e PNG. Veremos o que s~ao esses formatos e os programas uteis para a visualiza a~o
dos mesmos.

7.4.1 O formato PostS ript e o gv

O formato implementado pela Adobe em 1982, baseado no trabalho de dois pesquisadores da Xerox, de
1976, e ate hoje um dos padr~oes mais omuns entre as impressoras a laser. Hoje ja se tem o PostS ript
Level 3, mas a vers~ao anterior, Level 2 e ainda a mais omum. O PS se ara teriza por ser uma linguagem
de programa a~o, diferentemente de simples omandos espe iais que algumas impressoras implementam. As
fontes s~ao implementadas dinami amente, utilizando-se urvas de Bezier. As ara tersti as do PS o tornam
uma ferramenta ex elente para as sadas gra as a serem impressas.
No UNIX, ainda e o padr~ao mais omum de sada dos programas para impress~ao. Assim, basta uma rede
ter uma impressora que entenda a linguagem, ou ainda implementar um ltro para uma impressora n~ao PS,
e todos os programa podem imprimir arquivos apenas os enviando om o omando ne essario.
Para visualiza a~o de arquivos PS, um ex elente programa esta disponvel no UNIX. O gv, derivado
do ghostview, se utiliza do programa gs (ghosts ript ), e permite a visualiza a~o de arquivos PS na tela do
omputador. Por ser um programa gra o, a maioria das op o~es podem ser alteradas por sua interfa e,
apesar de algumas poderem tambem ser de nidas na hamada do programa.
A op a~o de antialias e bastante util, pois permite a visualiza a~o de do umentos om melhor de ni a~o
das fontes. Entretanto, o tempo de desenho da tela torna-se mais lento. Pode-se ativar ou desativar essa
op a~o pelo menu State da interfa e, ou ao se ini iar o programa, om -antialias ou -noantialias.

CAPITULO 7. FERRAMENTAS E APLICATIVOS

74

Outra op a~o interessante e a es ala a ser utilizada, isto e, pode-se aumentar ou diminuir o tamanho do
do umento para se visualizar. Esse valor pode ser de nido ao se ini iar o programa (-s ale <n>) e pode
ser alterado no programa, em um bot~ao espe  o para esse valor.
Alem disso, o programa permite montar uma on gura a~o padr~ao, om a de ni a~o de varios valores, que
e gravada no arquivo $HOME/.gv. Uma ferramenta de aumento tambem e ofere ida, que pode ser utilizada
om o mouse, utilizando-se o bot~ao do meio, e es olhendo o fator de aumento do texto (apenas uma janela
xa e aberta entralizada no texto em que o ponteiro mouse se en ontra).
O programa gv tambem permite a visualiza a~o de alguns do umentos PDF (ja que o gs pode onvert^e-los
para PS), alem de permitir a impress~ao do arquivo todo, ou apenas de onjuntos de paginas sele ionadas.

7.4.2 O formato DVI e o xdvi


Esse formato, riado por Donal Knuth, e um padr~ao independente de dispositivo de sada. Isto e, gra os
e fontes n~ao est~ao in lusos no arquivo, e podem ser anexados no momento da impress~ao ou gera a~o de outro
arquivo (as fontes podem ser geradas por demanda). O nome DVI se refere a DeVi e Independent.
Uma das vantagens desse tipo de arquivo e o seu tamanho reduzido, ja que apenas ontem informa o~es
ne essaria a formata a~o do texto. Entretanto, pode-se ter problemas om fontes de uma maquina para outra.
No aso de onter guras geradas por outra fonte (no formato EPS (En apsulated PostS ript ), essas guras
devem a ompanhar o arquivo, para que sejam impressas ou in lusas no arquivo gerado a partir do DVI.
O programa xdvi permite a visualiza a~o de arquivos DVI. No entanto, as fontes s~ao geradas por demanda,
o que pode o asionar uma demora adi ional antes da abertura do arquivo pela primeira vez. O programa
disponibiliza uma interfa e simples, sem muitas op o~es de on gura a~o.

7.4.3 O

Portable Do ument Format

Criado tambem pela Adobe, o PDF ontem re ursos adi ionais ao formato PostS ript. Alem de onter
me anismos de ompress~ao de dados para diminuir o tamanho do arquivo, possue re ursos de hipertexto e
re ursos para seguran a. Pode-se proteger o arquivo ontra impress~ao, pode-se olo ar senha para o a esso
ao arquivo, et . Alem disso, o re urso de hipertexto e interno, isto e, move-se pelo texto atraves de links e
tambem externo, isto e, pode-se de nir refer^en ias a paginas da teia.
O programa disponvel para visualiza a~o dos arquivos PDF e o A robat Reader, implementado pela
propria Adobe para diversos sistemas opera ionais. No UNIX, o omando asso iado ao programa e a roread.

7.4.4 Formatos de guras | JPEG, GIF e PNG


O formato JPEG (Joint Photographi Experts Group ), ujos arquivos em geral t^em extens~ao .jpg, e um
formato de imagens que utiliza ompress~ao om perdas, mas que se tornou padr~ao na Internet por deixar
os arquivos pequenos, e permitir imagens om 24 bits de ores. Apesar da perda na ompress~ao, as imagens
da teia em geral s~ao bastantes satisfatorias, e ate mesmo as ^amaras digitais no momento adotaram esse
formato omo padr~ao.
O formato GIF (Graphi s Inter hange Format ) e mais antigo, e tem algumas limita o~es omo os 8 bits
de ores. Entretanto, permite pontos \transparentes", o que torna esse tipo de gura util para os projetistas
e desenhistas de paginas. O padr~ao tambem de ne o hamado GIF animado, em que uma sequ^en ia de
imagens e mostrada omo um lme.
O formato PNG (Portable Network Graphi s ) e mais re ente, e tambem permite imagens om 24 bits,
alem de utilizar ompress~ao de dados. Entretanto, o algoritmo de ompress~ao e menos prejudi ial para a
imagem, e omprime as informa o~es da imagem linha a linha (o JPEG omprime janelas, isto e, blo os da
imagem).
Para a visualiza a~o desses arquivos, alem dos navegadores gra os, utiliza-se bastante nos ambientes
UNIX o programa xv. O programa ontem uma interfa e gra a, que pode ser a ionada ao se pressionar o
bot~ao direito do mouse na imagem que esta sendo mostrada. Pode-se onverter arquivos, alem de realizar

~ DE ARQUIVOS NA REDE
7.5. IMPRESSAO

75

edi o~es simples, omo rodar a imagem, ou ortar peda os do arquivo. Para mais ferramentas gra as, o
Gimp e o programa padr~ao do UNIX.

7.5 Impress~ao de arquivos na rede


Aqui des reveremos resumidamente um pou o sobre omo efetuar impress~ao no Linux (e no UNIX) e
omo on gurar alguma nova impressora.
Vale ressaltar que os arquivos a serem impressos devem ser do tipo PS. No entanto, antes da impress~ao,
ltros s~ao exe utados para arquivos de outro tipo, para que o usuario n~ao tenha a ne essidade de onvert^e-los
antes de envia-los para a impressora.

7.5.1 Convers~ao de arquivos texto


Apesar de possuir ltros, o usuario pode querer onverter um arquivo texto de maneira diferente da que
e feita pelo sistema de impress~ao. Para isso, o omando a2ps e bastante util. Sua sintaxe:
a2ps [OPCA~O... [ARQUIVO...

Basi amente, o omando onverte arquivos (ou a entrada padr~ao) para o formato PostS ript (e omo
padr~ao imprime na sada padr~ao).
Pode-se de nir numero de olunas, abe alhos e rodape, alem do tamanho da fonte, e fonte a ser utilizada.
O a2ps automati amente formata os arquivos que ele re onhe e ser de alguma linguagem de programa a~o,
utilizando negrito para palavras reservadas, e assim por diante.
Com a op a~o -o pode-se espe i ar o arquivo de sada. A op a~o -r ou --lands ape imprime em modo
paisagem (e e o padr~ao), e a op a~o -R ou --portrair imprime orientado verti almente (retrato). A op a~o
-f ou --font-size de ne o tamanho da fonte a ser utilizada. Outras op a~o s~ao disponibilizadas, e de fato
o programa e bastante versatil. Um leitura da pagina de manual ou do info e essen ial.

7.5.2 Convers~ao de arquivos DVI


Para impress~ao de arquivos do tipo DVI deve-se gerar o arquivo PostS ript, ja que e o padr~ao no UNIX.
Tambem pode-se querer visualizar o arquivo nal, pelas guras, ou pode-se desejar utilizar o gv, por ser mais
ompleto para a visualiza a~o de do umentos. Para isso, o programa dvips onverte arquivos DVI para PS.
A sintaxe do programa e:
dvips [OPC~AO... ARQUIVO[.dvi

A extens~ao .dvi n~ao e obrigatoria, mas o programa primeiramente bus a por um arquivo om a extens~ao
(mesmo que n~ao in lusa no omando), e depois pelo arquivo om o nome sem a extens~ao.
Entre as op o~es mais importantes, est~ao a op a~o -t TAMANHO, om a qual se pode espe i ar o tamanho
do papel (letter, a4, et ), a op a~o -o ARQUIVO para espe i ar o arquivo de sada (por padr~ao o programa
tenta jogar a sada para o omando lpr), e a op a~o -O X,Y em que X e Y s~ao valores dimensionais (devem
a ompanhar in ou mm ou outra medida padr~ao), para mover o arquivo DVI das margens esquerda e superior.
Tambem pode-se espe i ar a pagina ini ial e nal a serem onvertidas, om a op a~o -p PAGINA e -l PAGINA,
respe tivamente.

7.5.3 Como imprimir na rede? | O omando lpr, lpq e lprm


A impress~ao nas redes e feita de maneira entralizada. Para as impressoras que n~ao se omuni am
diretamente om a rede, uma maquina espe  a (em que a impressora se en ontra one tada) uida do
servi o dessa impressora. Para as impressoras on-line, tambem e ne essario um servi o de spool (essa

CAPITULO 7. FERRAMENTAS E APLICATIVOS

76

palavra e um a ronismo para Simultaneous Peripheral Operation On-Line ), que basi amente mantem uma
la om os arquivos a serem impressos pela impressora. Assim, mesmo que a impressora esteja o upada om
outro arquivo, os usuarios da rede podem enviar seus arquivos sem a ne essidade de espera pela libera a~o
da impressora.
No UNIX, todas as impressoras t^em um nome asso iado. Mesmo as impressoras \lo ais", que est~ao
ligadas a uma maquina espe  a, tem um nome asso iado no servidor (arquivo print ap que mapeia as
impressoras na rede), que espe i a a maquina que deve re eber os trabalhos de impress~ao. Esse nome
deve ser utilizado para espe i a a~o da impressora desejada. Vejamos os omandos asso iados a in lus~ao de
trabalhos na la, remo a~o, e listagem da la de impress~ao.

In lus~ao de trabalhos (lpr)


O omando lpr tem a seguinte sintaxe:
lpr [-P IMPRESSORA [-# NUM [-C CLASSE [-J TRABALHO
[-T T
ITULO [-U USUARIO [-i [NUMCOLS [-1234 FONTE
[-w NUM [- dfghlnmprstv [NOME...

O omando insere os arquivos passados omo argumento na la de impress~ao da impressora dada ( aso
n~ao seja espe i ada uma impressora, a impressora padr~ao de nida na rede e utilizada).
A prin ipal op a~o utilizada e a -P para espe i ar a impressora a ser utilizada. Pode-se espe i ar o
numero de opias om -# NUM, e todos os arquivos na lista de nomes ser~ao impressos NUM vezes. Para as
outras op o~es, deve-se olhar a do umenta a~o do programa.

Listagem de trabalhos (lpq)


O omando lpq lista os trabalhos presentes na la de impress~ao. Sua sintaxe e:
lpq [-l [-P IMPRESSORA [#... [USUARIO...

Sem argumento algum, o omando apenas lista os trabalhos da impressora padr~ao. Pode-se espe i ar
a impressora, e tambem os usuarios de quais se deseja obter informa o~es de trabalhos. A op a~o -l disponibiliza informa o~es detalhadas sobre ada arquivo de ada trabalho. Pode-se tambem espe i ar numeros de
trabalhos (geralmente utilizado om a op a~o -l). A gura 7.1 exempli a o uso do omando.
[~/ ursos/linux # lpq
lp is ready and printing
Rank Owner
Job Files
a tive mar io
36 urso.ps
1st
mar io
37 top.eps
2nd
mar io
38 urso.ps, ema s.eps
[~/ ursos/linux # lpq -l 38
lp is ready and printing
mar io: 2nd
urso.ps
ema s.eps

[job 038lo alhost


949244 bytes
47256 bytes

Figura 7.1: Uso do lpq

Total Size
949244 bytes
300474 bytes
996500 bytes

~ DE ARQUIVOS NA REDE
7.5. IMPRESSAO

77

Remo ~ao de trabalhos (lprm)


O omando lprm e utilizado para a remo a~o de arquivos da la de impress~ao. A sintaxe do omando e:
lprm [-P IMPRESSORA [- [#... [USUARIO...

A op a~o -P espe i a a impressora, omo nos outros omandos. Pode-se espe i ar um numero de
trabalho espe  o. Por padr~ao o omando remove o primeiro trabalho da la. A op a~o - remove todos os
trabalhos da la. Obviamente, um usuario somente pode remover arquivos que lhe perten em, e o usuario
root pode remover qualquer trabalho na la.

78

CAPITULO 7. FERRAMENTAS E APLICATIVOS

Cap
tulo 8

Ema s
O Ema s e um dos melhores editores de textos existentes no mer ado. Apesar de n~ao ter uma otima
apar^en ia, e um programa que ontem muitos re ursos alem da simples edi a~o de texto. Algumas pessoas
apenas utilizam o Ema s para suas atividades no UNIX, sem exe utar um shell sequer. Nesse aptulo
estudaremos um pou o desse programa.

8.1 O que o Ema s faz?


Ha varias implementa o~es do Ema s, algumas livres outras omer iais. Ha ate uma implementa a~o
desenvolvida para o ambiente gra o X Window (X-Ema s). Entretanto, nesse aptulo omentaremos o
GNU Ema s, que na verdade e o Ema s do proprio riador, Ri hard Stallman, e que hoje se en ontra na
vers~ao 21. O GNU Ema s tambem fun iona no ambiente gra o, mas om pou a integra a~o.
O Ema s tem varias ferramentas bastante uteis, omo bus a, reposi a~o, e as ferramentas basi as de edi a~o
de texto. Entretanto, possui apa idade de bus a por express~oes regulares, que e uma ferramenta muito util e
pou o en ontrada nos editores omuns. Alem disso, possui diversos modulos (programados em ema s-lisp),
que permitem modos de trabalho espe  os, hamados helpers. Existem os modos de programa a~o (para as
linguagens C, C++, Java, Lisp, Fortran, Pas al, et ), modos para edi a~o de textos para LATEX , HTML, et ,
alem de modos que fun ionam omo programas, omo o proprio help, o leitor de grupos de not ias gnus, et .
Pode-se tambem exe utar um shell dentro do Ema s, sendo portanto um programa bastante independente
para o desenvolvimento da maioria de apli a o~es que utilizam arquivos textos.

8.2 In io no programa


Para ini iar o programa basta utilizar o omando ema s, ou ini ia-lo por algum menu do sistema de
janela em uso. Algumas op o~es s~ao uteis omo argumento do omando. Com a op a~o -font NOME ou
-fn NOME pode-se espe i ar a fonte a ser utilizada. A se a~o 5.1.6 expli a omo en ontrar os nomes das
fontes disponveis no X Window. Tambem pode-se de nir o tamanho da tela e a posi a~o, om a op a~o
-geometry GEOM, em que GEOM e a espe i a a~o de geometria do X Window, expli ado na se a~o 5.1.4 (entretanto, no Ema s o tamanho deve ser espe i ado em numero de ara teres). Tambem pode-se de nir a or
do texto (-fg COR), a or do fundo (-bg COR), e a or do ursos (- r COR). As ores s~ao as disponveis no
sistema (se a~o 5.1.5). Para for ar o uso do Ema s em um terminal texto (no X Window ), utiliza-se a op a~o
-nw.
79

CAPITULO 8. EMACS

80

8.3 A apar^en ia do Ema s


O Ema s no X Window pode ser visto na gura 8.1 ( om numero de linhas diminudo). O programa sendo
exe utado em um terminal texto tem exatamente a mesma apar^en ia, mas o fun ionamento do menu om
o mouse e prejudi ado. Pode-se ver na gura a barra de menu, que apare e no topo da tela. Essa barra
ofere e fun ionalidade basi a, e quase sempre os omandos est~ao tambem om uma indi a a~o das te las de
atalho. Essa barra e din^ami a, isto e, ao mudarmos o modo do Ema s, a barra pode ser alterada, em geral
re ebendo novas fun ionalidades.

Figura 8.1: Ema s


Abaixo da tela, ha uma linha om as ores tro adas (nesse aso, fundo negro e texto bran o), que e
hamada linha de modo. Essa linha pode onter varias informa o~es do bu er em uso. As informa o~es
padr~oes dessa linha s~ao o nome do bu er logo no in io da linha, o modo de opera a~o, o numero da linha
em que o ursos se en ontra e a quantidade de texto que esta sendo visualizada. Essa quantidade pode ser
a palavra All, se todo o texto esta sendo visualizado, Top se o topo do texto esta sendo visualizado, Bot,
se o m do texto esta sendo visualizado, ou a por entagem de texto que apare e, aso seja entre o topo e o
nal do bu er.
O modo de opera a~o pode ser dividido em duas partes: o modo prin ipal e o modo se undario. No
aso da gura 8.1, apenas apare e o modo prin ipal. No ome o da linha de modo, apare e tambem os
ara teres -:** ou -:--. O primeiro indi a que ha altera o~es no bu er desde a ultima grava a~o feita no
arquivo. O segundo indi a o oposto, e sempre apare e apos a grava a~o ser feita.
Abaixo da linha de modo, ha uma linha em bran o, mas que e muito utilizada pelo programa. Esse
espa o e hamado de minibu er, e normalmente e usado para mensagens ao usuario ou para intera a~o om o
usuario em determinados omandos. Esse bu er apenas a ativado quando algum programa o faz. Portanto,
quando se tenta levar o ursor om o mouse para esse bu er e este n~ao esta ativo, uma mensagem de erro
apare e no mesmo.

8.4 Comandos e atalhos


O Ema s disponibiliza a maioria de seus omandos atraves do minibu er, alem de asso iar varios onjuntos
de te las omo atalhos para varios omandos importantes. Alem disso, algumas te las s~ao essen iais para
a movimenta a~o do ursos no texto. Vamos primeiramente espe i ar o padr~ao de representa a~o desses
atalhos. As te las importantes s~ao a te la de es ape, es , a te la ontrol, que sera indi ada por C. A te la es
no Ema s equivale a te la hamada meta, que dependendo da on gura a~o do te lado, pode estar asso iada
a te la alt. Portanto vamos nos referen iar a esse meta por M, que equivale a digitar es (e soltar) ou a

81

8.4. COMANDOS E ATALHOS

digitar alt, segurando-a. O ara tere - sera utilizado para representar a liga a~o das te las, por exemplo,
C- signi a digitar ontrol e juntas ( omo as te las ontrol e alt n~ao t^em efeito pressionadas sem outra
te la, a obvio que deve-se pressionar ontrol e depois , sem soltar a te la ontrol ). Nesse aso, M pode ser
substitudo por es , mas devendo-se soltar a te la es antes de pressionar a outra te la (o Ema s assumira o
mesmo efeito de meta ).
Para a essar o minibu er om o intuito de digitar um omando, deve-se utilizar a sequ^en ia M-x. O
minibu er ontera os ara teres M-x e o ursos sera movido para esse bu er a espera de um omando.
A te la enter naliza a opera a~o, e o Ema s tentara lo alizar o omando digitado. Caso n~ao en ontre,
ompletara o minibu er om uma mensagem de erro ([No Mat h), e so voltara ao bu er atual se digitado
um omando existente ou se a opera a~o for an elada, atraves da sequ^en ia C-g. No minibu er as te las tab
e a barra de espa o t^em o mesmo efeito: o programa pro urara a palavra que omplete o que ja foi digitado.
Portanto, n~ao existem omandos om espa o em bran o no Ema s. Alem disso, se ha mais de uma op a~o
para ompletar a palavra, um novo bu er e aberto, e uma lista das possveis op o~es e mostrada (portanto,
M-x TAB mostrara todos os omandos existentes).

8.4.1 Movimenta ~ao no texto


As setas do te lado fun ionam para movimentar o ursos, sempre de uma oluna ou uma linha. Entretanto, tambem ha te las de atalho para a mesma opera a~o, omo podemos ver na tabela 8.1.
Atalho

Te la

"
#

C-p
C-n
C-b
C-f

Fun ~ao

move ursor para


move ursor para
move ursor para
move ursor para

linha anterior (previous)


proxima linha (next)
ara tere anterior (ba kward)
proximo ara tere (f orward)

Tabela 8.1: Atalhos equivalentes as setas no Ema s


Tambem ha outros atalhos para movimenta a~o do ursos. Podemos movimentar o ursor para o ome o
ou m da linha, de palavra em palavra, ou ainda de senten a em senten a. A tabela 8.2 resume esses atalhos.
Atalho
M-a
M-e
M-b
M-f
C-a
C-e
M-{
M-}

Sin^onimo
ESC
ESC
ESC
ESC

|
|

a
e
b
f

ESC {
ESC }

Fun ~ao

move ursor para senten a anterior


move ursor para proxima senten a
move ursor para palavra anterior
move ursor para proxima palavra
move ursor para o ome o da linha
move ursor para o m da linha
move ursor para paragrafo anterior
move ursor para proximo paragrafo

Tabela 8.2: Atalhos uteis na movimenta a~o do ursor


As te las page down e page up ontem tambem atalhos, que s~ao, respe tivamente, C-v e M-v. Os atalhos
M-> e M-< s~ao equivalentes as te las end e home. Entretanto, esse omportamento das te las home e end,

de irem para o in io e m do arquivo, respe tivamente, pode ser alterado, omo e nas redes do IME. Nesse
aso, essas te las est~ao asso iadas aos omandos beginning-of-line e end-of-line, e as sequ^en ias C-HOME e
C-END fun ionam omo in io e m do bu er. Ha tambem o omando goto-line, que pode ser utilizado para
se movimentar para determinada linha (atraves da sequ^en ia M-x goto-line n RETURN).

CAPITULO 8. EMACS

82

8.4.2 Arquivos e ajuda


Tambem essen ial s~ao os omandos para abertura, grava a~o, e manipula o~a de arquivos, e os omandos
de ajuda, para es lare imento de duvidas. O Ema s pode trabalhar om diversos bu ers ao mesmo tempo,
n~ao ne essariamente todos eles asso iados a arquivos. Varios dos bu ers em uso s~ao mensagens do Ema s,
ou espa os auxiliares para algum omando. Geralmente esses bu ers t^em seu nome entre ara teres *, omo
tambem o bu er s rat h, que e o espa o ini ial em bran o riado na ini ializa a~o do Ema s.
Para a ria a~o ou tro a de bu ers utiliza-se o omando C-x b. Ao digitar esse omando, o minibu er
sugere um bu er padr~ao a ser arregado. Pode-se digitar o nome de qualquer bu er existente ou ainda riar
um bu er novo, bastando para isso digitar um nome inexistente na lista de bu ers. A te la tab nesse aso
faz o Ema s gerar uma lista de possveis nomes que ompletam o que ja esta digitado.
Para gravarmos um bu er em um arquivo, basta usarmos o omando C-x C-w. Esse omando tambem
fun iona para bu ers que est~ao asso iados a arquivos. Nesse aso, pode-se gravar o texto om outro nome.
Para abertura de arquivos existentes em dis o, utiliza-se o omando C-x C-f. Caso o arquivo n~ao exista, um
novo bu er e riado om o nome dado. Para gravar o bu er ja om o nome atual (asso iado a um arquivo),
basta utilizar o omando C- C-s. Outro omando bastante util, o C-x i, permite a inser a~o de um arquivo
no bu er em uso. Para terminar a exe u a~o do Ema s, basta utilizar o omando C-x C- . Nesse aso, o
programa perguntara pela grava a~o de ada bu er que ontem altera o~es n~ao armazenadas em arquivo. Para
apenas apagar o bu er em uso, utiliza-se o omando kill-this-bu er, ou o atalho C-x k.
O omando C-h faz om que o Ema s entre no modo de ajuda. Ha diversas op o~es, que podem ser
mostradas por C-h ?, mas as prin ipais s~ao C-h i para ini ializar o info no Ema s, e a op a~o C-h t, que
ini ializa um tutorial do Ema s. A tabela 8.3 resume os omandos dessa se a~o.
Atalho

C-x
C-x
C-x
C-x
C-x
C-x
C-h
C-h
C-h

C-f
i
b
k
C-s
C-w
i
t

(M-x) Comando
nd- le
insert- le
swit h-to-bu er
kill-this-bu er
save-bu er
write- le
help- ommand
info-goto-ema s- ommand-node
help-with-tutorial

Fun ~ao

L^e um arquivo em dis o para um novo bu er


L^e um arquivo em dis o e o insere no bu er
Tro a de bu er ou ria um novo
Apaga o bu er atual
Grava o bu er atual em dis o
Grava o bu er atual em arquivo espe i ado
Sistema de ajuda do Ema s
Info no Ema s
Tutorial do Ema s

Tabela 8.3: Comandos para manipula a~o de arquivos

8.4.3 Edi ~ao de texto


Dois omandos basi os auxiliam na edi a~o de texto. O omando kill-line, ou o atalho C-k, remove uma
linha inteira a partir da posi a~o do ursor. Entretanto, o onteudo removido e armazenado no bu er do
X Window, podendo ser resgatada utilizando o atalho C-y (ou shift + insert ), que equivale ao omando yank.
O omando M-d e o mesmo que kill-word, e M-DEL o mesmo que ba kward-kill-word. Respe tivamente
os omandos apagam a proxima palavra e a palavra anterior, guardando o onteudo no bu er do X Window.
Para opiar regi~oes sem a ne essidade de apaga-las primeiramente, basta utilizar o mouse, sele ionando
a regi~ao desejada. No momento que se sele iona uma regi~ao, esse onteudo ja e opiado para o bu er (esse
fun ionamento e generalizado para o X Window, ex eto alguns asos). Pode utilizar bot~ao do meio do mouse
para obter o mesmo efeito do omando yank. Entretanto, o texto sera inserido no ponteiro do mouse, e n~ao
do ursor do Ema s.
Outra ferramenta para sele a~o de textos (e uso do kill ) e o mar a a~o do texto. Atraves do omando
C-SPACE ou C-, de ni-se uma mar a na posi a~o do ursor do programa. Pode-se ent~ao movimentar o

~
8.5. MODOS DE OPERAC
 AO

83

ursor para outra posi a~o e todo o onteudo entre a mar a e a posi a~o do ursor sera apagado quando
utilizado o omando C-w ou shift + delete ( omando kill-region). Para a veri a a~o da mar a, o omando
C-x C-x e u
til, pois alterna a posi a~o do ursor entre a atual ( hamada tambem de point ) e a posi a~o da
mar a. A tabela 8.4 mostra um resumo.
Atalho

C-k
M-d
M-DEL
C-w ou shift + delete
C-SPACE ou C-
C-y ou shift + insert
C-x C-x

(M-x) Comando
kill-line
kill-word
ba kward-kill-word
kill-region
set-mark- ommand
yank

Fun ~ao

Apaga do ursor ao m da linha


Apaga proxima palavra
Apaga palavra anterior
Apaga regi~ao ( mouse ou mar a)
Mar a in io ou m de uma regi~ao
Insere o texto apagado ou sele ionado
mais re ente
ex hange-point-and-mark Move ursor para mar a e para posi a~o
anterior

Tabela 8.4: Comandos e atalhos para opia de texto


Na edi a~o de texto, muitas vezes queremos desfazer uma a a~o. Para isso existe o omando undo, que
pode ser a ionado pelos atalhos C- ou C-/. Outro omando util e o ll-paragraph que pode ser a ionado
pelo atalho M-q, e que identa um paragrafo de a ordo om o modo utilizado (veja se a~o 8.5.4).

8.5 Modos de opera ~ao


A grande vantagem do Ema s e a apa idade de expans~ao e versatilidade atraves dos modulos disponveis.
Veremos nessa se a~o alguns desses modulo que hamamos de helpers, que ajudam a integrar o Ema s a outros
programas, ou apenas auxiliam na edi a~o de textos espe  os, omo arquivos de HTML.

8.5.1 O pa ote Au -TEX

Apesar de ja ter um modo de LATEX in ludo na distribui a~o do Ema s, um pa ote bem mais ompleto
e interessante pode ser instalado, hamado Au -TEX. Para deixar esse helper omo padr~ao, nas redes, basta
a res entar a linha (setq want-au tex t) no arquivo .ema s de seu diretorio raiz. Ao abrir um arquivo
om a extens~ao .tex, o modo de exe u a~o sera automati amente alterado para o modo de LATEX. Tambem
pode-se mudar manualmente o modo pelo omando M-x latex-mode ou M-x LaTeX-mode.
A primeira altera a~o que o orre ao arregar o modulo Au -TEX e a inser a~o de algumas op o~es na barra
de menu. Um menu om o ttulo LaTeX e inserido, e ontem omandos para auxiliar a edi a~o do texto. O
menu inserido om o ttulo Command ontem omandos uteis para a exe u a~o de programas asso iados, tais
omo o proprio LATEX, o veri ador de ortogra a (veja se a~o 8.6.2), et .
Como em arquivos fontes do LATEX muitas vezes apare e a ne essidade de se digitar haves ({ e }), o
omando TeX-insert-bra es, a essvel pelo atalho C- {, insere um par de haves e posi iona o ursos
entre ambas.
Os prin ipais omandos que s~ao tambem inseridos no menu LaTeX s~ao os omandos para inserir ambientes do LATEX, omandos para fontes, se o~es e algumas ma ros. Por exemplo, o omando C- C-e insere um
ambiente, posi ionando o ursos entre o begin e o end. Varios ambientes s~ao disponibilizados, e o fun ionamento da te la tab e o mesmo que para outros omandos do Ema s. Tambem pode-se inserir omandos
do LATEX para fontes, pelo omando C- C-f seguido de algum omplemento, que pode ser visualizado pela
te la ? (C- C-f ?). O omando C- C-s insere omandos de se o~es, omo se tion, hapter, et . O atalho
C- RETURN insere uma ma ro, podendo ser de uma lista pre-de nida, ou qualquer palavra, sendo que neste
aso, apenas sera inserida a palavra om as haves ne essarias (assumindo-se que e um omando de um

CAPITULO 8. EMACS

84

argumento). A grande vantagem desses omandos e que eles s~ao interativos, e permitem ja a inser a~o de
ambiente e outras ma ros om seus par^ametros de nidos, pois soli itam ao usuario o valor desses par^ametros.
A tabela 8.5 nos resume os omandos mais interessantes.
Atalho

C- C-f
C- C-f
C- C-f
C- C-f
C- C-f
C- C-f
C- C-f
C- C-f
C- C-f
C- C-e
C- C-s
C- RET
M-RET
C- {

C-e
C-b
C-i
C-t
C-f
C-l
C-
C-r

(M-x) Comando
TeX-font
TeX-font RET C-e
TeX-font RET C-b
TeX-font RET C-i
TeX-font RET C-t
TeX-font RET C-f
TeX-font RET C-l
TeX-font RET C-
TeX-font RET C-
LaTeX-environment
LaTeX-se tion
TeX-insert-ma ro
LaTeX-insert-item
TeX-insert-bra es

Fun ~ao

Espera um omplemento para a fonte


Insere um \emph{}
Insere um \textbf{}
Insere um \textit{}
Insere um \texttt{}
Insere um \textsf{}
Insere um \textsl{}
Insere um \texts {}
Insere um \textrm{}
Insere um ambiente
Insere uma se a~o
Insere uma ma ro
Insere um \item
Insere pares de haves

Tabela 8.5: Comandos uteis do Au -TEX

8.5.2 Os modos C e C++


Os modos de C e C++ do Ema s s~ao bastantes semelhantes, om algumas diferen as essen iais para
a olora a~o do modulo Font Lo k (se a~o 8.5.5). A prin ipal ara tersti a desses modulos e a identa a~o do
programa, feita automati amente. Alguns omandos tambem for am a identa a~o, prin ipalmente uteis para
identar uma regi~ao apos a altera a~o de algum tre ho de odigo. O omando e indent-region (M-C-\).
O modo de programa a~o C e C++ tambem ontem o omando C- C- , que omenta toda uma regi~ao
sele ionada, utilizando os ara teres orretos para a linguagem. Alem disso, outro omando, C- C-\ insere
a barra invertida ao nal das linhas sele ionadas.
Algumas opera o~es omuns do Ema s, omo por exemplo o atalho M-q, que rearranja um paragrafo, pode
ter omportamento diferente nos modos de programa a~o, para por exemplo, alem de rearranjar um paragrafo
de omentario, retirar os ara teres * ex edentes.
Outra ara tersti a dos modos C e C++ e a possibilidade de tro a de estilo de identa a~o, atraves do
atalho C- . ou do omando -set-style. Varios estilos s~ao disponibilizados, e para visualiza-los basta
digitar a te la tab.
Outra ara tersti a interessante dos modos de programa a~o e a possibilidade de olora a~o diferen iada
da fonte de a ordo om palavras reservadas, express~oes espe iais na linguagem (de nidas por express~oes
regulares nos modulos). Para isso o modo font-lo k deve ser adi ionado ao modo C ou C++ (veja se a~o
8.5.5).

8.5.3 O pa ote JDE


O modo padr~ao de Java do Ema s e prati amente igual aos modos de C e C++. Entretanto, ha na
rede um pa ote instalado hamado JDE (Java Development Environment ). Esse modulo ofere e mais op o~es
de integra a~o para o desenvolvimento de programas em Java. Para torna-lo padr~ao, deve-se adi ionar as
linhas:
(setq want-jde t)


8.6. MAIS FERRAMENTAS UTEIS

85

(require 'jde)

no arquivo .ema s do diretorio raiz.

8.5.4 Preen himento automati o


Um dos modos se undarios disponveis no Ema s e o modo Fill. Esse modo pode ser ativado pelo omando
want-auto-fill t) no
arquivo de on gura a~o. Note que esse modo e se undario, portanto fun iona em onjunto om outros modos
prin ipais. Nesse modo, basi amente as linhas s~ao quebradas em determinado numero de olunas (o padr~ao
geralmente e 75 olunas).

auto- ll-mode, ou ainda ser arregado por padr~ao, adi ionando-se a linha (setq

8.5.5 Colora ~ao auxiliar


O pa ote Font Lo k e o responsavel pela olora a~o das palavras de a ordo om a de ni a~o do modo
prin ipal. A utiliza a~o desse pa ote e de nida omo padr~ao na rede. Entretanto, se o font-lo k n~ao esta
ativado, pode-se ativa-lo atraves do omando M-x font-lo k-mode. Esse omando tambem desativa a
olora a~o aso esteja ativada.

8.6 Mais ferramentas uteis


O Ema s e um programa versatil e extenso, sendo impossvel itarmos todos os tens importantes nesse
aptulo. Uma leitura da ajuda do Ema s, bem omo a do tutorial ou de um bom livro (veja [GNU Ema s),
e bastante util para domnio do programa. Vamos omentar mais duas ferramentas basi as para a edi a~o de
texto, que e a bus a e tro a de palavras, e a orre a~o ortogra a.

8.6.1 Bus a e tro a


Dois tipos de bus a (e onsequentemente de tro a) s~ao disponibilizados. A bus a omum apenas ompara
palavras, sendo util para a maioria das ne essidades. Mas tambem pode-se bus ar um onjunto de palavras,
espe i ado por uma express~ao regular ( om algumas diferen as do padr~ao visto na se a~o 4.4).

Bus a padr~ao (in remental e simples)


A bus a mais omum utilizada no Ema s e a bus a in remental, isto e, a ada ara tere digitado, o
programa ja bus a a primeira palavra que ontem o texto digitado omo fator. Essa bus a pode ser a ionada
om o omando isear h-forward, ou pelo atalho C-s. A bus a sempre e feita a partir da posi a~o do ursor
para frente. Cada vez pressionado o atalho C-s, o programa realiza a bus a pela mesma palavra ja realizada.
Apos o nal do bu er, a bus a e ini iada no in io do texto. O omando isear h-ba kward, ou o atalho C-r
realiza a mesma bus a, mas de tras para frente. A te la return naliza a bus a. O omando C-g tambem
an ela a bus a. Entretanto, se pressionado em um momento que a bus a falhou, faz om que o minibu er
volte para a palavra a ser bus ada. Deve-se ent~ao pressionar uma segunda vez, para nalizar a opera a~o.
Para se realizar uma bus a simples, ou seja, primeiramente digitar toda o texto a ser pro urado e depois
realizar a bus a, basta digitar return apos o omando de bus a (C-s). Portanto, C-s RET palavra RET e C-r
RET palavra RET realizam bus as simples para frente e para tras. A tabela 8.6 resume esses atalhos.

Bus a por express~oes regulares


Tambem e possvel no Ema s realizar bus as por express~oes regulares. As express~oes regulares do Ema s
s~ao de nidas da mesma maneira que as express~oes regulares do UNIX.

CAPITULO 8. EMACS

86

Para realizar as opera o~es de bus a om express~oes regulares, basta a res entar o meta antes dos omandos de bus a omum. Por exemplo, para a bus a, deve-se utilizar o atalho M-C-s. A tabela 8.6 resume esses
atalhos tambem.
Atalho

C-s
C-r
C-g
RET
C-s C-s
C-s RET palavra RET

(M-x) Comando
isear h-forward
isear h-ba kward
keyboard-quit
|
|
isear h-forward + enter

C-r RET palavra RET

isear h-ba kward + enter

M-C-s

isear h-forward-regexp

M-C-r

isear h-ba kward-regexp

M-C-s RET

re-sear h-forward

M-C-r RET

re-sear h-ba kward

Fun ~ao

Bus a in remental para frente


Bus a in remental para tras
Can ela opera a~o
Termina a bus a
Repete ultima bus a
Realiza uma bus a simples (n~ao
in remental) para frente
Realiza uma bus a simples (n~ao
in remental) para tras
Bus a in remental por express~ao
regular para frente
Bus a in remental por express~ao
regular para tras
Bus a n~ao in remental por express~ao regular para frente
Bus a n~ao in remental por express~ao regular para tras

Tabela 8.6: Op o~es para bus a no Ema s

Tro a padr~ao e por express~ao regular


A tro a de texto pode ser realizada atraves do omando query-repla e, ou pelo atalho M-%. Ao ini iar
o omando, deve-se digitar a palavra pro urar e ent~ao a nova palavra (no minibu er ). A ada palavra
en ontrada, pode-se tro ar ( om y ou a barra de espa o), n~ao tro ar ( om n ou a te la del ), apenas substituir
a palavra e sair ( om o ara tere .), substituir mas esperar um omando y antes de avan ar ( om o ara tere
,), ou ainda substituir tudo, sem on rma o~es ( om o ara tere !). O ara tere q ou a te la enter (RET),
naliza a opera a~o.
Os omandos a ima s~ao id^enti os para a bus a por express~ao regular. Entretanto, para ini ia-la, utiliza-se
o omando query-repla e-regexp, ou o atalho M-C-%. Em ambos tipos de tro a, o ara tere ? disponibiliza
outro bu er om os omandos a eitos na tro a. A tabela 8.7 resume esses omandos.
Atalho
M-%
M-C-%

espa o ou y
del ou n

.
,
!
RET ou q

(M-x) Comando
Fun ~ao
query-repla e
Tro a de palavras
query-repla e-regexp Tro a de palavras por express~ao regular
|
Tro a a inst^an ia e avan a
|
N~ao tro a a inst^an ia e avan a
|
Tro a inst^an ia e para exe u a~o
|
Tro a inst^an ia e n~ao avan a (y para avan ar)
|
Tro a todas palavras en ontradas sem on rma a~o
|
Finaliza opera a~o
Tabela 8.7: Op o~es para tro a no Ema s


8.6. MAIS FERRAMENTAS UTEIS

87

8.6.2 Corre ~ao ortogra a


Um programa existente no UNIX e bastante util e o ispell. Veremos aqui o ispell integrado ao Ema s, mas
vale ressaltar que esse programa pode ser exe utado em qualquer shell, para arquivos textos omuns. Para
mais informa o~es, leia a pagina de manual ou o info do omando.
Pode-se exe utar o veri ador ortogra o para apenas uma palavra, para o bu er, ou apenas para uma
regi~ao. Os omandos asso iados s~ao respe tivamente ispell-word, ispell-bu er e ispell-region. Quando
exe utado, o programa veri a se ada palavra existe no di ionario em uso. Caso a palavra n~ao exista, o
programa tenta sugerir substitui o~es. Normalmente, no minibu er en ontra-se informa o~es (in lusive omo
obter a ajuda interativa), e o ursor a espera de uma das op o~es. A barra de espa o ignora a palavra errada,
avan ando a he agem no texto. As sugest~oes de substitui a~o en ontram-se em um pequeno bu er na parte
superior, e ada palavra sugerida esta asso iada a uma te la, que ao ser digitada, ausa a tro a da palavra
errada no texto.
O omando ispell-word tem o atalho M-%. Para palavras, basta o ursor estar posi ionado sobre a mesma.
Para regi~oes, ha ne essidade de sele ionar a regi~ao om o mouse ou mar a-la om set-mark- ommand.
Outro omando importante, e o ispell- hange-di tionary. Pode-se ter mais de um di ionario instalado, de diferentes lnguas. Esse omando permite a altera a~o do di ionario. Para listagem dos di ionarios
disponveis, basta digitar a te la tab ou a barra de espa o.

88

CAPITULO 8. EMACS

Cap
tulo 9

Pro essamento de texto | LATEX


O uso de editores de texto do tipo WYSIWYG, omo Mi rosoft Word, ou semelhantes, prati amente
dispensa expli a o~es avan adas ou entendimento profundo de ara tersti as do programa. Entretanto, existem outras maneiras de se produzir um arquivo om a nalidade de impress~ao. Uma delas, e hamada de
pro essamento de texto, e vamos estudar nesse aptulo um programa bastante difundido entre usuarios
UNIX, hamado LATEX.

9.1 Edi ~ao e pro essamento de texto


Normalmente refere-se a edi a~o de textos omo o ato de alterar um texto diretamente, om algum
programa espe  o, omo Ema s, ou Mi rosoft Word. Este ofere e diversas fontes e ferramentas para a
formata a~o do texto nal. Entretanto, tambem podemos pro essar um texto, utilizando um programa, que
re onhe e omandos espe  os para formata a~o, omo uma linguagem de programa a~o. De fato, o que
aqui estudaremos, ontem ate omandos que permitem eventos ondi ionais, omo a estrutura if/then/else
existente nas linguagens de programa a~o. Portanto, no pro essamento de textos, utilizamos um editor de
textos para riar um arquivo espe ial, que ao ser pro essado por um programa, gera um arquivo nal para
 o aso dos programas TEX e LATEX.
impress~ao. E
Uma das maiores vantagens de se utilizar um pro essador de textos, e a possibilidade de de nir omandos,
e portanto fa ilmente rede nir padr~oes no texto. Por exemplo, quando es revemos smbolos matemati os
rela ionados a uma de ni a~o, podemos om um pro essador de textos de nir um omando rela ionado aquela
de ni a~o. Se alteramos esse omando, alteramos todos smbolos presentes no texto, rela ionados om tal
de ni a~o. Em um editor de textos, pre isamos rees rever todos os smbolos. Ou ainda, se de nimos um
omando para enfatizar palavras om itali o, e desejamos tro ar essa ^enfase para um sublinhado, basta
rede nirmos o omando de ^enfase.

9.2 Os pro essadores TEX e LATEX


O TEX foi riado por Donald E. Knuth, em 1977, para a gera a~o de livros, prin ipalmente om fa ilidades
na gera a~o de smbolos matemati os. Apesar de bastante exvel e versatil, a linguagem do TEX e um pou o
\rusti a", e o usuario tem que de nir ada detalhe do seu do umento, omo tamanho da pagina, margens,
espa amento, et . Em 1985, Leslie Lamport riou varias de ni o~es de ma ros ( onjuntos de omandos
reunidos em um so) para o TEX, de nindo tipos de textos, e varios \ambientes" para formata a~o do texto.
Lamport brin ou om seu sobrenome e om a lngua espanhola, e olo ou o nome de LATEX em seu programa.
Portanto, o LATEX nada mais e que uma interfa e para o TEX, mas obviamente, mais simples de ser utilizada.
Hoje, a vers~ao atual do LATEX e hamada de LATEX2". A vers~ao antiga, em que se en ontra varias
diferen as, e a LATEX 2.09. Ha um projeto em andamento, para a ria a~o do LATEX3, que entretanto tera um
89

CAPITULO 9. PROCESSAMENTO DE TEXTO | LATEX

90

odigo rees rito, visando maior e i^en ia e versatilidade.

9.3 Basi o do LATEX

O pro essamento de texto em LATEX e possvel atraves de omandos espe i os em arquivo de texto puro.
Para diferen ia a~o de palavras e omandos, alem de outras utilidades, alguns ara teres t^em signi ado
espe ial para o LATEX. Esses ara teres s~ao:
# $ % & ~ _ ^ \ { }

Veremos o signi ado de ada ara tere. O ara tere \ e o prin ipal ara tere espe ial, ja que pre ede
todos os omandos do LATEX. Para a maioria dos ara teres espe iais (ex eto o ara tere \), basta utilizar o
ara tere \ para se referir ao ara tere literalmente. Por exemplo, \$ em um texto a ser pro essado, imprime
o ara tere $ no texto.
Outro detalhe importante e que em LATEX n~ao se utiliza o ara tere ". Para aspas duplas, se utiliza ``
e '', referindo-se a abertura e fe hamento das aspas. Vale ressaltar que o programa Ema s em algum modo
proprio para a edi a~o de arquivos do LATEX, automati amente onverte o ara tere " digitado nas aspas
orretas.
O TEXtambem onsidera tr^es tipos de separadores. O hfen, que normalmente apare e entre palavras,
pode ser olo ado pelo ara tere -. Tambem ha um separador maior, para por exemplo separar dois numeros
(exemplo, 2{9), que e olo ado por --. O tra o de pontua a~o, onhe ido por travess~ao, pode ser espe i ado
por ---: | Usa-se travess~ao para dialogos.

9.3.1 Fun ionamento dos ara teres espe iais

O ara tere % no LATEX e utilizado para inser a~o de omentarios no arquivo. Qualquer adeia de ara teres
a partir do % e ate o nal de linha sera ignorada no pro essamento do texto.
O ara tere # e utilizado nas de ni o~es de omando (ou rede ni o~es). Utiliza-se o # para se referir a um
par^ametro do omando, de maneira pare ida om o $ no bash.
Algumas vezes es revemos palavras que n~ao queremos que sejam separadas entre uma linha e outra. Para
isso, o ara tere ~ e de nido. O ara tere ~ equivale a um espa o, mas que n~ao pode ser quebrado entre
linhas. Por exemplo, se se deseja es rever \Sra. Pinguim", mas n~ao se deseja que a palavra \Sra." seja
separada de \Pinguim", deve-se digitar no arquivo Sra.~ Pinguim.
Os ara teres $, ^ e s~ao utilizados para o modo matemati o, que sera visto na se a~o 9.7.1.
Os ara teres { e } s~ao utilizados nos omandos que a eitam par^ametros, e tambem para agrupamento
^
( omo em aritmeti a). O texto {\em ^Enfase {\bf om negrito} e sem} produz a sada: Enfase
om
negrito e sem.
Nos ambientes que permitem a onstru a~o de tabelas, o ara tere & e o separador de olunas. Veremos
seu uso em 9.7.2.

9.3.2 A estrutura do arquivo .tex

O arquivo para pro essamento do LATEX onsiste em duas partes prin ipais. O pre^ambulo, em que se
de ne o tipo de do umento, pa otes a serem utilzados, omandos, et , e o do umento em si, em que o texto
a ser pro essado e digitado. Todo o texto anterior ao omando \begin{do ument} forma o pre^ambulo. O
texto entre \begin{do ument} e \end{do ument} sera pro essado. Qualquer texto apos o \end{do ument}
e ignorado pelo LATEX.
No LATEX, lasses de do umentos s~ao de nidas, portanto o primeiro omando do arquivo deve ser
\do ument lass{ lasse }. Veja mais sobre as lasses e sobre esse omando na se a~o 9.3.3.
Pode-se arregar pa otes adi ionais, om o omando \usepa kage{pa ote }, apos a sele a~o da lasse de
do umento. A se a~o 9.3.4 detalha o uso de pa otes no LATEX.


9.3. BASICO
DO LATEX

91

No pre^ambulo tambem pode-se de nir omandos novos (um omando no LATEX e o mesmo que uma
ma ro para o TEX), rede nir variaveis ( omo as de margem e tamanho do texto), e utilizar alguns omandos
espe  os do pre^ambulo.
A gura 9.1 exempli a a estrutura dos arquivos de LATEX.
\do ument lass[op o~es{ lasse}
\usepa kage{pa ote1,pa ote2}
\usepa kage[op
o~es{pa ote3}
\setlength{\variavel}{valor} % omentarios
\begin{do ument}
Texto
.
.
.
\end{do ument}

Figura 9.1: Estrutura dos arquivos do LATEX

9.3.3 Classes de do umentos


S~ao de nidas in o lasses basi as no LATEX: book, report, arti le, letter e slides. As tr^es primeiras s~ao
bastante pare idas, pois t^em o mesmo proposito, que e a omposi a~o de textos grandes. A lasse letter e
espe  a para ria a~o de artas, e a lasse slides espe  a para ria a~o de paginas para apresenta a~o.
A sele a~o da lasse e feita pelo omando \do ument lass. O argumento obrigatorio e o nome da lasse.
Entretanto, pode-se utilizar algumas op o~es, que s~ao fa ultativas, atraves dos ol hetes ([ e ). As prin ipais
op o~es disponveis s~ao:
11pt Espe i a fontes 10% maiores que o padr~ao.
12pt Espe i a fontes 20% maiores que o padr~ao.
twoside O texto sera formatado para ser impresso nos dois lados do papel. Na lasse book essa op a~o ja

esta sele ionada.

 o padr~ao para arti le e report.


oneside O oposto do anterior. E
a4paper De ne o tamanho do papel (e margens) para folhas no padr~ao A4. O padr~ao e letterpaper.
lands ape Tro a os valores de omprimento e largura para impress~ao em paisagem do texto.
one olumn Padr~ao em todas as lasses, uma oluna de texto no do umento.
two olumn Formata o texto em duas olunas.

As op o~es devem ser separadas por vrgulas. Por exemplo, para optar por papel A4 e fonte maior, devemos
utilizar \do ument lass[12pt,a4paper{arti le}. A diferen a basi a entre as lasses e a de ni a~o do
rodape e abe alhos, alem de alguns par^ametros. Tambem e diferen iada a divis~ao do texto (se a~o 9.6).

CAPITULO 9. PROCESSAMENTO DE TEXTO | LATEX

92

9.3.4 Pa otes adi ionais


Pode-se tambem arregar pa otes adi ionais, que nada mais s~ao que um onjunto de omandos de nidos
para o LATEX (es ritos em TEX ou LATEX). O omando \usepa kage tambem re ebe um argumento obrigatorio entre as haves, que e o nome do pa ote (ou uma lista de nomes separados por vrgula). No aso de
arregar um pa ote em um omando pode-se espe i ar op o~es aso o pa ote a eite. A variedade de pa otes
existentes e bem grande, mesmo nas distribui o~es do Linux (ha uma variedade maior ainda nos espelhos da
CTAN). Os prin ipais:
isolatin1 Realiza uma asso ia a~o entre os ara teres no padr~ao ISO-8859 Latin-1 e os omandos orretos
para ara teres a entuados em TEX.
babel O pa ote babel permite que as fa ilidades ofere idas pelo LATEX sejam utilizadas por outras lnguas.
O mais interessante aqui no Brasil e o uso da op a~o brazil (ou brazilian ou portuges). S~ao tro ados
para o portugu^es os nomes que o LATEX adi iona automati amente, alem do formato de data, et .
graphi s Permite a inse a~o de gra os no do umento.
indentfirst Como padr~ao o TEX n~ao identa os paragrafos que se ini iam depois de ttulos de se o~es e

aptulos (parti o~es). Com esse pa ote, uma variavel do TEX e rede nida, e todos os paragrafos em
in io de parti o~es ser~ao identados.

9.4 Formata ~ao do texto


Pode-se usar diferentes estilos de fonte para se es rever um texto. No LATEX, a fonte utilizada tem
tr^es qualidades: forma (shape ), espessura (series ) e famlia (family ). Cada uma dessas qualidades possuem
possibilidades de varia a~o, omo o itali o na forma, o negrito na espessura, e o famlia sans serif. Ha duas
maneiras de se alterar o estilo do texto: om omando ou de lara a~o. Um omando re ebe o texto omo
par^ametro. A de lara a~o e um omando sem par^ametro, e que ativa a qualidade dentro de um es opo.
Deve-se portanto utilizar haves om de lara o~es para limitar a atua a~o da qualidade. A tabela 9.1 resume
esses omandos e de lara o~es.
Comando

De lara ~ao

\textup
\textit
\textsl
\texts
\textmd
\textbf
\textrm
\textsf
\texttt

\upshape
\itshape
\slshape
\s shape
\mdseries
\bfseries
\rmfamily
\sffamily
\ttfamily

Exemplo
Forma padr~ao

Forma de enfatizar

Slanted: quase itali o

s ulas menores
Small aps, minu
Espessura padr~ao

Famoso negrito (boldfa e)


Famlia padr~ao
Sem detalhes (sans serif)

Maquina de es rever (typewriter)

Tabela 9.1: Estilos no LATEX


Por exemplo, para obtermos o texto om outra famlia, podemos es rever \textsf{outra famlia} ou

{\sffamily outra famlia}.

9.5 Smbolos espe iais e a entos


Para o TEX, apenas os ara teres ASCII s~ao validos. Para obter a entos, deve-se espe i ar omandos
espe  os. A tabela 9.2 mostra o onjunto de a entos disponveis. Entretanto, om o uso do pa ote espe  o

93

9.6. PARTICIONAMENTO DO TEXTO

da odi a a~o de texto, os ara teres a entuados s~ao onvertidos para o omando orreto em TEX, sem a
ne essidade de se utilizar esses omandos no texto.
Ha tambem varios smbolos que podem ser obtidos atraves omandos. Apenas alguns s~ao mostrados na
tabela 9.2.
o \`{o}
o~ \~{o}
o \v{o}
o. \d{o}

x \S

o \'{o}
o \={o}
}o \H{o}
o \b{o}
{ \P

^o \^{o}
o_ \.{o}
o o \t{oo}
< !`
\ opyright

o \"{o}
o \u{o}
o \ {o}
> ?`

Tabela 9.2: Comandos para a ento e alguns smbolos

9.6 Parti ionamento do texto


O LATEX ja prove omandos para a divis~ao do texto automati amente. Os omandos de parti ionamento
s~ao:
\part
\ hapter

\se tion
\subse tion
\subsubse tion

\paragraph
\subparagraph

O omando \ hapter so e a eito nas lasses de do umento report e book. Portanto, na lasse arti le a
numera a~o das se o~es e feita a partir do primeiro \se tion. A grande vantagem de se utilizar a divis~ao
automati a e que a formata a~o do texto de ada ttulo e feita automati amente, e alem disso, pode-se gerar um
ndi e, atraves do omando \tableof ontents. Esse omando deve ser utilizado apos o \begin{do ument}.

9.7 Ambientes (environment )


Alem de disponibilizar omandos, o LATEX ofere e o on eito de ambiente. Utilizando-se os omandos

\begin e \end ini ia-se e naliza-se ambientes. Ha varios ambientes disponveis, veremos os mais interes-

santes.

9.7.1 Ambiente matemati o

No modo matemati o, o TEX, e onsequentemente o LATEX, pode a eitar diversos omandos diferentes,
bem omo o uso dos ara teres ^ e _ para expoente e ndi e, respe tivamente. O ambiente math, que
tambem pode ser ini iado e nalizado pelos ara teres $ ... $ ou \( ... \), entra no modo matemati o
sem altera a~o no paragrafo. O ambiente displaymath, tambem ini iado por \[ ... \ e utilizado para
apresenta a~o de formulas, entralizando o texto em um paragrafo proprio.
As estruturas mais omuns no modo matemati o s~ao os expoentes, que podem ser obtidos pelo ara tere
^, os ndi es ( ara tere _), alem das fra o~es (\fra ) e razes (\sqrt). Este u
ltimo pode a eitar argumento
op ional que e o expoente da raiz, e o omando \fra requer dois arqgumentos, que s~ao o numerador e o
denominador. Exemplos:
x2k
x
y

a+b

x^{2k}
\fra {x}{y}
\sqrt{a+b}

xky+1

2x
1+ xy

px + pn y
3

x^{k}_{y+1}
\fra {2x}{1+\fra {x}{y}}
\sqrt[3{x + \sqrt[n{y}}

O ambiente matemati o ignora os espa os. Para in luir texto omum entre as formulas, utiliza-se o
omando \mbox. Todo o onteudo omo par^ametro do omando e onsiderado um texto omum.

CAPITULO 9. PROCESSAMENTO DE TEXTO | LATEX

94

9.7.2 Gera ~ao de tabelas


O ambiente tabular e utilizado para ria a~o de tabela. Vale ressaltar que a estrutura aqui expli ada
tambem pode ser utilizada no ambiente array, que deve ser utilizado dentro de um ambiente matemati o.
O argumento obrigatorio do ambiente e a de ni a~o do formato das olunas. Essa de ni a~o e uma adeira
de ara teres, em que ada ara ter de ne uma oluna, e sua orienta a~o: para entralizada, l para esquerda,
r para direita, ou p{...} em que ... deve ser alguma medida metri a espe i ando a largura da oluna.
Nesse aso, ada elula da oluna sera um paragrafo riado om o omando \parbox. O ara tere & deve ser
utilizado para separa a~o das olunas em uma linha, e o omando \\ para a mudan a de linha. O omando
\hline tra a uma linha horizontal por todas olunas, e o omando \ line{i j } tra a uma linha horizontal
da oluna i a oluna j . Para linhas verti ais, deve-se utilizar o ara tere | na formata a~o da tabela. O
onjunto de omandos:
\begin{tabular}{|l|l| |}
\hline\hline
\textsf{Coluna 1} & \textsf{Coluna 2} & \textsf{Centralizada} \\
\hline\hline
Item
& A
& 1.203,00 \\ \ line{2-3}
& B
& 800,23 \\ \hline
Outro item
& C
&
--\\ \hline
\hline
\end{tabular}

Produzira a tabela:

Coluna 1
Item
Outro item

Coluna 2
A
B
C

Centralizada
1.203,00
800,23
|

Figura 9.2: Exemplo do uso de tabelas no LATEX

9.7.3 Listas
Tr^es ambientes prin ipais s~ao disponibilizados para gera a~o automati a de listas. O ambiente itemize
gera listas sem numera a~o, apenas utilizando smbolos no in io de ada item. O ambiente enumerate gera
listas numeradas, e o ambiente des ription gera listas om ada item op ionalmente rotulado pelo usuario.
Dentro dos ambientes de lista, a eita-se o omando \item para ini iar um novo item. No aso da lista
enumerada, o ontador sera in rementado. Para o des ription o omando \item a eita um argumento
op ional que sera o rotulo do item (deve-se utilizar os ol hetes, portanto \item[rotulo . A gura 9.3
exempli a os tr^es ambiente, ja mostrando a possibilidade de aninhamento dos mesmos.

9.8 O LATEX faz sozinho

A ideia prin ipal do LATEX e que o usuario n~ao pre ise se preo upar om detalhes do texto, sobre paragrafos
e espa amento. Portanto, ao es rever um arquivo a ser pro essado om o LATEX, deve-se apenas digitar os
paragrafos, e separa-lo por uma linha em bran o (e isso e o mesmo que utilizar o omando \par do TEX,
mas de maneira mais lara).
Outra ferramenta bastante util, prin ipalmente para textos longos, s~ao as refer^en ias. Apos os omandos
de parti ionamento do texto e apos o omando \ aption, utilizado para legendas de guras (figure) e
tabelas (table), pode-se de larar um rotulo, om o omando \label{rotulo }, e ent~ao se referen iar a essa

9.8. O LATEX FAZ SOZINHO

95

\begin{itemize}
\item Itens sem numera ~ao, mas om smbolos no rotulo;
\begin{enumerate}
\item Com os numeros, ada omando \verb|\item| in rementa o ontador;
\begin{enumerate}
\item E os nveis s~ao automati amente definidos;
\end{enumerate}
\begin{itemize}
\item Outro nvel sem numera ~ao;
\end{itemize}
\end{enumerate}
\begin{des ription}
\item[\textbf{Item A} Rotulos definidos pelo usuario.
\end{des ription}
\end{itemize}

Que resulta em:

Itens sem numera a~o, mas om smbolos no rotulo;


1. Com os numeros, ada omando \item in rementa o ontador;
(a) E os nveis s~ao automati amente de nidos;
{ Outro nvel sem numera a~o;

Item A Rotulos de nidos pelo usuario.


Figura 9.3: Exemplo do uso de listas em LATEX

se a~o, tabela ou gura, atraves do omando \ref{rotulo }. Costuma-se utilizar as palavras se :, fig: e
tab: para os rotulos de se o~es, guras e tabelas, respe tivamente, para n~ao haver onfus~oes da parte do autor
em rela a~o a refer^en ias om mesmo nome mas de tipos diferentes. Tambem pode-se utilizar o omando
\pageref{rotulo } para se referen iar a pagina do rotulo de larado.
O LATEX tambem permite a ria a~o de rodapes (footnote ), atraves do omando \footnote. Deve-se
utilizar o omando om o texto do rodape omo argumento, e a numera a~o sera inserida no lugar em que
for digitado o omando. Veja por exemplo esse rodape1.
Para a ria a~o do ttulo do texto, o LATEX ofere e os omandos \title{ttulo }, \author{nome } e
\date{data }. Esses omandos devem ser usados no pre^ambulo do arquivo. Apos o \begin{do ument},
pode-se utilizar o omando \maketitle que gera o ttulo automati amente. Se a op a~o titlepage da lasse
de do umento estiver sele ionada, a primeira pagina ontera apenas o ttulo, aso ontrario, o ttulo apenas
o upara o topo da primeira pagina, em que o texto ja se ini iara. Caso n~ao se de na a data, om o omando
\date, a data da maquina sera assumida, na lngua de nida pelo pa ote babel.
As se o~es, tabelas e guras riadas podem ser listadas automati amente pelo LATEX. Os omandos

\tableof ontents, \listoffigures, e \listoftables geram respe tivamente um ndi e, uma lista das

guras do texto, e uma lista das tabelas. Normalmente se utiliza esses omandos no in io do texto.

1 Rodap
e

om o proposito de mostrar o fun ionamento do omando.

96

CAPITULO 9. PROCESSAMENTO DE TEXTO | LATEX

9.9 Prin ipais arquivos do LATEX

O arquivo prin ipal do LATEX e obviamente o arquivo fonte, om extens~ao .tex. Quando se utiliza o
omando latex, alguns arquivos s~ao gerados pelo programa para auxlio e pro essamento do texto.
Os arquivos de extens~ao .to , .lof e .lot s~ao, respe tivamente, referentes aos tr^es omandos: \tableof ontents,
\listoffigures e \listoftables. S~ao riados para que numa segunda exe u a~o do LATEX, essas paginas
automati as sejam riadas.
O arquivo de extens~ao .aux e bastante importante, pois e o arquivo que guarda os rotulos riados para
as refer^en ias, alem de informa o~es sobre pa otes, e outros omandos realizados pelo LATEX.
E nalmente, o arquivo prin ipal gerado pelo LATEX, de extens~ao .dvi, ontem informa o~es sobre a
formata a~o do texto, mas sem espe i a a~o do dispositivo a ser utilizado. Pode-se gerar arquivos Post
S ript, pode-se gerar uma visualiza a~o na tela, et , a partir desse arquivo.

9.10 Comandos rela ionados


Para a gera a~o do arquivo DVI, deve-se utilizar o omando latex, que re ebe o nome do arquivo omo
argumento. Quando se utiliza refer^en ias, deve-se exe utar essa opera a~o mais de uma vez, para que apos a
ria a~o do arquivo auxiliar essas refer^en ias possam ser es ritas no texto.
Os programas rela ionados om a visualiza a~o do arquivo DVI e om a onvers~ao do arquivo DVI para
um arquivo PS est~ao expli ados no aptulo 7, nas se o~es 7.4.2 e 7.5.2.
O omando pd atex faz o mesmo que o latex, mas gera um arquivo PDF ao inves de um arquivo DVI.

Cap
tulo 10

Modulos e dispositivos
Uma parte importante da administra a~o de um sistema Linux e sem sombra de duvida a atualiza a~o e
manuten a~o do kernel e os modulos para ganhar a essibilidade aos dispositivos do seu sistema.
Este aptulo sera dividido em varias partes, ada uma des revendo apli ativos para realizar alguma
tarefa rela ionada ao kernel, ou algum on eito basi o para o entendimento do que a onte e no sistema
quando a essamos algum dispositivo.
Primeiramente veremos o sistema de ini ializa a~o do sistema, tanto do kernel omo dos daemons e
outros s ripts que s~ao exe utados durante o \boot" do Linux. Na segunda parte veremos omo fazer uma
re ompila a~o de um kernel e a instala a~o desse novo kernel no sistema. Por m, veremos em onjunto omo
s~ao os modulos do Linux e omo utiliza-los para a essar os dispositivos do sistema.

10.1 Ini ializa ~ao do Linux


Nesta se a~o veremos omo e feito a ini ializa a~o do Linux, tanto no kernel, omo nos apli ativos que s~ao
ini ializados logo depois da ini iliaza a~o do kernel.

10.1.1 O omando dmesg e o arquivo /var/log/syslog


Durante o pro esso de ini ializa a~o o kernel re onhe e diversos dispositivos disponveis no sistema e
imprime algumas mensagens uteis para a sada padr~ao. Entretanto essas mensagens s~ao as vezes \perdidas".
Para visualizar essas mensagens existem duas maneiras, a primeira e olhando o arquivo /var/log/syslog.
Esse arquivo ontem todas as mensagens que o kernel envia para o usuario, in lusive as mensagens impressas
durante a ini ializa a~o.
Portanto e possvel olhar esse arquivo e pro urar as mensagens de ini ializa a~o do kernel. A formato
desse arquivo e geralmente da forma:
data nome_da_m
aquina servi
o[pid: Mensagem
De 19 16:09:07 pipo a pppd[526: Conne tion terminated.
De 19 16:09:07 pipo a pppd[526: Conne t time 6.1 minutes.
De 19 15:48:06 pipo a kernel: hda: Maxtor 90650U2, ATA DISK drive
De 19 15:48:06 pipo a kernel: hd : CRD-8400B, ATAPI CDROM drive
...

Portanto e possvel analisar essa arquivo, n~ao so pro urando as mensagens de ini ializa a~o, mas tambem
mensagens de erro que o kernel e algum outro servi o esta enviando.
97


CAPITULO 10. MODULOS
E DISPOSITIVOS

98

Outra maneira, um pou o mais fa il para visualizar as mensagens de ini ializa a~o do kernel e utilizar o
omando dmesg. Sem argumentos a omando o omando listara as mesmas mensagens que durante o boot:
$ Linux version 2.2.17 (rootpipo a) (g version 2.95.2 20000220
(Debian GNU/Linux)) #1 Wed Aug 16 13:35:21 BRT 2000
Dete ted 498861 kHz pro essor.
Console: olour VGA+ 80x25
Calibrating delay loop... 996.15 BogoMIPS
Memory: 128380k/131008k available (696k kernel ode, 412k reserved, 1480k data, 40k init)
...
...
...
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ne2k-p i. : PCI NE2000 lone 'RealTek RTL-8029' at I/O 0x1040, IRQ 9.
eth0: RealTek RTL-8029 found at 0x1040, IRQ 9, 52:54:00:ED:54:B7.
Creative SBLive! at 0x1020 on irq 10

Por exemplo, se um omputador tiver um dispositivo de CD-ROM e for desejado saber qual e o dispositivo
que ele esta ligado, ent~ao pode-se exe utar uma linha de omando omo a seguinte:
$ dmesg | grep -i d.*rom
hd : CRD-8400B, ATAPI CDROM drive

Portanto a linha me devolveu que o CD-ROM esta sendo re onhe ido no dispositivo /dev/hd .

10.1.2 O init e o arquivo /et /inittab


Depois de terminar a ini ializa a~o do kernel, a proxima oisa a se fazer e exe utar o init, geralmente
lo alizado em /sbin/init. O init e responsavel de exe utar uma serie de omandos e s ripts. As a o~es que o
init exe uta e ontrolado pelo arquivo /et /inittab.
A ideia prin ipal atras do init e a exist^en ia de varios nveis, ada um espe i ando uma determinada
situa a~o. Esse nveis s~ao hamados de runlevels e no UNIX, geralmente existem 7 nveis distintos (de 0 a 6).
Todos as a o~es exe utadas por um runlevel esta bem de nida no arquivo /et /inittab, que tem essa sintaxe
por linha:
odigo:runlevel:a a~o: omando

Ent~ao podemos dar uma olhada num exemplo de arquivo /et /inittab:
1
2
3
4
5
6
7
8
9
10
11
12
13

# Ajusta o runlevel padr~


ao para o 2
id:2:initdefault:
# Exe uta o s ript '/et /init.d/r S' quando o sistema ini ializar
si::sysinit:/et /init.d/r S
# Exe uta /et /init.d/r
l0:0:wait:/et /init.d/r
l1:1:wait:/et /init.d/r
l2:2:wait:/et /init.d/r
l3:3:wait:/et /init.d/r
l4:4:wait:/et /init.d/r
l5:5:wait:/et /init.d/r

om o runlevel omo argumento


0
1
2
3
4
5

~ DO LINUX
10.1. INICIALIZAC
 AO

14
15
16
17
18
19
20
21
22

99

l6:6:wait:/et /init.d/r 6
# Exe utado quando apertamos trl-alt-delete
a:12345: trlaltdel:/sbin/shutdown -t1 -a -r now
# Ini ializa um terminal (getty) dos onsole 1 ao 3
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3

Claro que o onteudo do arquivo /et /inittab depende da vers~ao e distribui a~o e pode ser alterada pelo
administrador.
Basi amente, quando o kernel termina de ini ializar, o sistema exe uta o omando /et /init.d/r S (veja
linha 5 do exemplo a ima). Depois disso o s ript /et /init.d/r e hamado om o argumento 2 (isso esta
espe i ado na linha 2 do arquivo a ima).
O s ript /et /init.d/r fun iona basi amente da seguinte maneira, ele re ebe um argumento que orresponde ao runlevel hamado pelo init. O sistema deve onter diversos diretorios om os nomes da seguinte
forma:
/et /r 0.d/
/et /r 1.d/
/et /r 2.d/
/et /r 3.d/
/et /r 4.d/
/et /r 5.d/
/et /r 6.d/

E ada um desses diretorios deve onter apenas links simboli os apontado para os diversos s ripts que
est~ao em /et /init.d/ (em algumas distribui o~es pode ser /et /r .d/init.d/, tambem). Existe um padr~ao
para os nomes dados aos links simboli os e esse padr~ao e importante porque espe i ado omo ada um dos
s ripts ser~ao exe utados.
O padr~ao para os nomes dos links simboli os em ada um dos diretorios dos runlevels do sistema e o
seguinte:
[S|R|K[00-99 omando

Primeiro temos um letra que podera ser um S, R ou K, depois temos um numero entre 00 e 99 e nalmente
o nome do omando (na verdade s ript) para qual o link aponta.
Se a primeira letra e um S ent~ao o s ript sera exe utado om o argumento start, se a primeira letra e
um R ent~ao o s ript sera exe utado om o argumento restart e nalmente se a primeira letra e um K ent~ao
o s ript sera exe utado om o argumento stop.
Depois temos o numero, e este numero orresponde a prioridade desse s ript. Quanto menor esse numero
maior sua prioridade, ou seja, um s ript om um numero x sera exe utado antes de qualquer outro s ript
que tenha prioridade maior do que x. Isso e util para de nir depend^en ia entre os s ripts, porque muitas
vezes e ne essario que um determinado s ript seja exe utado antes de outros.
Portanto quando damos um omando `init 6`, por exemplo, o que a onte e e que o init pro ura no arquivo
/et /inittab e depois exe uta ada s ript no diretorio /et /r 6.d/ na ordem espe i ada pelas prioridades
e dando o omando espe i ado pela primeira letra do link simboli o.
 interessante, portanto, rebootar o seu omputador om o seguinte omando, para testar o fun ionaE
mento do init:
$ init 6

100


CAPITULO 10. MODULOS
E DISPOSITIVOS

10.2 Modulos do kernel


Modulos do kernel s~ao na verdade \peda os" do kernel que realizam alguma tarefa espe  a, n~ao essen ial
para todas as atividades. A ideia de modulo e deixar no kernel apenas o essen ial e as fun o~es que realizam
tarefas espe  as podem ser arregadas onforme a ne essidade de uso, ou des arregadas onforme a falta
de uso.
Portanto um modulo disponibiliza suporte a algum dispositivo, sistema de arquivo, et para o kernel.
Veremos algumas opera o~es que podem ser realizadas om esses modulos.
Os modulos do kernel geralmente am no diretorio /lib/modules/vers~ao-do-kernel/. Esse diretorio tem
diversos outros subdiretorios ondem am os modulos em si. Na realidade os modulos s~ao arquivos objetos
(extens~ao .o). Alem dos modulos existe o arquivo modules.dep, que des reve a depend^en ia entre os modulos
disponveis para serem arregados.

10.2.1 O omando lsmod e o arquivo /pro /modules


 possvel visualizar todos os modulos que est~ao arregados atualmente no kernel, para isso existe o
E
omando lsmod. Esse omando n~ao tem sintaxe, e e simplesmente hamado sem argumentos:
$ man lsmod
pipo a:/home/livio/ urso/linux> lsmod
Module
Size Used by
vfat
9056 0 (auto lean)
fat
29312 0 (auto lean)
ide- d
22944 0 (auto lean)
drom
26528 0 (auto lean)
isofs
17488 0 (auto lean)
ppp_deflate
39408 0 (auto lean)
bsd_ omp
3904 0 (auto lean)
ppp
20144 2 (auto lean)
slh
4384 1 (auto lean)
parport_p
7312 1 (auto lean)
lp
4592 0 (auto lean)
parport
7312 1 (auto lean)
lo kd
30704 1 (auto lean)
sunrp
52304 1 (auto lean)
emu10k1
48256 0 (unused)
sound ore
2608 4 [emu10k1
ne2k-p i
4112 1 (auto lean)
8390
6080 0 (auto lean)
serial
18112 1 (auto lean)

[vfat
[ide- d

[ppp_deflate bsd_ omp


[ppp
[parport_p lp
[lo kd

[ne2k-p i

O formato da sada e a seguinte: o nome do modulo, o tamanho em bytes de memoria o upada


(geralmente e menor do que o tamanho do arquivo objeto, .o, em dis o), uma ontagem de uso do modulo,
lista de modulos que pre isam desde modulo.
Atualmente a informa a~o listada pelo omando lsmod e exatamente a listagem do arquivo /pro /modules.

10.2.2 Carregando um modulo { os omandos insmod e modprobe


O Linux tem um sistema de arregamento automati o de modulos para satisfazer automati amente
ne essidades que o kernel possa ter om rela a~o a algum suporte. O arregamento de um modulo onsiste
na linkagem de um modulo ao kernel atualmente rodando.
O prin ipal omando para fazer essa linkagem de modulos e o omando insmod, om a seguinte sintaxe:

10.3. MONTAGEM DE DISPOSITIVOS

101

insmod [OPC~
OES... modulo [ smbolo=valor ...

Assim, om esse omando e possvel passar alguns par^ametros para o modulo, por exemplo, um modulo
que disponibiliza a esso a uma pla a de rede para o sistema pode pre isar saber o endere o de IO ou o IRQ
que a pla a esteja usando.
Um problema que o orre durante o arregamento de modulos e o que alguns modulos exigem que alguns
outros ja estejam arregados, omo pre requisito. Ent~ao seria ne essario utilizar o insmod de forma orreta,
respeitando a ordem de arregamento de modulos.
Para fa ilitar a vida do usuario ou administrador, foi riado um sistema de regras para respeitar os pre
requisitos, e arregar os modulos na ordem orreta. O arquivo de regras geralmente a dentro do diretorio
prin ipal dos modulos, por exemplo: /lib/modules/vers~ao-do-kernel/modules.dep.
Este arquivo e riado automati amente pelo programa depmod. Ele e utilizado pelo outro programa que
faz o arregamento de modulos, o modprobe om a seguinte sintaxe:
~ES... nome do modulo [ smbolo=valor ...
modprobe [OPCO

O modprobe analisa o arquivo de depend^en ias para veri ar quais modulos devem ser arregados para
satisfazer o omando dado, e em que ordem. Para ada modulo que deve ser arregado, o modprobe na
verdade exe uta o programa insmod visto a ima.

10.2.3 Removendo um modulo { o omandos rmmod

 possvel, tambem, manualmente remover os modulos que est~ao arregados no kernel. Para isso e
E
ne essario utilizar o omando rmmod, que tem a seguinte sintaxe:
rmmod [OPC~OES... nome do modulo ...

 laro que a remo a~o de um modulo so e possvel se o modulo n~ao estiver em uso. Caso ontrario, a
E
fun ionalidade que aquele modulo estava forne endo ao kernel sera interrompida, podendo assim travar o
sistema.
Outra maneira, mais limpa, de fazer a remo a~o dos modulos e utilizar o omando modprobe visto na
se a~o anterior om a op a~o -r.

10.3 Montagem de dispositivos


Antes de vermos a veri a a~o e manipula a~o de modulos, vamos ver um on eito muito importante que e
a ideia de montagem. O ato de montar e o ato de one tar um sistema de arquivo a hierarquia do sistema
de arquivos atual. Ent~ao, para qualquer sistema de arquivo que queremos a essar (mesmo que seja o sistema
da parti a~o raz do dis o rgido), temos que monta-la antes. Alguns sistemas s~ao automati amente montados,
mas outros, omo os disquetes e CD-ROMs que possuem mdias removveis, ter~ao que ser montados na m~ao.

10.3.1 O omando mount


Para realizar a tarefa de montar um sistema de arquivo deve-se utilizar o omando mount. A sintaxe
basi a para essa omando e:
mount [-t tipo dispositivo ponto-de-montagem

Onde tipo e o tipo do sistema de arquivos que queremos montar (por exemplo ext2, msdos, iso9660,
 possvel que sem o argumento tipo o mount onsiga dete tar o sistema de arquivos e ja usar o tipo
et ). E
dete tado. O dispositivo e o arquivo fsi o onde e feito o a esso pelo sistema de arquivos (entrada no diretorio
/dev/ ), e nalmente o ponto-de-montagem e um diretorio ja existente do sistema de arquivos atual.
Ent~ao por exemplo, se tivermos uma parti a~o om um sistema ext2 que ja n~ao esta montado e quiser
monta-la no diretorio /mnt basta fazer:

102


CAPITULO 10. MODULOS
E DISPOSITIVOS

$ mount -t ext2 /dev/hda2 /mnt

Ou ent~ao, se quisermos montar um CD-ROM (que geralmente s~ao gravados om o formato iso9660 ) para
a essa-lo a partir do diretorio / drom/ podemos dar um dos seguintes omandos:
$ mount -t iso9660 /dev/hd / drom
$ mount -t iso9660 /dev/ drom / drom # este segundo so fun ionar
a se o link do /dev/ drom
# estiver apontando para o dispositivo orreto

Finalmente, tambem e frequente querermos montar um disquete, que esta formatado para msdos. Para
isso devemos exe utar o seguinte omando para a essar o disqueste a partir do diretorio / oppy/ :
$ mount -t msdos /dev/fd0 /floppy

Para visualizar todos os dispositivos que est~ao montados atualmente no sistema basta usar o mount sem
par^ametros. Por exemplo:
$ mount
/dev/hda3 on / type ext2 (rw,errors=remount-ro,errors=remount-ro)
pro on /pro type pro (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hd on / drom type iso9660 (ro,noexe ,nosuid,nodev)
/dev/fd0 on /floppy type vfat (rw)
/dev/hda1 on /windows type vfat (rw,noexe ,nosuid,nodev)

Na verdade o mount sem argumentos pega as informa o~es do arquivo /et /mtab, e formata para fa ilitar
a visualiza a~o.

10.3.2 O omando umount


Para desmontar o dispositivo do sistema e pre iso fazer uso do omando umount. A sintaxe basi a do
umount e a seguinte:
umount devi e | dir

Portanto e possvel espe i ar tanto o arquivo no dispositivo (entrada do /dev/ ) ou o diretorio es olhido
omo ponto de montagem.
Aten ~ao: desmontar um dispositivo so vai fun ionar se nenhum pro esso do sistema estiver a essando o
dispositivo ou algum arquivo/diretorio do dispositivo. Alem do mais, quando um dispositivo estiver montado,
n~ao sera possvel remover a mdia.

10.3.3 O arquivo /et /fstab


No arquivo /et /fstab (f ile system table) e possui de nir alguns dispositivos e parti o~es que se deseja
montar frequentemente. Alem disso, deve-se de nir neste arquivo os dispositivos que se queria montar logo
durante a ini ializa a~o do sistema ( omo a parti a~o \/" do sistema de arquivos, a parti a~o de swap, et ).
Alem do mais, omo o root e o uni o usuario que pode exe utar o omando mount, para que se d^e
permiss~ao para outros usuarios montarem alguns dispositivos espe  os, e possvel faz^e-lo via este arquivo.
Um exemplo de arquivo /et /fstab pode ser:
# /et /fstab: stati file system information.
#
# <sistema de arquivo> <ponto de montagem> <type>
/dev/hda3
/
ext2

<options>
<dump> <pass>
defaults,errors=remount-ro 0
1

103

10.3. MONTAGEM DE DISPOSITIVOS

/dev/hda2
pro
/dev/ drom
/dev/hda1
/dev/sda4

none
/pro
/ drom
/windows
/zip

swap
pro
iso9660
vfat
vfat

sw
defaults
ro,user,noauto
user,noauto
user,noauto

0
0
0
0
0

0
0
0
0
0

Veja que nas op o~es das tr^es primeiras linhas, n~ao existe o par^ametro noauto, portanto esses dispositivos
s~ao montados logo durante a ini ializa a~o do sistema automati amente. As demais linhas n~ao s~ao montadas
automati amente.
Nas ultimas tr^es linhas, temos a op a~o user, indi ando que qualquer usuario onsegue montar aquele
dispositivo no ponto de montagem determinado.


CAPITULO 10. MODULOS
E DISPOSITIVOS

104

10.4

Exer 
 ios

Cap
tulo 11

Desenvolvimento I - S ripts
Como visto na se a~o 10.1, sobre a ini ializa a~o do Linux e o fun ionamento do init e os diversos runlevels,
o onhe imento de leitura de alguns s ripts e extremamente ne essaria. Alem do mais o uso de s ripts no
Unix e muito frequ^ente e possui diversos usos. Essa se a~o pretende introduzir alguns on eitos por tras das
s ripting languages omo sh, bash, e perl para que pelo menos o usuario tenha onhe imento para a leitura
desses s ripts. Tambem daremos uma breve introdu a~o para que seja possvel programar alguns s ripts
simples.
Outro uso bastante frequente para linguagens interpretadas e a prototipa a~o. O tempo de manuten a~o
de sistemas que usam as linguagens interpretadas e bem menor do que om linguagens ompiladas em geral.

11.1 O que e um s ript ?


Um s ript e um texto programa que deve ser lido por um interpretador. Um s ript, portanto, n~ao pre isa
 laro que o programa depende do interpretador que sera utilizado,
(e as vezes nem pode) ser ompilado. E
mas em geral, todos os s ripts s~ao arquivos texto omuns, mas t^em duas ara tersti as ne essarias para
exe utarem:

Cabe alho O abe alho de um s ript indi a qual o interpretador utilizar para exe utar aquele odigo, e
aonde (qual o aminho) esta o exe utavel do interpretador. Um exemplo de abe alho para um s ript
em bash seria:
#!/bin/bash

Para exe utar um s ript em perl, podemos ter as seguintes duas linhas, dependendo de lugar aonde foi
instalado o perl:
#!/usr/bin/perl -w
#!/usr/lo al/bin/perl

Generi amente, o abe alho para um s ript qualquer seria sempre algo do tipo:
#!/ aminho/ ompleto/ao/interpretador [OPC~OES...

Permiss~ao de exe u ~ao E importante lembrar tambem que no Unix um arquivo so sera exe utavel se
possuir permiss~ao de exe u a~o \x".

105

CAPITULO 11. DESENVOLVIMENTO I - SCRIPTS

106

11.2 O sh e o bash
O sh foi um dos primeiros shells riados para o Unix. O sh, entretanto n~ao e apenas um shell omum,
mas e na verdade uma linguagem bastante simples que forne e omandos para a interpreta a~o de omandos
via um prompt, ou interpreta a~o de um programinha. O bash suporta todos os omandos que o sh suporta,
 importante observar a diferen a entre essas duas linguagens
so que tem um onjunto de opera o~es a mais. E
para o Unix em geral, mas no Linux esses dois omandos s~ao o mesmo. O sh e, na verdade, um link para
bash.
O bash tem uma do umenta a~o relativamente boa e extensa nas paginas manuais do bash(1) e do
bultins(1). Mas a melhor do umenta a~o sobre o bash esta no info, e na do umenta a~o que a em
/usr/share/do /bash/, in luindo diversos exemplos interessantes.

11.2.1 Sintaxe geral do bash


A primeira oisa a se aprender numa linguagem de programa a~o e omo fazer omentarios. No bash o
smbolo \#" e reservado para omentarios, sendo que a linha toda apos \#" e des onsiderada.
$ at /et /passwd # fim dessa linha

Alem disso, em geral os omandos podem estar ada um em sua linha, n~ao ne essitando um ara tere
para indi ar m de omando.
Quando varios omandos s~ao olo ados numa mesmo linha, a sim, e ne essario utilizar o ara tere \;"
para separar os omandos. Alem do mais, quando um omando ar muito longo e for ne essario quebrar ele
em mais de uma linha, pode-se usar o ara tere \n" indi ando que o omando ontinuar na proxima linha,
omo, por exemplo:
$ a2ps -R -- olumns 1 -f 10 -M Letter -v --left-title --left-footer \
--right-title arquivo_entrada.txt -o arquivo_saida.ps

11.2.2

Pipes | riando omuni a ~ao entre os omandos

Como visto na se a~o 4.3 no estudo de omuni a a~o entre pro essos via pipes, e possvel \ one tar" a
sada padr~ao de um pro esso para a entrada padr~ao de outro pro esso. O bash permite a ria a~o de pipes
entre omandos utilizando o smbolo \|" entre os omandos, por exemplo:
$ at /pro /p i | grep -i ether

11.2.3
11.2.4
11.2.5
11.2.6
11.2.7

Lista de omandos | exe utando omandos sequen ialmente


Intera ~ao | until, while, e for
Condi ionais | if, ase, e sele t
De larando fun ~oes
Variaveis padr~oes

11.3 O Perl

11.4. EXERCICIOS

11.4

Exer 
 ios

107

108

CAPITULO 11. DESENVOLVIMENTO I - SCRIPTS

Refer^en ias Bibliogra as


[GNU Ema s D. Cameron, et al. Learning GNU Ema s. Segunda edi a~o.
O'Reilly & Asso iates, In . Setembro de 1996.
Livro ompleto sobre o Ema s, 
otimo adi ional a do umenta ~ao do programa.
[LATEX H. Kopka e P. W. Daly. A Guide to LATEX. Ter eira edi a~o.
Addison Wesley Longman, In . Janeiro de 1999.

Otimo
guia para o LATEX, bastante ompleto e atualizado.
[Linux M. Wellsh e L. Kaufman. Running Linux. Segunda edi a~o.
O'Reilly & Asso iates, In . Agosto de 1996.
Texto um pou o desatualizado (mas ja existe a ter eira edi ~ao), mas a organiza ~ao do material e ex elente.
rios. P
aginas de manuais e do umenta o~es do info.
[Man & Info Va
Ponto de partida para o entendimento dos programa e omandos do UNIX. Alem disso, s~ao prati os para
uso omo refer^en ia.

[OSC A. Silbers hatz e P. B. Galvin. Operational Systems Con epts. Quinta edi a~o.
Addison Wesley Longman, In . Novembro de 1998.
Para alguns on eitos basi os, alem de on eitos de pro essos e es alonamento. O livro traz um aptulo
sobre UNIX e outro sobre Linux, des revendo a estrutura desses sistemas.
[RFC1855 S. Hambrigde. Netiquette Guidelines.
Internet Resquest For Comment 1855. Outubro de 1995.
Texto sobre etiqueta na rede, prin ipalmente em rela ~ao ao uso de orreio eletr^
oni o.
[RFC1945 T. Berners-Lee, et al. Hypertext Transfer Proto ol | HTTP/1.0.
Internet Resquest For Comment 1945. Maio de 1996.
Texto da padroniza ~ao da vers~ao antiga do HTTP.
[RFC2616 Fielding, et al. Hypertext Transfer Proto ol | HTTP/1.1.
Internet Resquest For Comment 2616. Junho de 1999.
Padroniza ~ao do proto olo HTTP em sua atual vers~ao.

109

Indi e Remissivo
/ (raiz), 9
/bin, 9
/et , 9
/et /group, 6
/et /passwd, 6
/et /shadow, 6
/home, 9
/lib, 9
/pro , 31
/pro /modules, 100
/tmp, 9
/usr, 9
/var, 9
/var/log/syslog, 97

Ctrl-D, 11
Ctrl-E, 11
Ctrl-Q, 11
Ctrl-S, 11
ut ( omando), 46
Debian, 2
depmod ( omando), 100
diretorios, 10, 17
distribui o~es, 2
dmesg, 97
e ho ( omando), 22
entrada padr~ao, 44
express~oes regulares, 46, 48
ext2, 8

addgroup ( omando), 7
adduser ( omando), 7
alias, 24
apelidos, 23
arquivos, 9, 17
padr~oes, 43
permiss~oes, 27
alterando, 29
bits de permiss~ao, 30

fg ( omando), 40
le ( omando), 69
GNU, 3
GPL, 3
grep ( omando), 48
groupadd ( omando), 7
info ( omando), 12
insmod ( omando), 100
IPC, 36, 45

bash, 8
bg ( omando), 40
bus a, 46

jobs, 39
omando, 39

at ( omando), 10, 44
d ( omando), 18
hgrp ( omando), 29
hmod ( omando), 29
hown ( omando), 28
omando, 22
Cone tiva, 2
onsole virtual, 8
Corel Linux OS, 2
p ( omando), 20
op o~es, 21
Ctrl-A, 11
Ctrl-C, 11

kernel, 3
kill ( omando), 36
less ( omando), 11
liga o~es simboli as, 10, 20
link, 10
links, 20
Linus Torvalds, 2
ln ( omando), 20
ls ( omando), 17
op o~es, 18
110

INDICE REMISSIVO

lsmod ( omando), 100


man ( omando), 12
Mandrake, 3
Minix, 2
mkdir ( omando), 19
modprobe ( omando), 100
modulos do kernel, 97
more ( omando), 11
mv ( omando), 19
ni e ( omando), 38
novo usuario, 7
opensour e, 4
paginas manuais, 12
passwd ( omando), 7
PATH (variavel do bash ), 23
permiss~oes (de arquivos), 27
alterando, 29
bits de permiss~ao, 30
pipes, 45
POSIX, 1
prioridades, 38
pro essos, 31
ps ( omando), 32
Linux, 32
Solaris, 33
pwd ( omando), 22
RedHat, 3
redire ionamento, 44
reni e ( omando), 38
reset ( omando), 11
rm ( omando), 20
rmdir ( omando), 19
rmmod ( omando), 101
root, 5
sada padr~ao, 44
s ripts, 105
se o~es das paginas manuais, 12
setgid, 28
setuid, 28
sh, 8
shell, 8
sinais, 36
sistema de arquivos, 8
sistema opera ional, 1
Sla kware, 3
software livre, 4

111
sort ( omando), 45
stderr, 43
stdin, 43
stdout, 43
SuSE, 3
tee ( omando), 46
terminal virtual, 8
top ( omando), 35
type ( omando), 23
umask, 31
unalias, 25
UNIX, 1
useradd ( omando), 7
usuarios, 4
tipos, 5
whi h ( omando), 23

Você também pode gostar