Escolar Documentos
Profissional Documentos
Cultura Documentos
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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.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
8 Ema
s
8.1
8.2
8.3
8.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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 dene 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 denidos 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.
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
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.
CAPITULO 1. CONCEITOS BASICOS
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 Filosoa 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
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.
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.
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 verique as
ongura
o~es espe
as daquele usuario. Isso
impli
a que todos os programas podem ter uma
ongura
a~o diferente para
ada usuario do sistema.
/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 dene os grupos aos quais os usuarios perten
em. E
e um mesmo usuario pode perten
er a diversos grupos tambem.
1.5. USUARIOS,
GRUPOS E SENHAS
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
ongura
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.
O que esses dois programas fazem e alterar apropriadamente o arquivo /et /group, olo ando o novo
CAPITULO 1. CONCEITOS BASICOS
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.
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.
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
ongura
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.
CAPITULO 1. CONCEITOS BASICOS
10
1.8.2 Diretorios
No sistema de arquivos existe um tipo espe
ial de arquivos para a deni
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.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...
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
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.
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
13
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
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 redenir 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 denidos 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:
/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:
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.
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 denir 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
~ DE ARQUIVOS E DIRETORIOS
2.1. MANIPULAC
AO
19
O diretorio padr~ao utilizado e o diretorio denido 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).
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/
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).
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
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
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.
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
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).
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).
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
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
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...
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''
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.
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.
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
Sem argumentos nenhum, ou
om a op
a~o -p, o alias simplesmente lista todos os aliases (apelidos )
atualmente denidos. 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 denidos na
ongura
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 denido 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 denir. 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'
APELIDOS
25
Se usado
om a op
a~o -a, ira remover todos os apelidos atualmente denidos. 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.
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 deni
o~es dos aliases na rede...).
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.
Cap
tulo 3
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
28
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.
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
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.
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
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,
denimos 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
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
Para denir 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 dene 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 denido 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.
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.
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
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
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
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:
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
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
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.
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
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 redenir a prioridade (reni
e ),
utilizando r.
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
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 denido pelo usuario
Sinal 2 denido 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)
\Prolling " 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
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.
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.
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.
BASH
39
Altera para -20 o ni e do pro esso 987 e todos os pro essos do usuario root e do usuario hefe.
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 prexo 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 prexo 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
Em ambos
omandos, o uni
o argumento e uma des
ri
a~o do trabalho, que pode ser um numero ou um
prexo 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
41
42
Cap
tulo 4
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
>: 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;
Se o arquivo e um dispositivo,
laramente o arquivo n~ao sera sobres
rito. Veremos alguns exemplos nos
omandos expli
ados a seguir.
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
1 pipo
1 pipo
b
b
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
45
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.
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.
Como padr~ao, o
omando tenta ordenar a entrada. A op
a~o -
faz
om que o programa verique 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 denir 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
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 dene 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 dene o primeiro e ultimo byte da sele
a~o e n dene apenas um byte
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. BUSCA DE PADROES
47
{ 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 denidas 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.
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
O
ara
tere ? apos um item (
ara
tere,
lasse, ou express~ao entre par^enteses), representa 0 ou 1
o
orr^en
ia.
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:
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. 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 denimos a
ima, deve-se utilizar a barra invertida (\) antes do
ara
tere. No tipo extendido,
que se dene utilizando a op
a~o -E ou utilizando diretamento o
omando egrep, as express~oes regulares s~ao
entendidas
omo denimos anteriormente. Vamos sempre utilizar as express~oes extendidas nesse texto.
Pode-se denir 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 denido 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
50
~
CAPITULO 4. REDIRECIONAMENTO E BUSCA DE PADROES
Cap
tulo 5
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.
$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
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
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
onguradas (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 -.
ALTURA Altura da janela (tamanho verti al), que deve ser espe i ada em pixel ou em numero de ara teres,
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.
53
proprios. A deni
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.
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
ongura
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.
~ 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
58
passo, sera apresentado uma lista de te lados possveis. Alguns te lados omuns s~ao:
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:
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.
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.
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
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.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
ongura-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
ongura o LILO e o arquivo /et
/lilo.
onf . Um exemplo bastante simples de
arquivo de
ongura
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
ongura
a~o do LILO pode
onter diversas op
o~es e podem ser vistas olhando-se a pagina manual
do lilo.
onf. Apos a
ongura
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 Unied 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
onguram 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
ongurar as
op
o~es de boot do sistema. Um pequeno exemplo basi
o de um arquivo do /boot/grub/menu.lst e:
62
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
~ 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
onltarem.
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.
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
ongura
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:
64
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
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.
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.
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
ongura
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.
66
$ SuperProbe
A sada desse programa e muito importante para a
ongura
a~o do X Window, independente do metodo
es
olhido.
6.13. EXERCICIOS
67
68
Cap
tulo 7
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
69
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.
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
$ 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.
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
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.
~ DE ARQUIVOS
7.4. VISUALIZAC
AO
73
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 denidas na
hamada do programa.
A op
a~o de antialias e bastante util, pois permite a visualiza
a~o de do
umentos
om melhor deni
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.
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 denido 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
ongura
a~o padr~ao,
om a deni
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.3 O
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 denir 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.
~ 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.
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 denir 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 dene 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.
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.
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.
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 denida 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.
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
Total Size
949244 bytes
300474 bytes
996500 bytes
~ DE ARQUIVOS NA REDE
7.5. IMPRESSAO
77
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
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.
CAPITULO 8. EMACS
80
81
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 minibuer
om o intuito de digitar um
omando, deve-se utilizar a sequ^en
ia M-x. O
minibuer
ontera os
ara
teres M-x e o
ursos sera movido para esse buer 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 minibuer
om uma mensagem de erro ([No Mat
h), e so voltara ao buer atual se digitado
um
omando existente ou se a opera
a~o for
an
elada, atraves da sequ^en
ia C-g. No minibuer 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 buer e aberto, e uma lista das possveis op
o~es e mostrada (portanto,
M-x TAB mostrara todos os
omandos existentes).
Te la
"
#
C-p
C-n
C-b
C-f
Fun ~ao
Sin^onimo
ESC
ESC
ESC
ESC
|
|
a
e
b
f
ESC {
ESC }
Fun ~ao
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 buer. 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
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-buer
kill-this-buer
save-buer
write-le
help-
ommand
info-goto-ema
s-
ommand-node
help-with-tutorial
Fun ~ao
~
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
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 ortograa (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-denida, 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 denidos, 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
8.6. MAIS FERRAMENTAS UTEIS
85
(require 'jde)
auto-ll-mode, ou ainda ser arregado por padr~ao, adi ionando-se a linha (setq
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
M-C-s
isear h-forward-regexp
M-C-r
M-C-s RET
re-sear h-forward
M-C-r RET
Fun ~ao
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
onrma
a~o
|
Finaliza opera
a~o
Tabela 8.7: Op
o~es para tro
a no Ema
s
8.6. MAIS FERRAMENTAS UTEIS
87
88
CAPITULO 8. EMACS
Cap
tulo 9
90
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.
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 deni
o~es de
omando (ou redeni
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 denido. 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.
O arquivo para pro
essamento do LATEX
onsiste em duas partes prin
ipais. O pre^ambulo, em que se
dene 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 denidas, 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 denir
omandos novos (um
omando no LATEX e o mesmo que uma
ma
ro para o TEX), redenir 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}
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 deni
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).
92
aptulos (parti
o~es). Com esse pa
ote, uma variavel do TEX e redenida, e todos os paragrafos em
in
io de parti
o~es ser~ao identados.
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
s
ulas menores
Small
aps, minu
Espessura padr~ao
93
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}
> ?`
\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}.
\begin e \end ini ia-se e naliza-se ambientes. Ha varios ambientes disponveis, veremos os mais interes-
santes.
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.
94
Produzira a tabela:
Coluna 1
Item
Outro item
Coluna 2
A
B
C
Centralizada
1.203,00
800,23
|
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.
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
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}
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 dena a data,
om o
omando
\date, a data da maquina sera assumida, na lngua denida 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
96
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.
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.
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 .
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
~ 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 denir 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
[vfat
[ide-
d
[ne2k-p i
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.
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.
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
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.
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.
<options>
<dump> <pass>
defaults,errors=remount-ro 0
1
103
/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.
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
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.
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
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
11.3 O Perl
11.4. EXERCICIOS
11.4
Exer
ios
107
108
[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
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