Escolar Documentos
Profissional Documentos
Cultura Documentos
www.linuxforce.com.br
Contedo
1 Conhecendo um novo mundo 1
1.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Distribuies GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Instalao Desktop Debian e CentOS 7
2.1 Instalao do Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Instalao CentOS: . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Primeiros Passos 30
3.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Terminal Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Introduo ao Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Conguraes de Teclado no Console . . . . . . . . . . . . . . . . . . . 38
3.5.1 Alterando o Layout do teclado: . . . . . . . . . . . . . . . . . . . 38
3.5.2 CentOS: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Conguraes do mouse no Console . . . . . . . . . . . . . . . . . . . 40
3.7 Histrico de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.8 FC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9 Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.10 Desligando o Computador . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.11 Reiniciando o Computador . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.12 LAB1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4 Obtendo ajuda 52
4.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Linux Force www.linuxforce.com.br Contedo
4.2 Formas de Documentao . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.1 How-tos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.2 Manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2.3 Documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Comandos de ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Comando help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Comando apropos . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.3 Comando whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.4 Comando man . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.5 Comando info . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4 Comando whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5 Comando which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.6 lab2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5 Aprendendo comandos do GNU/Linux 69
5.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2 O comando ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3 Criao, movimentao, cpia e remoo de arquivos e diretrios . . . 74
5.3.1 Criar arquivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.2 Curingas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.3 Criando diretrios . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.3.4 Removendo arquivos/diretrios . . . . . . . . . . . . . . . . . . 78
5.3.5 Copiar arquivos/diretrios . . . . . . . . . . . . . . . . . . . . . . 80
5.3.6 Mover ou renomear arquivos/diretrios . . . . . . . . . . . . . . 81
5.4 LAB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6 FHS, Hierarquia dos Diretrios 83
6.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 Estrutura de Diretrios GNU/Linux . . . . . . . . . . . . . . . . . . . . . 85
6.2.1 Diretrio / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.2 DIRETRIO /bin . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.3 Diretrio /boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2.4 Diretrio /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2.5 Diretrio /etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2.6 Diretrio /lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.2.7 Diretrio /media . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Linux ONE Pgina ii
Linux Force www.linuxforce.com.br Contedo
6.2.8 Diretrio /mnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2.9 Diretrio /opt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2.10 Diretrio /sbin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2.11 Diretrio /srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.2.12 Diretrio /tmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.2.13 Diretrio /usr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2.14 Diretrio /var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2.15 Diretrio /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2.16 Diretrio /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.2.17 Diretrios /home e /root . . . . . . . . . . . . . . . . . . . . . . . 101
6.2.18 Localizao no sistema: nd . . . . . . . . . . . . . . . . . . . . 102
6.2.19 xargs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3 Lab4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7 Editores de texto 109
7.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2 Editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.3 Editor Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.4 Praticando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.4.1 Outras funcionalidades do vim . . . . . . . . . . . . . . . . . . . 115
7.5 Deixando o vim com sua cara: . . . . . . . . . . . . . . . . . . . . . . . 120
7.6 LAB5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8 Administrao da Shell 122
8.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2 O que uma shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.3 Variveis em Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.3.1 Variveis Locais e de Ambiente (globais) . . . . . . . . . . . . . 127
8.4 Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.4.1 Arquivos de Login . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.4.2 Arquivos /etc/issue e /etc/motd . . . . . . . . . . . . . . . . . . . 134
8.5 Tipos de shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.6 LAB6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9 Introduo a Redes 138
9.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Linux ONE Pgina iii
Linux Force www.linuxforce.com.br Contedo
9.2 Entendendo o IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.3 Entendendo o gateway da rede . . . . . . . . . . . . . . . . . . . . . . 142
9.4 O servidor DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.5 Arp e RARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.6 Congurando a Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.6.1 Congurando IP e Mscara . . . . . . . . . . . . . . . . . . . . . 145
9.6.2 Congurando o gateway . . . . . . . . . . . . . . . . . . . . . . 147
9.6.3 Congurao dos DNS Servers . . . . . . . . . . . . . . . . . . 148
9.6.4 Congurao esttica de rede . . . . . . . . . . . . . . . . . . . 149
9.7 Congurando hosts e hostname DEBIAN . . . . . . . . . . . . . . . . . 152
9.8 Congurando hosts e hostname CentOS: . . . . . . . . . . . . . . . . . 154
9.9 LAB7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10 Servidor SSH 157
10.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.2 Chaves de Criptograa Assimtricas . . . . . . . . . . . . . . . . . . . . 159
10.3 Formas de Utilizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3.1 Acesso SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3.2 Copiando Arquivos Remotos . . . . . . . . . . . . . . . . . . . . 161
10.3.3 Cpia maq_LOCAL para maq_REMOTA . . . . . . . . . . . . . 161
10.3.4 Cpia maq_REMOTA para maq_LOCAL . . . . . . . . . . . . . 162
10.3.5 SSH com Chaves Assimtricas . . . . . . . . . . . . . . . . . . . 163
10.3.6 Acesso por SSH sem senha com ssh-agent . . . . . . . . . . . . 165
10.3.7 Congurando o servidor SSH (CentOS): . . . . . . . . . . . . . . 166
10.3.8 Cpia remota com porta diferente: . . . . . . . . . . . . . . . . . 171
10.3.9 Tunelamento SSH . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.3.10Mensagem em broadcast: wall . . . . . . . . . . . . . . . . . . . 173
10.4 LAB8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11 TCP Wrappers 176
11.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
11.2 Entendendo o TCP Wrappers . . . . . . . . . . . . . . . . . . . . . . . . 178
11.3 Suporte a TCP/Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . 180
12 Comandos avanados 182
12.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Linux ONE Pgina iv
Linux Force www.linuxforce.com.br Contedo
12.2 Trabalhando com entrada e sada de dados . . . . . . . . . . . . . . . . 184
12.3 Alterando os redirecionamentos . . . . . . . . . . . . . . . . . . . . . . 185
12.3.1 O direcionador > . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.3.2 O direcionador . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.3.3 O direcionador < . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.3.4 O direcionador 2> . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12.3.5 O direcionador 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 190
12.3.6 O direcionador 2>&1 . . . . . . . . . . . . . . . . . . . . . . . . . 190
12.3.7 O direcionador &> . . . . . . . . . . . . . . . . . . . . . . . . . . 192
12.3.8 O direcionador & . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.3.9 O direcionador | . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
12.3.10O direcionador tee . . . . . . . . . . . . . . . . . . . . . . . . . . 194
12.3.11O direcionador . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.4 dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.4.1 Sintaxe: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.5 Contagem: wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
12.6 split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
12.7 Determinando o tipo de arquivo: le . . . . . . . . . . . . . . . . . . . . 201
12.8 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
12.9 w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
12.10ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
12.11Inodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
12.12stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
12.13Link simblico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
12.13.1Hard links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.13.2nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.13.3Classicao: sort . . . . . . . . . . . . . . . . . . . . . . . . . . 212
12.13.4Eliminando linhas repetidas: uniq . . . . . . . . . . . . . . . . . . 213
12.14Filtragem : grep e egrep e fgrep . . . . . . . . . . . . . . . . . . . . . . 214
12.14.1grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
12.14.2egrep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
12.14.3fgrep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
12.14.4sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
12.14.5Filtrar colunas: cut e awk . . . . . . . . . . . . . . . . . . . . . . 218
Linux ONE Pgina v
Linux Force www.linuxforce.com.br Contedo
12.15Juntando dois arquivos em um: join e paste . . . . . . . . . . . . . . . . 220
12.15.1join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
12.15.2paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
12.16lab9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
13 Manipulando Hardware e Dispositivos 223
13.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
13.2 Explorando o /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
13.3 Dispositivos de armazenamento . . . . . . . . . . . . . . . . . . . . . . 229
13.4 O que uma partio? . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
13.4.1 Tipos de parties . . . . . . . . . . . . . . . . . . . . . . . . . . 232
13.5 Criando Parties no HD . . . . . . . . . . . . . . . . . . . . . . . . . . 236
13.6 Particionamento com FDISK . . . . . . . . . . . . . . . . . . . . . . . . 237
13.6.1 Particionamento com CFDISK . . . . . . . . . . . . . . . . . . . 239
13.7 Aplicando um Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . 242
13.7.1 O que JOURNALING? . . . . . . . . . . . . . . . . . . . . . . 243
13.7.2 Aplicando um FileSystem . . . . . . . . . . . . . . . . . . . . . . 244
13.7.3 Espao em Disco: df . . . . . . . . . . . . . . . . . . . . . . . . . 245
13.7.4 Denindo tamanho dos objetos: du . . . . . . . . . . . . . . . . . 245
13.8 Devices, UUID e Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
13.8.1 Rotulando uma partio: . . . . . . . . . . . . . . . . . . . . . . 250
13.8.2 Usando os dispositivos de armazenamento . . . . . . . . . . . 251
13.9 Migrando de Filesystem ext sem perder dados: . . . . . . . . . . . . . . 258
13.10SWAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
13.11Montagem automtica de Filesystem no boot . . . . . . . . . . . . . . . 264
13.11.1Mostrar o uso de memria RAM: free . . . . . . . . . . . . . . . 265
13.12LAB10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
14 Instalando, removendo e atualizando programas 268
14.1 O que um pacote? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
14.2 Mas o que um gerenciador de pacotes? . . . . . . . . . . . . . . . . 270
14.3 Gerenciando pacotes no Debian: . . . . . . . . . . . . . . . . . . . . . . 271
14.4 Instalao, Remoo e Atualizao . . . . . . . . . . . . . . . . . . . . 272
14.5 Removendo pacotes que no sero mais usados . . . . . . . . . . . . . 278
14.6 Atualizar pacotes instalados: . . . . . . . . . . . . . . . . . . . . . . . . 279
14.7 Atualizao da distro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Linux ONE Pgina vi
Linux Force www.linuxforce.com.br Contedo
14.8 Gerenciamento de pacotes em distros baseadas em rpm. . . . . . . . 281
14.8.1 Instalando pacotes: . . . . . . . . . . . . . . . . . . . . . . . . . 283
14.8.2 Removendo pacotes: . . . . . . . . . . . . . . . . . . . . . . . . 283
14.8.3 Atualizando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . 284
15 Compilando Programas 285
15.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
15.2 Congure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
15.3 Makele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
15.4 LAB11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
16 Bibliotecas 293
16.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
16.2 Tipos fundamentais de programas executveis . . . . . . . . . . . . . . 295
16.3 Modo Esttico e Compartilhado . . . . . . . . . . . . . . . . . . . . . . . 297
16.4 Listando Bibliotecas disponveis . . . . . . . . . . . . . . . . . . . . . . 299
16.5 Localizao das bibliotecas? . . . . . . . . . . . . . . . . . . . . . . . . 300
16.6 Adicionando novas bibliotecas ao sistema . . . . . . . . . . . . . . . . 301
16.7 lab12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
17 Instalao de Programas com DPKG e RPM 306
17.1 Pacotes Debian - DPKG . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
17.2 Pacotes RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
17.2.1 Base de dados RPM . . . . . . . . . . . . . . . . . . . . . . . . . 309
17.3 Prtica Dirigida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
17.3.1 Convertendo extenses de arquivos . . . . . . . . . . . . . . . . 313
17.3.2 Gerenciando Pacotes em Formato RPM . . . . . . . . . . . . . . 315
18 Gerenciamento de Processos 319
18.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
18.2 E como fazemos para gerenciar os processos? . . . . . . . . . . . . . . 325
18.3 Denido prioridades dos processos . . . . . . . . . . . . . . . . . . . . . 336
18.4 LAB14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
19 Inicializao 339
19.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.2 System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Linux ONE Pgina vii
Linux Force www.linuxforce.com.br Contedo
19.3 Nveis de Execuo - System V . . . . . . . . . . . . . . . . . . . . . . . 342
19.4 O que faz um script de inicializao? . . . . . . . . . . . . . . . . . . . . 345
19.5 Removendo um script da inicializao: . . . . . . . . . . . . . . . . . . . 348
19.6 Gerenciando servios: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
19.7 LAB15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Linux ONE Pgina viii
Captulo 1
Conhecendo um novo mundo
Linux Force www.linuxforce.com.br Conhecendo um novo mundo
1.1 Introduo terica
Utilizar um sistema GNU/Linux muito mais do que optar por uma soluo isenta de
custos de licena. usufruir de uma losoa que antecedeu o software proprietrio,
e que permitiu, por exemplo, que a Internet crescesse de forma livre como a conhece-
mos hoje. Como usurio de Software Livre, precisamos compreender um pouco mais
sobre essa ideologia e como ela promoveu o surgimento das vrias distribuies.
O sistema GNU/Linux frequentemente chamado apenas pelo seu segundo nome:
Linux. Entretanto, essa designao no faz justia a todos os desenvolvedores que
vm construindo o sistema operacional como um todo.
GNU, que um acrnimo recursivo de GNUs Not Unix. Trata-se, de um grupo que
foi fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criar
um sistema operacional Unix-like desprovido de amarras e travas ao seu uso. Os
desenvolvedores GNU criaram uma srie de programas bsicos para um sistema
operacional funcional, como editores de texto e compiladores. Entretanto, havia um
pedao de cdigo essencial, que ainda no tinha sido criado: o kernel.
Em 1991, um jovem nlands chamado Linus Torvalds disponibilizou para o mundo
a primeira verso do Linux, um kernel Unix-like. A partir desse ponto, foi possvel
unir o kernel Linux com os softwares GNU, originando o sistema operacional que
chamamos de GNU/Linux.
O mundo GNU/Linux no apenas um conjunto de programas. Ele traz consigo uma
losoa de Mundo Livre e colaborativo, no qual as pessoas podem utilizar esses
softwares irrestritamete, acima de tudo, aprender com eles, uma vez que seu cdigo
fonte deve ser disponvel a todos que queiram melhor-lo ou apenas aprender com
ele. Para que esse mundo continue livre, Richard Stallman fundou a FSF - Free
Software Foundation, que criou e mantm a licena GNU GPL - GNU General
Public License. Esta licena dene, de modo simplicado, que o Software deve
respeitar quatro princpios bsicos, aqui chamados de liberdades. So elas:
liberdade 0 - liberdade para rodar o programa para quaisquer propsitos;
Linux ONE Pgina 2
Linux Force www.linuxforce.com.br Conhecendo um novo mundo
liberdade 1 - liberdade para estudar como o programa trabalha e adapt-lo s
suas necessidades. Ter acesso ao cdigo fonte essencial para isso;
liberdade 2 - liberdade de redistribuir cpias de forma que voc possa ajudar
outras pessoas;
liberdade 3 - liberdade para melhorar o programa e disponibilizar as melho-
rias para o pblico, de forma que toda a comunidade possa se beneciar. Ter
acesso ao cdigo fonte essencial tambm para isso.
Atualmente a GPL est disponvel em trs verses, GPLv1, GPLv2 e GPLv3. Fique
por dentro de suas diferenas em: http://www.gnu.org/licenses/gpl.html
Como usar as licenas GPL: http://www.gnu.org/licenses/gpl-howto.pt-br.html
Para mais informaes a respeito do kernel - Linux - podem ser obtidas no site ocial
de seus mantenedores: http://www.kernel.org
Informaes sobre os projetos GNU e FSF podem ser obtidas nos seus respectivos
sites:
http://www.gnu.org
http://www.fsf.org
Linux ONE Pgina 3
Linux Force www.linuxforce.com.br Conhecendo um novo mundo
1.2 Distribuies GNU/Linux
Voc j deve ter ouvido falar em Debian, RedHat, Slackware, Suse, Mandriva, Ubuntu
dentre outras. Mas, o que realmente isso? O que so todos esses nomes? Essas
so distribuies GNU/Linux. Uma distribuio nada mais do que o kernel Linux,
softwares GNU e outros outros aplicativos que so desenvolvidos por outras comuni-
dades ou grupos, reunidos em um sistema operacional que tem peculiaridades que
o diferencia de outros sistemas operacionais GNU/Linux, fazendo-os nicos.
Mas, por que existem tantas distribuies? Justamente porque se voc no se iden-
tica com nenhuma delas, voc livre para fazer a sua prpria. Por exemplo, em
1993, um rapaz chamado Patrick Volkerding, juntou o kernel e vrios outros aplicati-
vos em uma distribuio chamada Slackware, que foi a primeira a ser distribuda em
CD. A partir desse ponto, foram surgindo diversas outras distribuies que de alguma
forma diferiam da losoa do Slackware: como Debian ou RedHat.
Atualmente existem centenas de distribuies, algumas mais famosas que outras.
Em sua maioria, as distribuies GNU/Linux so mantidas por grandes comunidades
de colaboradores, entretanto, h outras que so mantidas por empresas. Dessa
forma, podemos dividir as distros, abreviao bastante utilizada na comunidade e
que se refere s distribuies, em duas categorias bsicas:
Livres
Corporativas
Distribuies Livres - Mantidas por comunidades de colaboradores sem ns lucra-
Linux ONE Pgina 4
Linux Force www.linuxforce.com.br Conhecendo um novo mundo
tivos. Exemplos so: Debian, Slackware, Gentoo, Knoppix e CentOS, entre outras
de menor importncia.
Distribuies Corporativas - Mantidas por empresas que vendem o suporte ao seu
sistema. Exemplos: RedHat, Ubuntu, Suse e Mandriva.
Neste ponto vale ressaltar o fato de que o produto vendido pelas empresas que
comercializam sistemas GNU/Linux, so na verdade, os servios relacionados ao
sistema operacional, como suporte tcnico, garantias e treinamentos, ou seja, o ex-
pertise do sistema. Ento, de fato, no h produto algum sendo vendido, apenas os
servios relacionados aos softwares agregados na distribuio GNU/Linux.
a liberdade do software, garantida pela licena GPL, que perpetua o respeito dos
direitos denidos pela FSF. Isso porque, pela denio de Software Livre, nunca, em
hiptese alguma, permitido que o cdigo fonte seja negado ao cliente, ao receptor
do Software. Assim, por mais que uma empresa queira utilizar mecanismos pouco
ticos para fazer o seu prprio sistema GNU/Linux, enquanto ela estiver utilizando
softwares licenciados sob a licena GPL, ela ser obrigada a distribuir o cdigo fonte
dos programas.
Dentro do conjunto de Distribuies Livres, podemos dividi-las novamente em duas
outras categorias:
Convencionais
Live
Distribuies Convencionais - So distribudas da forma tradicional, ou seja, uma
ou mais mdias que so utilizadas para instalar o sistema no disco rgido;
Distribuies Live - So distribudas em mdias com o intuito de rodarem a partir
delas, sem a necessidade de serem instaladas no HD. As distribuies Live caram
famosas pois tm a inteno de fornecer um sistema GNU/Linux totalmente funcio-
nal, de forma fcil e sem colocar em risco o sistema operacional original da mquina.
Linux ONE Pgina 5
Linux Force www.linuxforce.com.br Conhecendo um novo mundo
O fator que favoreceu essa abordagem que, em uma distribuio Live pratica-
mente todos os componentes j vm congurados, funcionando e com interfaces
agradveis aos usurios nais. Exemplos desse tipo de distribuio so o Knop-
pix, do qual se originaram diversas outras como o Kurumin ou Kalango, que so
verses traduzidas e adaptadas realidade brasileira.
Para entender umpouco mais sobre distribuies, necessrio lembrar de mais duas
caractersticas:
From scratch
Provenientes (Baseadas)
Distribuies From Scratch - So desenvolvidas do zero, ou seja, utilizam um ker-
nel Linux, alguns programas GNU e a grande maioria das suas particularidades
desenvolvida especicamente para ela. Exemplos:
Debian ;
RedHat;
Gentoo;
Slackware;
Distribuies Provenientes (Baseadas) - Aproveitam ferramentas e bases j de-
senvolvidas por outras distribuies. Distribuies baseadas usamdistribuies From
Scratch para alcanar seus objetivos mais rpido, dando maior ateno ao propsito
da distribuio. Exemplos: Ubuntu, DreamLinux, Kubuntu, Kurumin, Slax e BrDesk-
top, dentre outras.
Linux ONE Pgina 6
Captulo 2
Instalao Desktop Debian e CentOS
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
2.1 Instalao do Debian
Escolha do idioma:
Linux ONE Pgina 8
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o pas de sua localidade:
Escolha o layout de teclado:
Escolha o nome da mquina (hostname):
Linux ONE Pgina 9
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o domnio ao qual a mquina pertencer:
Escolha uma senha para o administrador (usurio root):
Conrme a senha do administrador:
Linux ONE Pgina 10
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Crie um usurio comum:
Escolha o login do usurio criado:
Escolha a senha do novo usurio:
Linux ONE Pgina 11
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Conrme a senha do usurio:
Escolha o fuso horrio de sua regio:
Escolha o tipo de particionamento:
Linux ONE Pgina 12
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o esquema de particionamento:
Finalize o particionamento:
Linux ONE Pgina 13
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Tenha certeza que seu particionamento est correto, as alteraes sero gravadas
no disco e seus dados sero perdidos a partir daqui:
Caso tenha mais de um CD ou DVD, retire o atual e insira o prxima na sequncia
conrmando sua leitura, caso contrrio responda no.
Caso tenha um repositrio de pacotes (espelho de rede) digite sim, caso contrrio
no:
Linux ONE Pgina 14
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Caso o repositrio externo no possa ser acessado devido a falta de conexo com a
internet, prossiga com a instalao:
Escolha se quer enviar relatrios de pacotes utilizados:
Escolha os softwares a serem instalados:
Instale o carregador do sistema operacional:
Linux ONE Pgina 15
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
2.1.1 Instalao CentOS:
Escolha o tipo de instalao:
O sistema de ser carregado para instalao:
Linux ONE Pgina 16
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha se quer testar a mdia:
Continuar com a instalao:
Linux ONE Pgina 17
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o idioma:
Linux ONE Pgina 18
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o layout do teclado:
Linux ONE Pgina 19
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha o tipo de particionamento de disco:
Linux ONE Pgina 20
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Tenha certeza de que deseja remover todos os dados antes de continuar:
Congurar rede:
Linux ONE Pgina 21
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha sua regio para congurao do fuso horrio:
Dena a senha do administrador (root):
Linux ONE Pgina 22
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha quais aplicaes disponveis quer instalar e quais repositrios de pacotes
utilizar:
Linux ONE Pgina 23
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Continue a instalao do sistema:
O sistema ser formatado e instalado:
Linux ONE Pgina 24
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Reinicialize o sistema, aps a instalao:
Concluir a instalao:
Linux ONE Pgina 25
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Congurando o sistema:
Escolha os servios que sero habilitados pelo Firewall:
Linux ONE Pgina 26
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Escolha se quer habilitar o SELinux:
Congure a hora correta:
Linux ONE Pgina 27
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Crie um usurio:
Congure a placa de som:
Linux ONE Pgina 28
Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS
Caso tenha CD ou DVD adicional adicione-os:
Linux ONE Pgina 29
Captulo 3
Primeiros Passos
Linux Force www.linuxforce.com.br Primeiros Passos
3.1 Introduo terica
A gura abaixo procura demonstrar como o sistema operacional GNU/Linux se orga-
niza em layers - camadas. Verique
importante entender cada uma dessas camadas para compreender o conjunto que
chamamos de Sistema Operacional.
Vamos descrever cada uma delas:
Hardware - Dispositivos que esto disponveis para o uso do sistema, tais como
cd-rom, placa de rede, controladora SCSI entre outros;
Kernel - O ncleo do sistema operacional, essa layer quem faz todas as intera-
es com o hardware da mquina, interpretando requisies feitas pelas camadas
acima desta;
Sistema Operacional - Essa layer tem como funo auxiliar e abrigar todos os
aplicativos das camadas superiores. Segundo Linus Torvalds essa layer no deve
ser notada pelo usurio nal;
ttyN - Terminais Virtuais onde so executados os comandos e denidas as congu-
raes. As ttys interpretam os comandos dados por um humano e convertem os
Linux ONE Pgina 31
Linux Force www.linuxforce.com.br Primeiros Passos
mesmos para uma linguagem que a mquina entenda;
DM - A layer de Display Manager responsvel por gerenciar os logins - va-
lidao de usurios - na interface grca e escolher o tipo de ambiente grco que
deve ser executado;
Desktop Environment - Mais conhecido como Ambiente de Trabalho, respon-
svel por abrigar todos os programas que necessitam de um ambiente grco para
funcionar.
Linux ONE Pgina 32
Linux Force www.linuxforce.com.br Primeiros Passos
3.2 Terminal Virtual
Terminal ou console, so o teclado e o monitor conectados em seu computador.
O GNU/Linux faz uso de sua caracterstica multi-usurio, ou seja, suporta vrios
usurios conectados ao mesmo tempo, usando os terminais virtuais. Um terminal
virtual uma segunda seo de trabalho completamente independente de outras e
que pode ser acessado no computador local ou remotamente, utilizando os progra-
mas telnet, rsh, rlogin, rdesktop, vnc, ssh, etc. Nos dias de hoje, o acesso
remoto muito importante. A qualquer distncia que se esteja do cliente, possvel
atend-lo.
No GNU/Linux possvel, em modo texto, acessar outros terminais virtuais, segu-
rando a tecla ALT e pressionando uma das teclas de F1 at F6. Cada tecla tem
funo correspondente a um nmero de terminal do 1 ao 6. Esse o comporta-
mento padro - default, e pode ser mudado (o stimo, por default, usado pelo
ambiente grco - Xorg).
O GNU/Linux possui mais de 63 terminais virtuais, mas deles, apenas 6 esto dis-
ponveis, inicialmente por motivos de economia de memria RAM. Se voc estiver
usando o modo grco, deve segurar Ctrl + Alt enquanto pressiona uma tecla de
atalho de F1 a F6.
Um exemplo prtico: se voc estiver utilizando o sistema no terminal 1, pressione
Ctrl + Alt + F2, e veja na primeira linha nome e verso do sistema operacional, nome
da mquina e o terminal no qual voc est. Voc pode utilizar quantos terminais
quiser, do F1 ao F6 (inclusive utilizando o X) e pode car saltando de terminal para
terminal.
Linux ONE Pgina 33
Linux Force www.linuxforce.com.br Primeiros Passos
3.3 Logon
Logon a entrada do usurio, seja root ou comum, onde deve ser digitado seu
nome de usurio e logo depois sua senha. Caso voc digite algo de forma errada,
ir aparecer uma mensagem de erro e voc no ser logado autenticado - no
sistema.
importante perceber que quando se digita a senha, no aparece nenhum retorno,
como os famosos asteriscos. O objetivo evitar que um observador mais curioso
seja capaz de contar quantos caracteres sua senha possui.
Linux ONE Pgina 34
Linux Force www.linuxforce.com.br Primeiros Passos
3.4 Introduo ao Shell
No Mundo GNU/Linux, utilizamos o Shell, que funciona como interpretador de co-
mandos. Ele a interface entre o usurio e o kernel do sistema e por meio dele,
podemos digitar os comandos. O Shell padro do GNU/Linux o Bash. Entretanto
existem tambm outras interfaces, como, por exemplo, csh, tcsh, ksh e zsh.
O kernel a parte mais prxima do hardware do computador. o ncleo do Sistema
Operacional. Se seu GNU/Linux estiver com problemas, no chute seu computador,
a culpa no dele.
Olocal onde o comando ser digitado marcado por umtrao piscante na tela, cha-
mado de cursor. Tanto em Shell texto como em Shell grco necessrio o uso
do cursor para saber onde devemos iniciar a digitao de textos e nos orientarmos
quanto posio na tela.
Popularmente conhecido como linha de comando, o Shell interpreta a ao do
usurio atravs das instrues digitadas. Estas instrues podero ser executadas
por dois nveis de usurios, com permisses diferentes. So eles:
Super usurio: Popularmente conhecido como "root". No se engane, "root" no
de raiz, da lngua inglesa. O usurio "root" o administrador do sistema, e seu
diretrio (pasta) padro o "/root", diferentemente dos demais usurios que cam
dentro do "/home". No prximo captulo falaremos mais sobre a instrutura de dire-
trios do GNU/LINUX. o "Shell"de uma usurio "root" diferencia do "Shell"de um
usurio comun, pois antes do cursor ele identicado com "#" (jogo-da-velha).
Usurio comum: qualquer usurio do sistema que no seja root e no tenha
poderes administrativos no sistema. Como j havamos dito anteriormente, o diret-
rio padro para os usurios o /home. Antes do cursor, o Shell de um usurio
comum identicado com $ (cifro).
Existem muitas funcionalidades no Shell, uma delas retornar comandos que j
foram digitados anteriormente. Para fazer isso s pressionar as teclas seta para
Linux ONE Pgina 35
Linux Force www.linuxforce.com.br Primeiros Passos
cima e seta para baixo para ter acesso ao histrico de comandos. Inclusive o nome
do programa responsvel por manter essa lista history.
Outra funcionalidade muito utilizada, serve para rolar a nossa tela de modo que pos-
samos ir para cima ou para baixo, parecido com o scroll Para rolarmos a tela para
cima, segura-se a tecla Shift e pressionamos o Page Up. Para rolarmos a tela
para baixo, segura-se a tecla Shift e pressionamos o Page Down. Isto til para
ver textos que rolaram rapidamente para cima e saram do nosso campo de viso.
A execuo de comandos com poderes administrativos, exige que o nvel do usurio
comum seja alterado. Uma das formas de fazer isso utilizando o comando su -
Super User. Veja sua descrio abaixo:
su - Para usar o comando su necessrio ter o password do administra-
dor. Uma vez que o nvel tenha sido mudado ser possvel executar qualquer
comado com poderes de root.
Aps se logar com usurio aluno, utilize o comando su:
1 $ su
Ser pedido a senha do usurio root. Aps efetuar a autenticao do usurio, o
prompt mudar de $ para # avisando que voc est logado como administrador
do sistema.
Existem dois comandos, "whoami"e "who am i"que lhe permite saber quem voc
em determinado momento. A sequncia de comandos abaixo esclarece o uso e
nalidade destes dois comandos claramente:
1 # whoami
2 # who am i
Linux ONE Pgina 36
Linux Force www.linuxforce.com.br Primeiros Passos
O comando whoami indica quem voc no momento root. Se voc utilizou o co-
mando "su"para tornar-se outro usurio o comando "who am i"informa quem voc
realmente aluno, pois foi com ele que voc se logou na mquina antes de trocar
de usurio.
Ele tambm pode ser utilizado para trocar de usurio, ele no pedir a senha se voc
for usurio root:
1 # su - aluno
Com a opo - alm de trocar de usurio, tambm carregar as variveis locais do
usurio:
1 $ su -
Linux ONE Pgina 37
Linux Force www.linuxforce.com.br Primeiros Passos
3.5 Conguraes de Teclado no Console
Imagine que voc instalou uma mquina na sua casa e o seu teclado um teclado
padro brasileiro ABNT2 e voc chegou ao cliente e ele s possui teclados com
layout americano. Como resolver o problema?
3.5.1 Alterando o Layout do teclado:
DEBIAN
Altere o layout de teclado padro do sistema para car permanente: De-
bian:
1 # dpkg -reconfigure keyboard -configuration
E em seguida reinicie o servio:
1 # /etc/init.d/keyboard -setup restart
3.5.2 CentOS:
possvel utilizar o comando loadkeys para alterar o layout de teclado durante a
sesso mas, essa alterao ser temporria. Para trocar denitivamente o padro
de layout do teclado da mquina, altere o arquivo em /etc/syscong/keyboard.
1) Altere o layout de teclado para utilizar o padro brasileiro:
Linux ONE Pgina 38
Linux Force www.linuxforce.com.br Primeiros Passos
1 # loadkeys -d br -abnt2
2) Restaure o layout de teclado para o padro americano:
1 # loadkeys -d us -acentos
Alterando o layout permanentemente:
1 # vim /etc/sysconfig/keyboard
2 KEYBOARDTYPE="pc"
3 KEYTABLE="us -acentos"
Linux ONE Pgina 39
Linux Force www.linuxforce.com.br Primeiros Passos
3.6 Conguraes do mouse no Console
Para se utilizar o mouse em modo texto, basta instalar o software gpm.
Debian:
1 # apt -get install gpm
CentOS
1 # yum install gpm
Linux ONE Pgina 40
Linux Force www.linuxforce.com.br Primeiros Passos
3.7 Histrico de comandos
O terminal do GNU/Linux permite que voc guarde 500 comandos por padro no
Debian e 1000 comandos no CentOS.
1 # history
Linux ONE Pgina 41
Linux Force www.linuxforce.com.br Primeiros Passos
3.8 FC
FC signica Find Command ou Fix Command pois ele executa as duas tare-
fas, encontrar e corrigir comandos. Para listar os comandos j digitados, guardados
no history, digite:
1 # fc -l
Por padro mostra os ltimos 16 comandos. Para visualizar uma lista de comandos
do 2 ao 6 faa:
1 # fc -l 2 6
Para visualizar os ltimos 20 comandos:
1 # fc -l -2
Para visualizar todos os comandos desde o ltimo comeando com h:
1 # fc -l h
Linux ONE Pgina 42
Linux Force www.linuxforce.com.br Primeiros Passos
3.9 Logout
Logout a sada do sistema. Ela feita por um dos comandos abaixo:
1 \$ logout
2 \$ exit
3 \$ <CTRL >+D
Ou quando o sistema reiniciado ou desligado.
Linux ONE Pgina 43
Linux Force www.linuxforce.com.br Primeiros Passos
3.10 Desligando o Computador
Para desligar o computador, pode-se utilizar um dos comandos abaixo, sempre que
se esteja com o nvel de usurio root:
1 # shutdown -h now
2 # halt
3 # poweroff
A palavra halt vem do comando em assembly chamado HTL, que quer dizer pa-
rada de processamento. Assim, o GNU/Linux nalizar os programas e gravar os
dados remanescentes na memria no disco rgido. Quando for mostrada a mensa-
gem power down, pressione o boto POWER em seu gabinete para desligar a
alimentao de energia do computador. Nunca desligue o computador diretamente
sem utilizar um dos comandos shutdown, halt ou poweroff, pois podem ocor-
rer perdas de dados ou falhas no sistema de arquivos de seu disco rgido, devido
a programas abertos e dados ainda no gravados no disco. Os comandos halt e
poweroff disparam uma srie de procedimentos, como encerramento de servios
e desligamento de sistemas de arquivos, que so executados antes da mquina ser
desligada.
Em computadores mais modernos o comando halt desliga completamente o com-
putador, no sendo necessrio pressionar o boto Power.
Salve seus trabalhos para no correr o risco de perd-los durante o desligamento do
computador. E se puder, tenha um No-break.
O comando shutdown tem a seguinte sintaxe:
1 # shutdown <ao> <tempo >
Onde: ao - o que voc quer fazer, cujas opes so:
Linux ONE Pgina 44
Linux Force www.linuxforce.com.br Primeiros Passos
h -> para desligar
r -> para reiniciar. tempo - tempo em minutos que voc deseja para comear a
executar a ao.
Exemplo, desligar agora:
1 # shutdown -h now
Ou
1 # shutdown -h
Desligar daqui a 12 minutos:
1 # shutdown -h 12 esta minha mensagem de aviso
Para cancelar o shutdown:
1 # shutdown -c
Linux ONE Pgina 45
Linux Force www.linuxforce.com.br Primeiros Passos
3.11 Reiniciando o Computador
Reiniciar quer dizer Iniciar novamente o sistema. No recomendvel desligar e
ligar constantemente o Computador pelo boto ON/OFF ou RESET. Por isso,
existem recursos para reiniciar o sistema sem desligar o computador. No GNU/Linux
voc pode usar o comando reboot, shutdown -r now ou pressionar simultane-
amente as teclas Ctrl + Alt + Del para reiniciar o sistema de forma segura. Obser-
vaes:
Salve seus trabalhos.
Utilize comandos e no o boto liga/desliga.
Prera um dos mtodos de reinicializao explicados acima e use o boto reset
somente em ltimo caso.
Reiniciar agora:
1 # shutdown -r now
Ou
1 # shutdown -r
Reiniciar daqui a 5 minutos com mensagem:
1 # shutdown -r 5 esta minha mensagem de aviso
Acessando os diretrios
Linux ONE Pgina 46
Linux Force www.linuxforce.com.br Primeiros Passos
Vamos aprender agora alguns comandos essenciais para a nossa movimentao
dentro do sistema.
O comando pwd exibe o diretrio corrente. Ele muito til quando estamos nave-
gando pelo sistema e no lembramos qual o diretrio atual.
1 # pwd
O comando cd utilizado para mudar o diretrio atual de onde o usurio est. Ir
para o diretrio home do usurio logado:
1 # cd
2 # cd ~
Ir para o incio da rvore de diretrios, ou seja, o diretrio /:
1 # cd /
Ir para um diretrio especco:
1 # cd /etc
Sobe um nvel na rvore de diretrios:
1 # cd ..
Retorna ao diretrio anterior:
Linux ONE Pgina 47
Linux Force www.linuxforce.com.br Primeiros Passos
1 # cd -
Entra em um diretrio especco:
1 # cd /usr/share/doc
Sobe 2 nveis da rvore de diretrios:
1 # cd ../../
Ateno! Note a diferena entre caminhos absolutos e relativos: Absolutos:
/etc/ppp; /usr/share/doc; /lib/modules Relativos: etc/ppp; ../doc; ../../usr;
Diretrio . e ..
Fique esperto para conhecer as diferenas entre o . e o .. e o que eles repre-
sentam para o sistema. Os comandos de movimentao muitas vezes so grandes
alvos nas provas, uma boa interpretao desses comandos pode ser necessria,
pois voc pode precisar deles para resolver uma questo maior.
O comando ls utilizado para listar o contedo dos diretrios. Se no for es-
pecicado nenhum diretrio, ele ir mostrar o contedo daquele onde estamos no
momento. Lista o contedo do diretrio atual:
1 # ls
Linux ONE Pgina 48
Linux Force www.linuxforce.com.br Primeiros Passos
Atalhos do bash A seguir, vamos testar algumas funcionalidades da linha de co-
mando. No necessrio se preocupar em decor-los, com o passar do tempo,
pegamos um pouco mais de prtica:
Pressione a tecla Back Space para apagar um caractere esquerda do cur-
sor;
Pressione a tecla Delete para apagar o caractere direita do cursor;
Pressione a tecla Home para ir ao comeo da linha de comando;
Pressione a tecla End para ir ao nal da linha de comando;
Pressione as teclas Ctrl + A para mover o cursor para o incio da linha de
comandos;
Pressione as teclas Ctrl + E para mover o cursor para o m da linha de
comandos;
Pressione as teclas Ctrl + U para apagar o que estiver esquerda do cursor.
O contedo apagado copiado e pode ser colado com Ctrl + y;
Pressione as teclas Ctrl + K para apagar o que estiver direita do cursor. O
contedo apagado copiado e pode ser colado com Ctrl + y;
Pressione as teclas Ctrl + l para limpar a tela e manter a linha de comando
na primeira linha. Mas se voc der um Shift + Page Up voc ainda consegue
enxergar o contedo. O Ctrl + l um atalho para o comando clear;
Pressione as teclas Ctrl + c para abrir uma nova linha de comando, na posi-
o atual do cursor;
Pressione as teclas Ctrl + d para sair do Shell. Este equivalente ao
comando exit;
Linux ONE Pgina 49
Linux Force www.linuxforce.com.br Primeiros Passos
Pressione as teclas Ctrl + r para procurar x letra relacionada ao ltimo
comando digitado que tinha x letra como contedo do comando.
Executar o ltimo comando pressione: !!
Executar um comando especco do histrico de comandos: !<numero>, ou
seja, !12
Linux ONE Pgina 50
Linux Force www.linuxforce.com.br Primeiros Passos
3.12 LAB1
Execute o script1.sh do Lab1
1- Congure o teclado que est descongurado e deixe permanente para que no
prximo reboot continue funcionando.
2 Foi agendado o desligamento da mquina para daqui a 10 minutos, cancele o
shutdown.
Linux ONE Pgina 51
Captulo 4
Obtendo ajuda
Linux Force www.linuxforce.com.br Obtendo ajuda
4.1 Introduo terica
O ritmo de gerao de conhecimento e informao tem sido vertiginoso nos ltimos
cinquenta anos, especialmente na rea tecnolgica. Por isso fundamental saber
onde buscar informaes para manter-se sempre atualizado. Neste captulo, vamos
aprender a consultar as documentaes existentes e como buscar informaes sobre
o que precisamos.
O Sistema Operacional GNU/Linux possui uma vasta biblioteca de documentao.
Antes de recorrermos a ajuda de outras pessoas, devemos lembrar que podemos
ter a respostas que precisamos no prprio sistema, bem a nossa frente, ao teclar de
um simples comando. Essa documentao em grande parte dos casos de extrema
qualidade.
O GNU/Linux cresceu porque a comunidade contribui para o sistema e sua docu-
mentao. Essa comunidade no tem medo ou receio de compartilhar informaes
e disponibiliza o que foi desenvolvido no prprio sistema. muito importante reforar
que no Software Livre, as pessoas nunca ocultam seu know-how, ou seja, voc
pode perguntar a vontade, desde que saiba o que e onde perguntar.
A documentao do GNU/Linux pode ser vista tambm como fonte de conhecimento,
onde pode-se aprender muito sobre cada um dos servios e comandos dispon-
veis.
Essa ajuda provida por meio dos manuais, as famosas Man Pages.
Toda essa documentao que possumos no sistema GNU/Linux est dispo-
nvel no site: http://www.tldp.org (The Linux Documentation Project), o site ocial de
documentaes sobre GNU/Linux.
Um diferencial deste site ter a documentao em vrios idiomas e formatos: pdf,
html, txt e outros.
Linux ONE Pgina 53
Linux Force www.linuxforce.com.br Obtendo ajuda
Abaixo vamos comear a nos familiarizar com a documentao existente e as formas
nas quais ela apresentada.
Linux ONE Pgina 54
Linux Force www.linuxforce.com.br Obtendo ajuda
4.2 Formas de Documentao
Existem diversas formas de se documentar um projeto, dentre elas temos os How-
tos, os manuais e as documentaes.
4.2.1 How-tos
Os How-tos so documentos que focam uma necessidade especca, como montar
um rewall, instalar uma webcam, congurar placas de som, congurar um servi-
dor web e muitos outros. Normalmente esses documentos so instalados junto com
suas respectivas aplicaes ou podem ter um pacote especco para a documenta-
o daquela aplicao. Os how-tos tambm so conhecidos como cook-books
- livro de receitas.
O diretrio de How-tos do GNU/Linux o /usr/share/doc. Se desejamos saber
como congurar um rewall, podemos consultar os arquivos do diretrio:
1 # cd /usr/share/doc/iptables/
Na Internet existem diversos sites de how-tos para GNU/Linux. Dentre eles o mais
conhecido no Brasil o Viva o Linux, conhecido tambm como VOL:
http://www.vivaolinux.com.br
Muitas vezes o uso de how-tos ou cook-books, no agrega um bom conheci-
mento, pois trata-se somente de uma lista de afazeres para chegar a um objetivo.
Quando o software atualizado, todo aquele conhecimento ca dependente de um
novo how-to.
Linux ONE Pgina 55
Linux Force www.linuxforce.com.br Obtendo ajuda
4.2.2 Manuais
Diferente dos How-tos os manuais no vo te mostrar um passo a passo ou mesmo
te dar uma lista de afazeres. O principal objetivo do manual te mostrar como as
funcionalidades daquele software podem ser usadas. Com o manual o aprendizado
para a utilizao da ferramenta facilitado, j que o mesmo possui alguns exemplos
de usabilidade. Esses manuais podem ser encontrados atravs do comando man,
o qual veremos ainda nesse captulo, um pouco mais adiante.
4.2.3 Documentao
A palavra documentao muito intensa. Quando falamos em documentar uma
ferramenta, estamos na realidade abrangendo uma srie de outros itens importantes,
dentre eles os How-tos e os manuais. Com a documentao de um projeto
possvel entender absolutamente tudo sobre o mesmo, ou seja, essa documentao
deve mostrar todas as partes relacionadas ao projeto.
Podemos, por exemplo, citar a documentao de um projeto de rede, onde deve
constar no s documentos como how-tos e manuais, mas sim todas as espe-
cicaes dos componentes, bem como cabos, switchs e routers dentre outros
detalhes muito importantes.
Como esse tipo de documentao muito especica, devemos consultar o site de
cada projeto individualmente.
Linux ONE Pgina 56
Linux Force www.linuxforce.com.br Obtendo ajuda
4.3 Comandos de ajuda
Existem diversos comandos de ajuda no GNU/Linux, vamos abordar cada um deles
logo abaixo:
4.3.1 Comando help
O comando help prov ajuda para comandos internos do interpretador de coman-
dos, ou seja, o comando help fornece ajuda rpida. Ele muito til para saber quais
opes podem ser usadas com os comandos internos do interpretador de comandos
(shell).
Para visualizar uma ajuda rpida para todos os comandos internos do sistema, po-
demos fazer da seguinte forma:
1 # help
Caso desejemos visualizar a ajuda rpida para somente um comando interno, usa-
mos esta outra sintaxe:
1 # help [comando]
O comando help somente mostra a ajuda para comandos internos.
1 # help type
Linux ONE Pgina 57
Linux Force www.linuxforce.com.br Obtendo ajuda
O comando type mostra se cada nome de comando um comando do UNIX, um
comando interno, um alias, uma palavra-chave do shell ou uma funo de shell de-
nida.
Verique o tipo do comando help que conheceremos a seguir:
1 # help help
Para comandos externos, o help aparece como parmetro. Por exemplo:
1 # [comando] --help
Desse modo, caso desejemos visualizar uma ajuda rpida sobre um comando ex-
terno, devemos fazer da seguinte forma:
1 # ls --help
O parmetro help pode ser utilizado em qualquer comando para ter uma consulta
rpida dos parmetros que ele pode nos oferecer. importante entender que help
na verdade um parmetro individual de cada comando, logo se um comando no
tiver esse parmetro existem outros meios para se obter ajuda. No se esquea de
estudar as diferenas entre comandos internos e externos.
4.3.2 Comando apropos
O comando apropos utilizado quando no se sabe qual documentao acessar
para um determinado assunto, mostrando as man pages que contm a palavra-
chave que foi especicada.
A sintaxe utilizada para usar o apropos a seguinte:
Linux ONE Pgina 58
Linux Force www.linuxforce.com.br Obtendo ajuda
1 # apropos [palavra -chave]
Imagine que voc precise editar um arquivo, mas no sabe qual editor utilizar. Exe-
cute o apropos para procurar algum comando ou manual de um comando para edi-
o:
1 # apropos editor
Uma forma equivalente ao apropos usar o comando man juntamente com a
opo -k:
1 # man -k editor
4.3.3 Comando whatis
O comando whatis tem basicamente a mesma funo do comando apropos,
porm as buscas do comando whatis so mais especcas. O apropos busca as
pginas de manuais e descries de maneira mais genrica. Se digitarmos a palavra
passwd ele nos trar tudo que tiver passwd, seja como nome ou parte do nome do
manual ou na descrio. J o whatis nos trar somente o manual com nome exato
da palavra pesquisada. A sintaxe utilizada no comando whatis a seguinte:
1 # whatis [comando]
Voc sabe que tem um programa chamado vim, mas no sabe o que ele faz?
1 # whatis vim
Linux ONE Pgina 59
Linux Force www.linuxforce.com.br Obtendo ajuda
Uma forma equivalente ao whatis usar o comando man juntamente com a
opo -f:
1 # man -f vim
Para localizar as man pages, o comando apropos e whatis utilizam o mesmo
banco de dados construdo com o comando catman ou makewhatis (executado
pelo administrador do sistema, root). Para construir o banco de dados do comando
apropos e whatis devemos executar o comando abaixo:
Debian:
1 # catman
CentOS:
1 # makewhatis -v
Os comandos apropos e whatis utilizam a mesma base de dados, impor-
tante perceber isso. catman (Debian) e makewhatis (CentOS)
4.3.4 Comando man
O comando man o responsvel por trazer os manuais mais completos sobre
determinado comando, arquivo de congurao, bibliotecas, entre outros nos quais
estamos trabalhando.
Linux ONE Pgina 60
Linux Force www.linuxforce.com.br Obtendo ajuda
Os manuais do sistema so divididos nos seguintes nveis:
man 1 -> Programas executveis e comandos do Shell;
man 2 -> Chamadas de sistema (funes providas pelo Kernel);
man 3 -> Chamadas de bibliotecas (funes como bibliotecas do sistema);
man 4 -> Arquivos de dispositivo (Localizados normalmente no /dev);
man 5 -> Arquivos de congurao e convenes;
man 6 -> Jogos;
man 7 -> Variados (incluindo pacotes de macros e convenes);
man 8 -> Comandos de administrao do sistema (normalmente usado so-
mente pelo root);
man 9 -> Rotinas de Kernel.
comum o exame cobrar mais dos nveis 1, 5 e 8 dos manuais! Ento lembre-
se de estudar binrios, arquivos de congurao e comandos administrativos.
Sintaxe do comando man:
1 # man [comando]
ou
Linux ONE Pgina 61
Linux Force www.linuxforce.com.br Obtendo ajuda
1 # man [seo] [comando]
Essas informaes sobre as sees do comando man podem ser encontra-
das em seu prprio manual, digitando o comando man man.
Se for necessrio visualizar o manual do comando passwd, podemos fazer da se-
guinte forma:
1 # man passwd
Para navegar pelo manual, o comando man abre um arquivo que est compac-
tado na pasta /usr/share/man/man1 para o passwd. Outros nveis de manuais,
dependem do comando ou arquivo.
O passwd conhecido no sistema GNU/Linux como um comando que adiciona ou
modica a senha do usurio e, tambm, como o arquivo de usurios do sistema
(/etc/passwd).
Veremos agora o manual do arquivo de usurios passwd:
1 # man 5 passwd
Podemos consultar quais manuais esto disponveis dentro do prprio diretrio do
man:
1 # ls /usr/share/man/
Linux ONE Pgina 62
Linux Force www.linuxforce.com.br Obtendo ajuda
Dentro desse diretrio possvel ver todas as divises dos manuais: os nveis, os
idiomas e mais. Todos os nveis de manuais possuem sua determinada introduo
que pode ser vista com o comando:
1 # man <nvel > intro
Podemos ver os manuais em diversos idiomas diferentes, desde que o pacote para o
idioma escolhido esteja instalado. Se nosso sistema estiver instalado em portugus,
o comando man ir trazer todas os manuais disponveis em portugus.
J se nosso sistema estiver em ingls preciso usar o parmetro -L pt_BR, para
que possamos ver os manuais em nosso idioma:
1 # man -L pt_BR comando
importante nesse ponto ressaltar que a documentao em nosso idioma depende
de pessoas que ajudam a fazer a traduo para o portugus, se voc quiser ajudar,
acredite, voc ser muito bem vindo. Veja como ajudar com o comando:
1 # man 7 undocumented
Podemos ver que para visualizar o manual do arquivo de usurio passwd precisa-
mos informar em qual nvel de manual ele se encontra, pois j existe um passwd
no nvel 1, que o comando, ento ele aparece primeiro quando digitamos man
passwd sem indicar o nvel. Esse manual do arquivo passwd est compactado na
pasta /usr/share/man/man5.
Linux ONE Pgina 63
Linux Force www.linuxforce.com.br Obtendo ajuda
4.3.5 Comando info
As info pages so como as pginas de manuais, porm so utilizadas com na-
vegao entre as pginas. Elas so acessadas pelo comando info. Este til
quando j sabemos o nome do comando e s queremos saber qual sua respectiva
funo.
A navegao nas info pages feita atravs de nomes marcados com um * (hi-
pertextos) que, ao pressionarmos Enter, nos leva at a seo correspondente, e
Backspace volta pgina anterior. Algo parecido com a navegao na Internet.
Podemos tambm navegar pelas pginas com as teclas n (next/prximo); p
(previous/anterior); u (up/sobe um nvel). Para sair do comando info, basta
pressionar a tecla q.
Se for necessrio exibir a lista de todos os manuais de comandos/programas dispo-
nveis, execute o comando abaixo sem nenhum argumento. Assim:
1 # info
Para exibir as informaes somente de um determinado comando, usaremos a se-
guinte sintaxe:
1 # info [comando]
Visualizar informaes do comando vim:
1 # info vim
Alternativas para consulta
Linux ONE Pgina 64
Linux Force www.linuxforce.com.br Obtendo ajuda
Para obter uma melhor visualizao, duas ferramentas de documentao foram de-
senvolvidas:
yelp -> Ferramenta grca para visualizao de manuais de aplicativos grcos do
GNOME; (fornecido pelo pacote yelp)
xman -> Front-end para o comando man, que facilita a consulta das man pages;
(fornecido pelo pacote x11-apps)
Linux ONE Pgina 65
Linux Force www.linuxforce.com.br Obtendo ajuda
4.4 Comando whereis
O comando whereis utilizado para mostrar a localizao do binrio do comando,
do arquivo de congurao (caso exista), e a localizao das pginas de manuais do
determinado comando ou arquivo.
Para visualizarmos a localizao destes dados para um determinado comando ou
arquivo, utilizamos a seguinte sintaxe:
1 # whereis <comando >
ou
1 # whereis <arquivo >
Mostrar a localizao do binrio do comando, do arquivo de congurao (caso
exista), e a localizao das pginas de manuais do comando vim:
1 # whereis vim
Linux ONE Pgina 66
Linux Force www.linuxforce.com.br Obtendo ajuda
4.5 Comando which
O comando which bem semelhante ao comando whereis, entretanto este s
mostra a localizao do binrio do comando.
Para visualizar a localizao do binrio do comando, utilizamos a seguinte sintaxe:
1 # which <comando >
Localizao do binrio do comando vi:
1 # which vi
Linux ONE Pgina 67
Linux Force www.linuxforce.com.br Obtendo ajuda
4.6 lab2
1 - Descubra qual o comando que existe no sistema para envio e recebimento de
e-mail com cinco letras.
2 - Envie um e-mail para aula.treinamentolinux@gmail.com Caso tenha diculdades,
seu chefe deixou um arquivo chamado dica.txt, procure-o e leia-o para mais informa-
es.
Linux ONE Pgina 68
Captulo 5
Aprendendo comandos do
GNU/Linux
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5.1 Introduo terica
Comandos so instrues passadas ao computador para executar uma determinada
tarefa. No mundo *NIX (GNU/Linux,Unix), o conceito de comandos diferente do
padro MS-DOS. Um comando qualquer arquivo executvel, que pode ser ou no
criado pelo usurio.
Uma das tantas vantagens do GNU/Linux a variedade de comandos que ele ofe-
rece, anal, para quem conhece comandos, a administrao do sistema acaba se
tornando um processo mais rpido.
O Shell o responsvel pela interao entre o usurio e o sistema operacional,
interpretando os comandos.
no Shell que os comandos so executados.
Linux ONE Pgina 70
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5.2 O comando ls
Ocomando ls possui muitos parmetros, veremos aqui as opes mais utilizadas. A
primeira delas o -l que lista os arquivos ou diretrios de uma forma bem detalhada
(quem criou, data de criao, tamanho, dono e grupo ao qual cada um pertence):
1 # ls -l /
2 drwxr -xr -x4 root root 124 27 -1 -15 23:17 boot
Veja que a sada desse comando bem detalhada. Falando sobre os campos, para
o primeiro caractere temos algumas opes:
1 d => indica que se trata de um diretrio
2 l => indica que se trata de um "link" (como se fosse um atalho -
tambm vamos falar sobre ele depois)
3 - => hfen , indica que se trata de um arquivo regular
4 c => indica que o arquivo um dispositivo de caractere (sem buffer)
5 b => indica que o arquivo um dispositivo de bloco (com buffer)
6 u => "sinnimo para o tipo c" indica que o arquivo um dispositivo
de caractere (sem buffer)
7 s => indica que o arquivo um socket
8 p => indica que o arquivo um fifo , named pipe
FIFO - Sigla para First In, First Out, que em ingls signica primeiro a entrar, pri-
meiro a sair. So amplamente utilizados para implementar las de espera. Os ele-
mentos vo sendo colocados no nal da la e retirados por ordem de chegada. Pipes
(|) so um exemplo de implementao de FIFO.
Buffer - uma regio de memria temporria, usada para escrita e leitura de dados.
Normalmente, os buffers so utilizados quando existe uma diferena entre a taxa em
que os dados so recebidos e a taxa em que eles podem ser processados.
Linux ONE Pgina 71
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
Socket - um meio de comunicao por software entre um computador e outro.
uma combinao de um endereo IP, um protocolo e um nmero de porta do proto-
colo.
O campo rwxr-xr-x lista as permisses, enquanto os campos root indicam quem
o usurio e grupo dono desse diretrio que, no nosso caso, o administrador do
sistema, o usurio root. O nmero antes do dono indica o nmero de hard links,
um assunto abordado apenas em cursos mais avanados.
O campo 1024 indica o tamanho do arquivo, e o campo 2007-01-15 23:17 informa
a data e hora em que o diretrio foi criado. Finalmente, no ltimo campo temos o
nome do arquivo ou diretrio listado, que, no nosso exemplo, o boot.
Com relao aos diretrios, importante ressaltar que o tamanho mostrado no
corresponde ao espao ocupado pelo diretrio e seus arquivos e subdiretrios. Esse
espao aquele ocupado pela entrada no sistema de arquivos que corresponde ao
diretrio.
A opo -a lista todos arquivos, inclusive os ocultos:
1
2 # ls -a /root
3 .. aptitude.bashrc.profile .rnd.ssh.vmware
4 .. .bash_history .kde .qt root_16126 .viminfo .Xauthority
Veja que, da sada do comando anterior, alguns arquivos so iniciados por . (ponto).
Esses arquivos so ocultos. No Linux, arquivos e diretrios ocultos so iniciados
por um . (ponto). Listar arquivos de forma recursiva, ou seja, listar tambm os
subdiretrios que esto dentro do diretrio /:
1 # ls -R /
Linux ONE Pgina 72
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
Como listar os arquivos que terminam com a palavra .conf dentro do diretrio
/etc?
1 # ls /etc/*. conf
Como buscar no diretrio raiz / todos os diretrios que terminem com a letra n?
1 # ls -ld /*n
Linux ONE Pgina 73
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5.3 Criao, movimentao, cpia e remoo de
arquivos e diretrios
5.3.1 Criar arquivo
Para criar um arquivo, podemos simplesmente abrir um editor de texto e salv-lo.
Mas existem outras formas. Uma das formas mais simples usando o comando
touch:
1 # cd ~
2 # touch arq1
3 # touch arq2 arq3 arq4 arq5
5.3.2 Curingas
O signicado da palavra curinga no dicionrio o seguinte: carta de baralho, que
em certos jogos, muda de valor e colocao na sequncia. No sistema GNU/Linux
bem parecida a utilizao desse recurso. Os curingas so utilizados para especicar
um ou mais arquivos ou diretrios.
Eles podem substituir uma palavra completa ou somente uma letra, seja para listar,
copiar, apagar, etc. So usados cinco tipos de curingas no GNU/Linux:
1 * - Utilizado para um nome completo ou restante de um
arquivo/diretrio;
2 ? - Esse curinga pode substituir uma ou mais letras em determinada
posio;
3 ! - exclui da operao
4 [padro] - utilizado para referncia a uma faixa de caracteres de
um arquivo/diretrio.
Linux ONE Pgina 74
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5 [a-z][-9] - Usado para trabalhar com caracteres de a at z
seguidos de um caractere de at 9.
6 [a,z][1,] - Usado para trabalhar com os caracteres a e z seguidos
de um caractere 1 ou naquela posio.
7 [a-z,1,] - Faz referncia do intervalo de caracteres de a at z ou
1 ou naquela posio.
8 [^abc] - Faz referncia a qualquer caracter exceto a, b e c.
9 {padro} - Expande e gera strings para pesquisa de padres de um
arquivo/diretrio.
10 X{ab ,1} - Faz referncia a sequncia de caracteres Xab ou X1.
11 X{a-e,1} - Faz referncia a sequncia de caracteres Xa Xb Xc Xd Xe
X1
DICA: - A barra invertida serve para escapar um caracter especial, ela co-
nhecida tambm como backslash.
A diferena do mtodo de expanso dos demais, que a existncia do arquivo ou
diretrio opcional para resultado nal. Isto til para a criao de diretrios.
Os 5 tipos de curingas mais utilizados ( *, ?, [ ], , ! ) podem ser usados juntos.
Vejamos alguns exemplos:
Vamos criar 5 arquivos no diretrio /home/aluno utilizando o mtodo de expanso.
1 # cd ~
2 # touch arq{1,2,3}.txt arq {4 ,5}.new
Podemos list-los assim:
1 # ls
Linux ONE Pgina 75
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
2 arq1 arq1.txt arq2 arq2.txt arq3 arq3.txt arq4 arq4.new arq5
arq5.new
Vamos listar todos os arquivos do diretrio /root. Podemos usar o curinga * para
visualizar todos os arquivos do diretrio:
1 # ls *
2 arq1 arq1.txt arq2 arq2.txt arq3 arq3.txt arq4 arq4.new arq5
arq5.new
Para listarmos todos os arquivos do diretrio /root que tenham new no nome:
1 # ls *new*
2 arq4.new arq5.new
Listar todos os arquivos que comeam com qualquer nome e terminam com .txt:
1 # ls *.txt
2 arq1.txt arq2.txt arq3.txt
Listar todos os arquivos que comeam com o nome arq, tenham qualquer caractere
no lugar do curinga, e terminem com .txt:
1 # ls arq?.txt
2 arq1.txt arq2.txt arq3.txt
Para listar todos os arquivos que comeam com o nome arq, tenham qualquer ca-
ractere entre o nmero 1-3 no lugar da 4 letra e terminem com .txt. Neste caso,
se obtm uma ltragem mais exata, pois o curinga especica qualquer caractere na-
quela posio e [ ] especica um intervalo de nmeros ou letras que ser usado:
Linux ONE Pgina 76
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
1 # ls arq [1 -3]. txt
2 arq1.txt arq2.txt arq3.txt
Para listar todos .txt exceto o arq2.txt:
1 # ls arq [!2]. txt
2 arq1.txt arq3.tx
Para listar os arquivos arq4.new e arq5.new podemos usar os seguintes mto-
dos:
1 # ls *.new
2 # ls *new*
3 # ls arq?.new
4 # ls arq [4 ,5].*
5 # ls arq [4 ,5]. new
Existem muitas outras sintaxes possveis para obter o mesmo resultado. A mais indi-
cada ser sempre aquela que atender necessidade com o menor esforo possvel.
A criatividade nesse momento conta muito. No exemplo anterior, a ltima forma re-
sulta na busca mais especca. O que pretendemos mostrar como visualizar mais
de um arquivo de uma s vez. O uso de curingas muito til e pode ser utilizado em
todas as aes do sistema operacional referentes aos arquivos e diretrios: copiar ,
apagar, mover e renomear.
5.3.3 Criando diretrios
O comando mkdir utilizado para criar um diretrio no sistema. Um diretrio
uma pasta onde voc guarda seus arquivos. Exemplo:
Linux ONE Pgina 77
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
Criar o diretrio aula:
1 # mkdir aula
Criar o diretrio turma e o subdiretrio alunos:
1 # mkdir -p turma/alunos
A opo -p permite a criao de diretrios de forma recursiva. Para que um subdi-
retrio exista, o seu diretrio diretamente superior tem que existir. Portanto a criao
de uma estrutura como notas/abril/bimestre/prova exigiria a execuo de quatro
comandos mkdir.
Algo como:
1 # mkdir notas
2 # mkdir notas/abril
3 # mkdir notas/abril/bimestre
4 # mkdir notas/abril/bimestre/prova
A opo -p permite que toda essa estrutura seja criada em uma nica linha. As-
sim:
1 # mkdir -p notas/maio/bimestre/prova
5.3.4 Removendo arquivos/diretrios
O comando rm utilizado para apagar arquivos, diretrios e subdiretrios estejam
eles vazios ou no.
Linux ONE Pgina 78
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
Exemplos:
Remover os arquivos com extenso txt:
1 # cd ~
2 # ls
3 # rm arq?.txt
4 # ls
Remover o arquivo arq4.new pedindo conrmao:
1 # rm -i arq4.new
2 rm: remover arquivo comum vazio arq.new4 ?
A opo -i fora a conrmao para remover o arquivo arq4.new.
Remover o diretrio notas:
1 # rm -r notas
A opo -r ou -R indica recursividade, ou seja, a remoo dever ser do diretrio
treinamentolinux e de todo o seu contedo.
Observao: Muita ateno ao usar o comando rm! Uma vez que os arquivos
e diretrios removidos no podem mais ser recuperados!
O comando rmdir utilizado para remover diretrios vazios.
Exemplos:
Linux ONE Pgina 79
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
Remover o diretrio aula:
1 # rmdir aula
5.3.5 Copiar arquivos/diretrios
O comando cp serve para fazer cpias de arquivos e diretrios. Perceba que para
lidar com diretrios a opo -r ou -R tem que ser usada:
1 # cp arquivo -origem arquivo -destino
2
3 # cp arquivo -origem caminho/diretrio -destino/
4
5 # cp -R diretrio -origem nome -destino
6
7 # cp -R diretrio -origem caminho/diretrio -destino/
Uma opo do comando cp muito til em nosso dia-a-dia a opo -p, que faz
com que a cpia mantenha os meta-dados dos arquivos, ou seja, no modica a
data e hora de criao, seus donos e nem suas permisses. Utilizar como root:
1 # su - aluno
2 $ touch teste
3 $ ls -l
4 $ exit
5 # cd /home/aluno
6 # cp -p teste teste2
7 # cp teste teste3
8 # ls -l teste2 teste3
Linux ONE Pgina 80
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5.3.6 Mover ou renomear arquivos/diretrios
O comando mv serve tanto para renomear um arquivo quanto para mov-lo:
1 # mv arquivo caminho/diretrio -destino/
2 # mv arquivo novo -nome
3 # mv diretrio novo -nome
4 # mv diretrio caminho/diretrio -destino/
A movimentao de um arquivo uma ao de cpia seguida de uma remoo.
Renomeando arquivo:
1 # mv teste teste4
Movendo arquivo:
1 # mv teste4 /tmp
Renomeando diretrio:
1 # mv turma matematica
Movendo diretrio:
1 # mv matematica /home/aluno/notas /21/ abril/semana3
Linux ONE Pgina 81
Linux Force www.linuxforce.com.br Aprendendo comandos do GNU/Linux
5.4 LAB3
Existe uma pasta /backup no servidor e os backups esto desorganizados, organize-
os:
1- Criar a estrutura de diretrios a partir da raiz: /backup/
2 - Copiar os backups do diretrio /backup de acordo com a data utilizando os carac-
teres curingas e coloc-los em seus novos diretrios, organizados por perodos.
Linux ONE Pgina 82
Captulo 6
FHS, Hierarquia dos Diretrios
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.1 Introduo terica
Quem j teve algum contato com o GNU/Linux, mesmo que supercial, deve ter
percebido a presena de vrios diretrios (pastas) no sistema. Entretanto, eles esto
organizados seguindo o padro POSIX, com o qual voc pode no estar muito
familiarizado. Neste captulo, vamos conhecer a organizao, e explorar a estrutura
de diretrios de um sistema GNU/Linux.
Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padro em
relao estrutura de diretrios. O primeiro esforo para padronizao de sistemas
de arquivos para o GNU/Linux foi o FSSTND - Filesystem Standard, lanado no
ano de 1994.
Cada diretrio do sistema tem seus respectivos arquivos que so armazenados con-
forme regras denidas pela FHS - Filesystem Hierarchy Standard ou Hierar-
quia Padro do Sistema de Arquivos, que dene que tipo de arquivo deve ser
guardado em cada diretrio. Isso muito importante, pois o padro ajuda a manter
compatibilidade entre as distribuies existentes no mercado, permitindo que qual-
quer software escrito para o GNU/Linux seja executado em qualquer distribuio de-
senvolvida de acordo com os padres FHS.
Atualmente, o FHS est na sua verso 2.3, e mantido pelo Free Standard Group",
uma organizao sem ns lucrativos formada por grandes empresas como HP, IBM,
RedHat e Dell.
vital entender bem sobre a FHS para prova, atravs dela que ns deve-
mos fazer nossas atividades com o GNU/Linux em nosso dia-a-dia.
Linux ONE Pgina 84
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.2 Estrutura de Diretrios GNU/Linux
A estrutura de diretrios tambm conhecida como rvore de Diretrios porque
tem a forma de uma rvore. Mas, antes de estudarmos a estrutura de diretrios,
temos que entender o que so diretrios.
Um diretrio o local onde os arquivos so guardados no sistema. O objetivo
organizar os diferentes arquivos e programas. Pense nos diretrios como sendo as
gavetas de um armrio. Cada gaveta guarda, normalmente, um tipo diferente de
roupa, enquanto cada diretrio guarda um certo tipo especco de arquivo.
O arquivo pode ser um texto, uma imagem, planilha, etc. Os arquivos devem ser
identicados por nomes para que sejam localizados por quem deseja utiliz-los.
Um detalhe importante a ser observado que o GNU/Linux segue o padro PO-
SIX que case sensitive, isto , ele diferencia letras maisculas e minsculas nos
arquivos e diretrios.
Sendo assim, um arquivo chamado Arquivo diferente de um outro chamado
ARQUIVO e diferente de um terceiro, chamado arquivo. Inteligente isso, no
?
A rvore de diretrios do GNU/Linux tem a seguinte estrutura:
Da estrutura mostrada acima, o FHS determina que um sistema GNU/Linux deve
conter obrigatoriamente 14 diretrios, especicados a seguir:
Linux ONE Pgina 85
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.2.1 Diretrio /
1 # ls --color /
A opo color do comando ls serve para deixar colorido a listagem, ex: azul -> dire-
trio branco -> arquivo regular verde -> arquivo executvel azul claro -> link simblico
vermelho -> arquivo compactado rosa -> imagem
Este o principal diretrio do GNU/Linux, e representado por uma / (barra).
no diretrio raiz que cam todos os demais diretrios do sistema. Estes diretrios,
que vamos conhecer agora, so chamados de subdiretrios pois esto dentro do
diretrio /.
6.2.2 DIRETRIO /bin
1 # ls /bin
O diretrio /bin guarda os comandos essenciais para o funcionamento do sis-
tema.
Esse um diretrio pblico, sendo assim, os comandos que esto nele podem ser
utilizados por qualquer usurio do sistema. Entre os comandos, esto:
/bin/ls;
/bin/cp;
/bin/mkdir;
/bin/cat;
Linux ONE Pgina 86
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Qualquer usurio pode executar estes comandos:
1 # /bin/ls /boot/grub
2 $ /bin/ls /boot/grub
6.2.3 Diretrio /boot
1 # ls /boot
No diretrio /boot esto os arquivos estticos necessrios inicializao do sis-
tema, e o gerenciador de boot. O gerenciador de boot um programa que permite
escolher e carregar o sistema operacional que ser iniciado.
6.2.4 Diretrio /dev
1 # ls /dev
No diretrio /dev cam todos os arquivos de dispositivos. O GNU/Linux faz a co-
municao com os perifricos por meio de links especiais que cam armazenados
nesse diretrio, facilitando assim o acesso aos mesmos.
Para vericar que seu mouse reconhecido como um arquivo, tente olhar o contedo
do arquivo /dev/input/mice:
1 # cat /dev/input/mice
Linux ONE Pgina 87
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Repare que os dados so binrios e no possvel ler o arquivo com o comando cat.
Caso seu terminal que com caracteres estranhos utilize o comando reset para
resetar o shell:
1 # reset
Para visualizar o contedo do arquivo /dev/input/mice execute o comando od que
utilizado para visualizar o contedo de um arquivo nos formatos: hexadecimal, octal,
ASCII e nome dos caracteres. Este comando pode ser til para um programador que
deseja criar um programa conforme o movimento do mouse.
1 # od /dev/input/mice
Caso seu mouse no seja usb, execute:
1 # od /dev/psaux
Mova o mouse e observe sua sada.
Observe o contedo do seu HD:
1 # hexdump /dev/sda
O comando hexdump utilizado para visualizar o contedo de um arquivo nos for-
matos: hexadecimal, octal, decimal, ASCII. Este comando pode ser til para um
programador que deseja criar um programa conforme o movimento do mouse.
6.2.5 Diretrio /etc
Linux ONE Pgina 88
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
1 # ls /etc
No diretrio /etc esto os arquivos de congurao do sistema. Nesse diretrio
vamos encontrar vrios arquivos de congurao, tais como: scripts de inicializao
do sistema, tabela do sistema de arquivos, congurao padro para logins dos
usurios, etc.
1 # cat /etc/passwd
Vamos pegar uma linha de exemplo:
1 aluno:x:1:1: aluno :/home/aluno:/bin/bash
Vamos dividir esta linha em campos, onde cada campo separado por : (dois
pontos), ento:
Vamos conhecer o arquivo /etc/shadow:
1 # more /etc/shadow
Linux ONE Pgina 89
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
O comando more assim como o cat serve para ver o contedo de um arquivo que ,
geralmente, texto. A diferena entre o more e o cat que o more faz uma pausa
a cada tela cheia exibindo uma mensagem --More", dando uma oportunidade ao
usurio ler a tela.
Aperte enter para ir para a prxima linha ou espao para ir para a prxima pgina e
para sair digite q.
Uma alternativa ao uso do comando more seria o uso do comando less, que imple-
menta as mesmas funcionalidades que more e mais algumas, como a possibilidade
de rolar a tela para cima e para o lado quando o texto ocupa mais de oitenta colunas.
A utilizao dos comandos less e more se faz de maneira semelhante.
1 # less /etc/shadow
Vamos pegar uma linha de exemplo:
1 aluno:$1$Tcnt$EisiJ9Wh3fCEsz1 :11983::99999:7:::
Este arquivo possui as senhas criptografadas dos usurios do sistema. Existe uma
entada no arquivo para cada usurio do sistema com os seguintes campos:
Linux ONE Pgina 90
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Apenas o usurio root (administrador do sistema) tem permisso para acessar o
arquivo /etc/shadow.
O comando pwconv usado para criar o arquivo shadow a partir do arquivo /etc/-
passwd , enquanto o comando pwunconv executa a operao inversa. Execute:
1 # pwunconv
Verique que no existe mais o arquivo /etc/shadow:
1 # cat /etc/shadow
Verique que as senhas criptografadas esto agora no arquivo /etc/passwd atravs
do comando getent:
1 # getent passwd
Linux ONE Pgina 91
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
O comando getent obtm dados da base administrativa do sistema, seguindo a or-
dem de busca que est no arquivo /etc/nsswitch.conf:
1 # cat /etc/nsswitch.conf
2 # /etc/nsswitch.conf
3 #
4 # Example configuration of GNU Name Service Switch functionality.
5 # If you have the glibc -doc -reference and info packages
installed , try:
6 # info libc "Name Service Switch" for information about this file.
7
8 passwd: compat
9 group: compat
10 shadow: compat
11
12 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
13 networks: files
14
15 protocols: db files
16 services: db files
17 ethers: db files
18 rpc: db files
19
20 netgroup: nis
Observe a linha do passwd, o compat signica compatibilidade com o sistema, ou
seja, o arquivo /etc/passwd, mas os usurios e as senhas poderiam estar armazena-
dos em uma outra localidade, por exemplo em um servidor LDAP e se voc apenas
executasse um cat /etc/passwd, no veria todos os usurios do sistema, ento
sempre utilize o getent passwd porque no importa onde os dados esto arma-
zenados ele sempre seguir a ordem de busca do arquivo /etc/nsswitch.conf.
Para voltar as senhas criptografadas, execute:
Linux ONE Pgina 92
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
1 # pwconv
Agora as senhas esto protegidas novamente!! Antigamente estes comandos eram
utilizados para sistemas que no vinham com as senhas protegidas no /etc/shadow
por padro, hoje em dia praticamente todas as distribuies trazem o arquivo como
padro, ento utilizamos o comando para execuo de scripts para facilitar a captura
de senhas, como por exemplo a migrao de um servidor de e-mail, onde queremos
manter a senha antiga do usurio.
6.2.6 Diretrio /lib
1 # ls /lib
No diretrio /lib esto as bibliotecas compartilhadas e mdulos do kernel. As bibli-
otecas so funes que podem ser utilizadas por vrios programas.
Cada kernel tm seus prprios mdulos, que cam em: /lib/modules/<verso do ker-
nel>/kernel Separados por tipos em subdiretrios.
Para saber sua verso do kernel execute:
1 # uname -r
Para visualizar os tipos de mdulos:
1 # ls /lib/modules/$(uname -r)/kernel
Linux ONE Pgina 93
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.2.7 Diretrio /media
1 # ls /media
Ponto de montagem para dispositivos removveis, tais como:
hd
cd
dvd
disquete
pendrive
cmera digital
6.2.8 Diretrio /mnt
1 # ls /mnt
Este diretrio utilizado para montagem temporria de sistemas de arquivos, tais
como compartilhamentos de arquivos entre Windows e GNU/Linux, GNU/Linux e
GNU/Linux, etc.
6.2.9 Diretrio /opt
Linux ONE Pgina 94
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
1 # ls /opt
Normalmente, utilizado por programas proprietrios ou que no fazem parte oci-
almente da distribuio.
6.2.10 Diretrio /sbin
1 # ls /sbin
O diretrio /sbin guarda os comandos utilizados para inicializar, reparar, restaurar
e/ou recuperar o sistema. Isso quer dizer que esse diretrio tambm contm coman-
dos essenciais, mas os mesmos so utilizados apenas pelo usurio administrador
root. Entre os comandos esto:
halt
ifcong
init
iptables
Os usurios comuns no podem executar comandos do /sbin que alterem o sistema,
apenas alguns para visualizao.
EX:
Visualizar IP congurado na placa eth0:
Linux ONE Pgina 95
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
$ /sbin/ifcong eth0
Alterar IP da placa de rede:
$ /sbin/ifcong eth0 192.168.200.100
Obs.: necessrio passar o caminho completo do comando, pois o diretrio /sbin
no consta na lista de diretrios de comandos do usurio comum que denida na
varivel PATH, iremos estudar esta varivel durante o curso.
6.2.11 Diretrio /srv
1 # ls /srv
Diretrio para dados de servios fornecidos pelo sistema, cuja aplicao de alcance
geral, ou seja, os dados no so especcos de um usurio. Por exemplo:
/srv/www (servidor web)
/srv/ftp (servidor ftp)
6.2.12 Diretrio /tmp
1 # ls /tmp
Diretrio para armazenamento de arquivos temporrios. utilizado principalmente
para guardar pequenas informaes que precisam estar em algum lugar at que a
operao seja completada, como o caso de um download.
Linux ONE Pgina 96
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Enquanto no for concludo, o arquivo ca registrado em /tmp, e, assim que
nalizado, encaminhado para o local correto.
No Debian os dados so perdidos a cada reboot, j no CentOS os dados so manti-
dos durante dez dias aps seu ltimo acesso.
Para alterar no Debian:
1 # vim /etc/default/rcS
2 TMPTIME =
3 SULOGIN=no
4 DELAYLOGIN=no
5 UTC=yes
6 VERBOSE=no
7 FSCKFIX=no
Altere o valor da varivel TMPTIME para o nmero de dias que desejar manter os
dados aps o seu ltimo acesso.
Para alterar no CentOS:
1 # vim /etc/cron.daily/tmpwatch
2 flags=-umc
3 /usr/sbin/tmpwatch "$flags" -x /tmp/.X11 -unix -x /tmp/.XIM -unix \
4 -x /tmp/.font -unix -x /tmp/.ICE -unix -x /tmp/.Test -unix \
5 -X /tmp/hsperfdata_* 1d /tmp
6 /usr/sbin/tmpwatch "$flags" 3d /var/tmp
7 for d in /var/{ cache/man ,catman }/{cat?,X11R6/cat?,local/cat?}; do
8 if [ -d "$d" ]; then
9 /usr/sbin/tmpwatch "$flags" -f 3d "$d"
10 fi
11 done
Altere de 10 dias, para o total de dias que quiser.
Linux ONE Pgina 97
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.2.13 Diretrio /usr
1 # ls /usr
O diretrio /usr contm programas que no so essenciais ao sistema e que se-
guem o padro GNU/Linux, como, por exemplo, navegadores, gerenciadores de ja-
nelas, etc.
Fique atento as diferenas entre: /bin - binrios essenciais ao sistema /usr/bin
- binrios no essenciais ao sistema /usr/local/bin - scripts criados pelo usurio
6.2.14 Diretrio /var
1 # ls /var
O diretrio /var contm arquivos de dados variveis. Por padro, os programas
que geram arquivos de registro para consulta, mais conhecidos como logs, cam
armazenados nesse diretrio. Alm do log, os arquivos que esto aguardando em
las, tambm cam localizados em /var/spool.
Os principais arquivos que se utilizam do diretrio /var so:
mensagens de e-mail
arquivos a serem impressos
1 # ls /var/spool
Linux ONE Pgina 98
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
arquivos de log
1 # ls /var/log
6.2.15 Diretrio /proc
1 # ls /proc
O /proc um diretrio virtual, mantido pelo kernel, onde encontramos a congu-
rao atual do sistema, dados estatsticos, dispositivos j montados, interrupes,
endereos e estados das portas fsicas, dados sobre as redes, etc.
Utilize os paginadores more ou less para visualizar alguns arquivos:
1 # more /proc/interrupts
Neste arquivo esto as informaes das IRQs dos dispositivos.
Os endereos de IRQ so interrupes de hardware, canais que os dispositivos po-
dem utilizar para chamar a ateno do processador.
Na maioria das situaes, o sistema operacional simplesmente chaveia entre os apli-
cativos ativos, permitindo que ele utilize o processador durante um determinado es-
pao de tempo e passe a bola para o seguinte. Como o processador trabalha a uma
frequncia de clock muito alta, o chaveamento feito de forma muito rpida, dando
a impresso de que todos realmente esto sendo executados ao mesmo tempo.
Ao ser avisado atravs de qualquer um destes canais de IRQ, o processador imedia-
tamente pra qualquer coisa que esteja fazendo e d ateno ao dispositivo, voltando
Linux ONE Pgina 99
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
ao trabalho logo depois. Cada endereo uma espcie de campainha, que pode ser
tocada a qualquer momento. Se no fossem pelos endereos de IRQ, o processador
no seria capaz de ler as teclas digitadas no teclado, nem os clicks do mouse, a sua
conexo pararia toda vez que abrisse qualquer programa e assim por diante.
1 # less /proc/dma
o arquivo que contm a lista do registro ISA direto dos canais em uso da acesso a
memria (DMA).
Os canais de DMA so utilizados apenas por dispositivos de legado (placas ISA, por-
tas paralelas e drives de disquete) para transferir dados diretamente para a memria
RAM, reduzindo desta forma a utilizao do processador.
1 # more /proc/ioports
Neste arquivo encontramos informaes sobre os endereos das portas I/O (In-
put/Output).
Diferentemente dos endereos de IRQ, os endereos de I/O no so interrupes,
mas sim endereos utilizados para a comunicao entre os dispositivos. Cada dispo-
sitivo precisa de umendereo prprio mas, ao contrrio dos endereos de IRQ, existe
uma abundncia de endereos de I/O disponveis, de forma que eles raramente so
um problema.
6.2.16 Diretrio /sys
1 # ls /sys
Linux ONE Pgina 100
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Pode-se dizer que esse diretrio um primo do diretrio /proc. Dentro do diretrio
/sys podemos encontrar o quase o mesmo contedo do /proc, mas de uma forma
bem mais organizada para ns administradores.
Esse diretrio est presente desde a verso 2.6 do kernel, ele agrupa informaes
sobre os dispositivos instalados, incluindo o tipo, fabricante, capacidade, endereos
usados e assim por diante. Estas informaes so geradas automaticamente pelo
kernel e permitem que os servios responsveis pela deteco de hardware faam
seu trabalho, congurando impressoras e criando cones no desktop para acesso ao
pendrive, por exemplo.
6.2.17 Diretrios /home e /root
1 # ls /home /root
Os diretrios /root e /home podem estar disponveis no sistema, mas no pre-
cisam obrigatoriamente possuir este nome. Por exemplo, o diretrio /home poderia
se chamar /casa, que no causaria nenhum impacto na estrutura do sistema.
O /home contm os diretrios pessoais dos usurios cadastrados no sistema.
O /root o diretrio pessoal do super usurio root.
O root o administrador do sistema, e pode alterar as conguraes do sistema,
congurar interfaces de rede, manipular usurios e grupos, alterar a prioridade dos
processos, entre outras. Dica: Utilize uma conta de usurio normal em vez da conta
root para operar seu sistema.
Uma razo para evitar usar privilgios root regularmente, a facilidade de
se cometer danos irreparveis; alm do que, voc pode ser enganado e rodar um
Linux ONE Pgina 101
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
programa Cavalo de Tria (programa que obtm poderes do super usurio) com-
prometendo a segurana do seu sistema sem que voc saiba.
6.2.18 Localizao no sistema: nd
O comando nd procura por arquivos/diretrios no disco. Ele pode procurar arqui-
vos pela sua data de modicao, tamanho, etc. O nd, ao contrrio de outros
programas, usa opes longas por meio de um -.
Sintaxe do comando nd:
nd [diretrio] [opes/expresso]
-name [expresso] :
Procura pela [expresso] denida nos nomes de arquivos e diretrios processados.
1 # find /etc -name *.conf
-maxdepth [num] :
Limita a recursividade de busca na rvore de diretrios. Por exemplo, limitando a 1,
a busca ser feita apenas no diretrio especicado e no ir incluir nenhum subdire-
trio.
1 # find /etc -maxdepth 1 -name *.conf
Linux ONE Pgina 102
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
-amin [num] :
Procura por arquivos que foram acessados [num] minutos atrs. Caso seja antece-
dido por -, procura por arquivos que foram acessados entre [num] minutos atrs e
o momento atual.
1 # find ~ -amin -5
-atime [num] :
Procura por arquivos que foram acessados [num] dias atrs. Caso seja antecedido
por -, procura por arquivos que foram acessados entre [num] dias atrs e a data
atual.
1 # find ~ -atime -1
-uid [num] :
Procura por arquivos que pertenam ao usurio com o uid 1000 [num].
1 # find / -uid 1
-user [nome] :
Procura por arquivos que pertenam ao usurio aluno [nome].
1 # find / -user aluno
-perm [modo] :
Linux ONE Pgina 103
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
Procura por arquivos que possuem os modos de permisso [modo]. Os [modo] de
permisso podem ser numrico (octal) ou literal.
1 # find / -perm 644
-size [num] :
Procura por arquivos que tenhamo tamanho [num]. Otamanho especicado emby-
tes. Voc pode usar os suxos k, M ou G para representar o tamanho em Quilobytes,
Megabytes ou Gigabytes, respectivamente. O valor de [num] Pode ser antecedido de
+ ou - para especicar um arquivo maior ou menor que [num].
1 # find / -size +1M
-type [tipo] :
Procura por arquivos do [tipo] especicado. Os seguintes tipos so aceitos:
b - bloco; c - caractere; d - diretrio; p - pipe; f - arquivo regular; l - link simblico; s
- socket.
1 # find /dev -type b
Outros exemplos:
Procura no diretrio raiz e nos subdiretrios um arquivo/diretrio chamado grep
ignorando caso sensitivo:
1 # find / -iname GREP
Linux ONE Pgina 104
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
-iname - ignora case sensitive;
Procura no diretrio raiz e nos subdiretrios at o 2 nvel, um arquivo/diretrio cha-
mado grep:
1 # find / -maxdepth 2 -name grep
Procura no diretrio atual e nos subdiretrios um arquivo com tamanho maior que
1000 kbytes (1Mbyte).:
1 # find . -size +1k
Procura no diretrio raiz e nos subdiretrios um arquivo que foi modicado h 10
minutos atrs ou menos:
1 # find / -mmin -1
Procura diretrios a partir do diretrio /etc e tambm executa um comando no resul-
tado da busca com a opo exec, no exemplo o comando ls -ld:
1 # find /etc -type d -exec ls -ld {} \;
6.2.19 xargs
Outra forma de procurar por arquivos e/ou diretrios e executar um comando atra-
vs do comando xargs que obtm como a entrada a sada ok do comando antes do
pipe e envia como stdin do prximo comando, no caso o ls -ld:
Linux ONE Pgina 105
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
1 # find /etc -type d | xargs ls -ld
Vamos agora listar diretrios utilizando o xargs:
1 # ls / | xargs -n1
2 # ls / | xargs -n2
3 # ls / | xargs -n3
Outros testes com o xargs:
1 # ls / > teste_xargs.txt
2 # cat teste_xargs.txt
3 # cat teste_xargs.txt | xargs -n 2
4 # xargs -n 3 < teste_xargs.txt
Voc percebeu que no primeiro comando ele listou o diretrio, jogando na tela um
nome de cada vez. O segundo comando far o mesmo s que com dois nomes na
mesma linha, e o terceiro com 3 nomes.
Tempo de execuo de um programa: time
Ocomando time permite medir o tempo de execuo de umprograma. Sua sintaxe
: time [programa].
Exemplo:
1 # time find / -name *.conf
Localizao usando base de dados: locate
Linux ONE Pgina 106
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
O comando locate um comando rpido de busca de arquivos, porm no usa
busca recursiva na sua rvore de diretrios. Ele utiliza uma base de dados que
criada pelo comando updatedb, para que a busca seja mais rpida. Por padro, a
atualizao da base de dados agendado no cron do sistema para ser executada
diariamente.
Para utiliz-lo, primeiro necessrio criar a sua base de dados usando a seguinte
sintaxe:
1 # updatedb
Quando esse comando executado pela primeira vez costuma demorar um pouco.
Isso deve-se a primeira varredura do disco para a criao da primeira base de dados.
Para o comando locate, usamos a seguinte sintaxe:
1 # locate howto
A sada do comando ser algo parecido com:
1 /usr/share/doc/python2.4-xml/howto.cls
2 /usr/share/doc/python2.4-xml/xml -howto.tex.gz
3 /usr/share/doc/python2.4-xml/xml -howto.txt.gz
/usr/share/vim/vim64/doc/howto.txt
Linux ONE Pgina 107
Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios
6.3 Lab4
1 - Localizar diretrio httpd que est localizado dentro do diretrio que contm os
arquivos de conguraes do sistema, criar o diretrio /backup/confs e copi-lo para
l.
Linux ONE Pgina 108
Captulo 7
Editores de texto
Linux Force www.linuxforce.com.br Editores de texto
7.1 Introduo terica
A grande maioria das conguraes em sistemas GNU/Linux so feitas editando
diretamente arquivos de congurao em modo texto. Para facilitar essa tarefa,
preciso conhecer alguns editores de texto, dentre eles: vi, vim, nano, pico,
mcedit, ed, e emacs dentre outros:
vi - Sem dvida nenhuma o editor mais famoso de todos os tempos, presente
em quase todas as distribuies;
vim - Uma verso melhorada do vi, Vim signica VImproved e traz diversas
facilidades sem perder os conceitos originais do vi;
nano - Editor padro de muitas distribuies como Debian , CentOS esse editor
diferente do vim e muito fcil de ser usado;
pico - Muito parecido como nano, este est presente nas distribuies Slackware
e Gentoo;
mcedit - Editor muito fcil e completo. Seu grande diferencial a possibilidade
da utilizao do mouse, mesmo no ambiente textual;
ed - O editor de textos mais simples no mundo Unix, o ed um editor de linha
para terminais aonde no possvel abrir uma janela de edio;
emacs - Poderoso editor de "tudo", o emacs tambm muito conhecido no
mundo GNU/LINUX por fazer muitas coisas diferenciadas de um editor de texto;
Neste captulo vamos abordar apenas a utilizao dos editores nano e vim. Isso
porque eles so os mais usados.
Linux ONE Pgina 110
Linux Force www.linuxforce.com.br Editores de texto
7.2 Editor Nano
O nano o editor padro de textos do Debian e Red Hat, e distribuies baseadas
neles. Esse editor muito fcil de ser usado, e sua interface muito intuitiva e
agradvel. Para abrirmos o editor devemos chamar o seguinte comando:
1 # nano [arquivo]
Ao ser chamado, este editor ir apresentar um tela em branco com um rodap se-
melhante a esse:
Vamos analisar essas funes:
Lembrando que "
G Get Help - Apresenta uma tela de ajuda para os mais diversos comandos e
uma breve explicao sobre o editor;
X Exit - Sai do editor, lembrando que se o arquivo no estiver salvo, essa opo
ir te pedir para salv-lo;
WriteOut - Salva ou sobrescreve um arquivo;
J Justify - Justica o arquivo inteiro;
R Read File - Importa um arquivo;
Linux ONE Pgina 111
Linux Force www.linuxforce.com.br Editores de texto
W Where Is - Procura por uma ocorrncia dentro do arquivo;
Y Prev Page - Move o cursor para pagina anterior;
V Next Page - Move o cursor para prxima pagina;
K Cut Text - Corta a linha em que o cursor est posicionado;
UnCut Text - Cola a linha recortada na posio atual do cursor
C Cur Pos - Mostra informaes sobre a posio do cursor;
T To Spell - Ativa a correo ortogrca. necessrio ter o comando spell
instalado para que isso funcione;
Como podemos ver, usar o editor de textos nano, no uma das tarefas mais
difceis no GNU/Linux. Vamos conhecer, agora, o editor Vim.
Para denirmos qual ser o editor padro no Debian podemos usar o aplicativo
update-alternatives.
1 # update -alternatives --config editor
Linux ONE Pgina 112
Linux Force www.linuxforce.com.br Editores de texto
7.3 Editor Vim
O Vi o editor bsico do GNU/Linux, e est disponvel em grande parte das distri-
buies do GNU/Linux, mesmo naquelas que vm em apenas um disquete. Hoje em
dia, as distribuies usam uma verso mais completa e com mais recursos do que o
Vi que o Vim = VI iMproved. Abaixo podemos ver uma tela do editor de textos
vim:
Ao invocar o vim, este entra direto para o modo visualizao. Para modicar o
arquivo, usam-se os modos de insero, deleo e de substituio. Para voltar ao
modo de visualizao, sempre se usa a tecla ESC.
A grande maioria dos servios em Unix so congurados atravs de arquivos de
congurao, o vim no seria diferente. Seu arquivo de congurao ca localizado
em /etc/vim/vimrc. Para congurar o seu editor de textos, basta descomentar as
funcionalidades desejadas, e copiar o arquivo para o seu home como .vimrc.
1 $ cp /etc/vim/vimrc ~/. vimrc
Linux ONE Pgina 113
Linux Force www.linuxforce.com.br Editores de texto
7.4 Praticando
1 # vim texto
2 # Para inserir digite: i
3 i => Entra no modo de insero antes do cursor
4
5 # Para sair do modo de insero digite: ESC
6
7 # Para inserir uma linha abaixo do cursor digite: o
8 o => Insere uma linha abaixo do cursor e entra no modo de insero
9
10 # Para sair do modo de insero digite: ESC
11
12 # Para inserir uma linha acima do cursor digite: O
13 O => Insere uma linha acima do cursor e entra no modo de insero
14
15 # Para sair do modo de insero digite: ESC
16
17 # Para desfazer a ltima alterao digite: u
18
19 # Para refazer digite: CTRL+R
20
21 # Para numerar as linhas digite: :set number
22
23 # Para copiar a segunda linha digite: :2y
24
25 # Para colar na linha abaixo do cursor digite: p
26
27 # Para ir para a primeira linha digite: gg
28
29 # Para colar na linha acima do cursor , "3 vezes" digite: 3P
30
31 # Para salvar as alteraes digite: :w
32
33 # Para sair do arquivo sem salvar digite: :q ou Para forar a
sada sem salvar: :q!
Linux ONE Pgina 114
Linux Force www.linuxforce.com.br Editores de texto
1 # vim texto
2 # Para ir para a ltima linha digite: G
3
4 # Para deletar "recortar" a linha atual digite: dd
5
6 # Para salvar e sair do arquivo: x ou Para forar: x!
1 # vim texto
2 # Delete as 5 primeiras linhas digitando: :1,5d ou Com o
cursor na primeira linha digite: 5dd ou d5d
3
4 # Para sair sem salvar digite: q!
1 # vim texto
2 # buscar palavra "inser" dentro do arquivo abaixo do cursor ,
digite: /inser
3 # Para ir para a prxima ocorrncia digite: n
4 # Para ir para a ocorrncia anterior digite: N
5 # Buscar palavra "inser" dentro do arquivo acima do cursor , digite:
?inser
6 # Para grifar todos os resultados da busca , digite: :set hlsearch
7.4.1 Outras funcionalidades do vim
Comandos bsicos de insero de texto:
i - Insere texto antes do cursor;
Linux ONE Pgina 115
Linux Force www.linuxforce.com.br Editores de texto
a - Insere texto depois do cursor;
r - Substitui texto no incio da linha onde se encontra o cursor;
A - Insere texto no nal da linha onde se encontra o cursor;
o - Adiciona linha abaixo da linha atual;
O - Adiciona linha acima da linha atual;
Ctrl + h - Apaga o ltimo caractere.
Comandos bsicos de movimentao:
Ctrl+f - Move o cursor para a prxima tela;
Ctrl+b - Move o cursor para a tela anterior;
H - Move o cursor para a primeira linha da tela;
M - Move o cursor para o meio da tela;
L - Move o cursor para a ltima linha da tela;
h - Move o cursor um caractere esquerda;
j - Move o cursor para a prxima linha;
k - Move o cursor para linha anterior;
l - Move o cursor um caractere direita;
w - Move o cursor para o incio da prxima palavra;
W - Move o cursor para o incio da prxima palavra, separadas por espao;
Linux ONE Pgina 116
Linux Force www.linuxforce.com.br Editores de texto
b - Move o cursor para o incio da palavra anterior;
B - Move o cursor para o incio da palavra anterior, separadas por espao;
0(zero) - Move o cursor para o incio da linha atual;