apostila linux centos

363
Linux ONE www.linuxforce.com.br

Upload: lucas-gois

Post on 24-Nov-2015

222 views

Category:

Documents


26 download

TRANSCRIPT

  • Linux ONE

    www.linuxforce.com.br

  • Contedo

    1 Conhecendo um novo mundo 11.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 Distribuies GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Instalao Desktop Debian e CentOS 72.1 Instalao do Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.1.1 Instalao CentOS: . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3 Primeiros Passos 303.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.2 Terminal Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3.3 Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3.4 Introduo ao Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.5 Configuraes de Teclado no Console . . . . . . . . . . . . . . . . . . . 38

    3.5.1 Alterando o Layout do teclado: . . . . . . . . . . . . . . . . . . . 38

    3.5.2 CentOS: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.6 Configuraes 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 524.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

  • Linux Force www.linuxforce.com.br Contedo

    4.2 Formas de Documentao . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.1 How-tos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.2 Manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.3 Documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4.3 Comandos de ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.1 Comando help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.2 Comando apropos . . . . . . . . . . . . . . . . . . . . . . . . . . 584.3.3 Comando whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3.4 Comando man . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.3.5 Comando info . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    4.4 Comando whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5 Comando which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.6 lab2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    5 Aprendendo comandos do GNU/Linux 695.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2 O comando ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.3 Criao, movimentao, cpia e remoo de arquivos e diretrios . . . 74

    5.3.1 Criar arquivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3.2 Curingas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3.3 Criando diretrios . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3.4 Removendo arquivos/diretrios . . . . . . . . . . . . . . . . . . 785.3.5 Copiar arquivos/diretrios . . . . . . . . . . . . . . . . . . . . . . 805.3.6 Mover ou renomear arquivos/diretrios . . . . . . . . . . . . . . 81

    5.4 LAB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    6 FHS, Hierarquia dos Diretrios 836.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846.2 Estrutura de Diretrios GNU/Linux . . . . . . . . . . . . . . . . . . . . . 85

    6.2.1 Diretrio / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.2.2 DIRETRIO /bin . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.2.3 Diretrio /boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.2.4 Diretrio /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.2.5 Diretrio /etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2.6 Diretrio /lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.2.7 Diretrio /media . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    Linux ONE Pgina ii

  • Linux Force www.linuxforce.com.br Contedo

    6.2.8 Diretrio /mnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946.2.9 Diretrio /opt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946.2.10 Diretrio /sbin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.2.11 Diretrio /srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.2.12 Diretrio /tmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.2.13 Diretrio /usr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.2.14 Diretrio /var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.2.15 Diretrio /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2.16 Diretrio /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2.17 Diretrios /home e /root . . . . . . . . . . . . . . . . . . . . . . . 1016.2.18 Localizao no sistema: find . . . . . . . . . . . . . . . . . . . . 1026.2.19 xargs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    6.3 Lab4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    7 Editores de texto 1097.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107.2 Editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117.3 Editor Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.4 Praticando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    7.4.1 Outras funcionalidades do vim . . . . . . . . . . . . . . . . . . . 1157.5 Deixando o vim com sua cara: . . . . . . . . . . . . . . . . . . . . . . . 1207.6 LAB5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    8 Administrao da Shell 1228.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238.2 O que uma shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248.3 Variveis em Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    8.3.1 Variveis Locais e de Ambiente (globais) . . . . . . . . . . . . . 1278.4 Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    8.4.1 Arquivos de Login . . . . . . . . . . . . . . . . . . . . . . . . . . 1338.4.2 Arquivos /etc/issue e /etc/motd . . . . . . . . . . . . . . . . . . . 134

    8.5 Tipos de shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.6 LAB6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

    9 Introduo a Redes 1389.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    Linux ONE Pgina iii

  • Linux Force www.linuxforce.com.br Contedo

    9.2 Entendendo o IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409.3 Entendendo o gateway da rede . . . . . . . . . . . . . . . . . . . . . . 1429.4 O servidor DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439.5 Arp e RARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.6 Configurando a Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    9.6.1 Configurando IP e Mscara . . . . . . . . . . . . . . . . . . . . . 1459.6.2 Configurando o gateway . . . . . . . . . . . . . . . . . . . . . . 1479.6.3 Configurao dos DNS Servers . . . . . . . . . . . . . . . . . . 1489.6.4 Configurao esttica de rede . . . . . . . . . . . . . . . . . . . 149

    9.7 Configurando hosts e hostname DEBIAN . . . . . . . . . . . . . . . . . 1529.8 Configurando hosts e hostname CentOS: . . . . . . . . . . . . . . . . . 1549.9 LAB7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

    10 Servidor SSH 15710.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15810.2 Chaves de Criptografia Assimtricas . . . . . . . . . . . . . . . . . . . . 15910.3 Formas de Utilizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

    10.3.1 Acesso SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16010.3.2 Copiando Arquivos Remotos . . . . . . . . . . . . . . . . . . . . 16110.3.3 Cpia maq_LOCAL para maq_REMOTA . . . . . . . . . . . . . 16110.3.4 Cpia maq_REMOTA para maq_LOCAL . . . . . . . . . . . . . 16210.3.5 SSH com Chaves Assimtricas . . . . . . . . . . . . . . . . . . . 16310.3.6 Acesso por SSH sem senha com ssh-agent . . . . . . . . . . . . 16510.3.7 Configurando o servidor SSH (CentOS): . . . . . . . . . . . . . . 16610.3.8 Cpia remota com porta diferente: . . . . . . . . . . . . . . . . . 17110.3.9 Tunelamento SSH . . . . . . . . . . . . . . . . . . . . . . . . . . 17210.3.10Mensagem em broadcast: wall . . . . . . . . . . . . . . . . . . . 173

    10.4 LAB8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

    11 TCP Wrappers 17611.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17711.2 Entendendo o TCP Wrappers . . . . . . . . . . . . . . . . . . . . . . . . 17811.3 Suporte a TCP/Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . 180

    12 Comandos avanados 18212.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: file . . . . . . . . . . . . . . . . . . . . 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.3Classificao: 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 . . . . . . . . . . . . . . . . 22012.15.1join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22012.15.2paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

    12.16lab9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    13 Manipulando Hardware e Dispositivos 22313.1 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22413.2 Explorando o /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22513.3 Dispositivos de armazenamento . . . . . . . . . . . . . . . . . . . . . . 22913.4 O que uma partio? . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

    13.4.1 Tipos de parties . . . . . . . . . . . . . . . . . . . . . . . . . . 23213.5 Criando Parties no HD . . . . . . . . . . . . . . . . . . . . . . . . . . 23613.6 Particionamento com FDISK . . . . . . . . . . . . . . . . . . . . . . . . 237

    13.6.1 Particionamento com CFDISK . . . . . . . . . . . . . . . . . . . 23913.7 Aplicando um Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . 242

    13.7.1 O que JOURNALING? . . . . . . . . . . . . . . . . . . . . . . 24313.7.2 Aplicando um FileSystem . . . . . . . . . . . . . . . . . . . . . . 24413.7.3 Espao em Disco: df . . . . . . . . . . . . . . . . . . . . . . . . . 24513.7.4 Definindo tamanho dos objetos: du . . . . . . . . . . . . . . . . . 245

    13.8 Devices, UUID e Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . 24713.8.1 Rotulando uma partio: . . . . . . . . . . . . . . . . . . . . . . 25013.8.2 Usando os dispositivos de armazenamento . . . . . . . . . . . 251

    13.9 Migrando de Filesystem ext sem perder dados: . . . . . . . . . . . . . . 25813.10SWAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26213.11Montagem automtica de Filesystem no boot . . . . . . . . . . . . . . . 264

    13.11.1Mostrar o uso de memria RAM: free . . . . . . . . . . . . . . . 26513.12LAB10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

    14 Instalando, removendo e atualizando programas 26814.1 O que um pacote? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26914.2 Mas o que um gerenciador de pacotes? . . . . . . . . . . . . . . . . 27014.3 Gerenciando pacotes no Debian: . . . . . . . . . . . . . . . . . . . . . . 27114.4 Instalao, Remoo e Atualizao . . . . . . . . . . . . . . . . . . . . 27214.5 Removendo pacotes que no sero mais usados . . . . . . . . . . . . . 27814.6 Atualizar pacotes instalados: . . . . . . . . . . . . . . . . . . . . . . . . 27914.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. . . . . . . . 28114.8.1 Instalando pacotes: . . . . . . . . . . . . . . . . . . . . . . . . . 28314.8.2 Removendo pacotes: . . . . . . . . . . . . . . . . . . . . . . . . 28314.8.3 Atualizando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . 284

    15 Compilando Programas 28515.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28615.2 Configure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28715.3 Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28815.4 LAB11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

    16 Bibliotecas 29316.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29416.2 Tipos fundamentais de programas executveis . . . . . . . . . . . . . . 29516.3 Modo Esttico e Compartilhado . . . . . . . . . . . . . . . . . . . . . . . 29716.4 Listando Bibliotecas disponveis . . . . . . . . . . . . . . . . . . . . . . 29916.5 Localizao das bibliotecas? . . . . . . . . . . . . . . . . . . . . . . . . 30016.6 Adicionando novas bibliotecas ao sistema . . . . . . . . . . . . . . . . 30116.7 lab12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

    17 Instalao de Programas com DPKG e RPM 30617.1 Pacotes Debian - DPKG . . . . . . . . . . . . . . . . . . . . . . . . . . . 30717.2 Pacotes RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

    17.2.1 Base de dados RPM . . . . . . . . . . . . . . . . . . . . . . . . . 30917.3 Prtica Dirigida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

    17.3.1 Convertendo extenses de arquivos . . . . . . . . . . . . . . . . 31317.3.2 Gerenciando Pacotes em Formato RPM . . . . . . . . . . . . . . 315

    18 Gerenciamento de Processos 31918.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32018.2 E como fazemos para gerenciar os processos? . . . . . . . . . . . . . . 32518.3 Definido prioridades dos processos . . . . . . . . . . . . . . . . . . . . . 33618.4 LAB14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

    19 Inicializao 33919.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34019.2 System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

    Linux ONE Pgina vii

  • Linux Force www.linuxforce.com.br Contedo

    19.3 Nveis de Execuo - System V . . . . . . . . . . . . . . . . . . . . . . . 34219.4 O que faz um script de inicializao? . . . . . . . . . . . . . . . . . . . . 34519.5 Removendo um script da inicializao: . . . . . . . . . . . . . . . . . . . 34819.6 Gerenciando servios: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35119.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 decustos de licena. usufruir de uma filosofia 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 maissobre 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 quevm construindo o sistema operacional como um todo.

    GNU, que um acrnimo recursivo de GNUs Not Unix. Trata-se, de um grupo quefoi fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criarum sistema operacional Unix-like desprovido de amarras e travas ao seu uso. Osdesenvolvedores GNU criaram uma srie de programas bsicos para um sistemaoperacional funcional, como editores de texto e compiladores. Entretanto, havia umpedao de cdigo essencial, que ainda no tinha sido criado: o kernel.

    Em 1991, um jovem finlands chamado Linus Torvalds disponibilizou para o mundoa primeira verso do Linux, um kernel Unix-like. A partir desse ponto, foi possvelunir o kernel Linux com os softwares GNU, originando o sistema operacional quechamamos de GNU/Linux.

    O mundo GNU/Linux no apenas um conjunto de programas. Ele traz consigo umafilosofia de Mundo Livre e colaborativo, no qual as pessoas podem utilizar essessoftwares irrestritamete, acima de tudo, aprender com eles, uma vez que seu cdigofonte deve ser disponvel a todos que queiram melhor-lo ou apenas aprender comele. Para que esse mundo continue livre, Richard Stallman fundou a FSF - FreeSoftware Foundation, que criou e mantm a licena GNU GPL - GNU GeneralPublic License. Esta licena define, de modo simplificado, que o Software deverespeitar 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 ssuas necessidades. Ter acesso ao cdigo fonte essencial para isso;

    liberdade 2 - liberdade de redistribuir cpias de forma que voc possa ajudaroutras pessoas;

    liberdade 3 - liberdade para melhorar o programa e disponibilizar as melho-rias para o pblico, de forma que toda a comunidade possa se beneficiar. Teracesso ao cdigo fonte essencial tambm para isso.

    Atualmente a GPL est disponvel em trs verses, GPLv1, GPLv2 e GPLv3. Fiquepor 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 oficialde seus mantenedores: http://www.kernel.org

    Informaes sobre os projetos GNU e FSF podem ser obtidas nos seus respectivossites:

    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, Ubuntudentre outras. Mas, o que realmente isso? O que so todos esses nomes? Essasso 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 queo diferencia de outros sistemas operacionais GNU/Linux, fazendo-os nicos.

    Mas, por que existem tantas distribuies? Justamente porque se voc no se iden-tifica com nenhuma delas, voc livre para fazer a sua prpria. Por exemplo, em1993, 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 emCD. A partir desse ponto, foram surgindo diversas outras distribuies que de algumaforma diferiam da filosofia 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 comunidadesde colaboradores, entretanto, h outras que so mantidas por empresas. Dessaforma, podemos dividir as distros, abreviao bastante utilizada na comunidade eque se refere s distribuies, em duas categorias bsicas:

    Livres

    Corporativas

    Distribuies Livres - Mantidas por comunidades de colaboradores sem fins 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 outrasde menor importncia.

    Distribuies Corporativas - Mantidas por empresas que vendem o suporte ao seusistema. Exemplos: RedHat, Ubuntu, Suse e Mandriva.

    Neste ponto vale ressaltar o fato de que o produto vendido pelas empresas quecomercializam sistemas GNU/Linux, so na verdade, os servios relacionados aosistema operacional, como suporte tcnico, garantias e treinamentos, ou seja, o ex-pertise do sistema. Ento, de fato, no h produto algum sendo vendido, apenas osservios relacionados aos softwares agregados na distribuio GNU/Linux.

    a liberdade do software, garantida pela licena GPL, que perpetua o respeito dosdireitos definidos pela FSF. Isso porque, pela definio de Software Livre, nunca, emhiptese alguma, permitido que o cdigo fonte seja negado ao cliente, ao receptordo Software. Assim, por mais que uma empresa queira utilizar mecanismos poucoticos para fazer o seu prprio sistema GNU/Linux, enquanto ela estiver utilizandosoftwares licenciados sob a licena GPL, ela ser obrigada a distribuir o cdigo fontedos programas.

    Dentro do conjunto de Distribuies Livres, podemos dividi-las novamente em duasoutras categorias:

    Convencionais

    Live

    Distribuies Convencionais - So distribudas da forma tradicional, ou seja, umaou mais mdias que so utilizadas para instalar o sistema no disco rgido;

    Distribuies Live - So distribudas em mdias com o intuito de rodarem a partirdelas, sem a necessidade de serem instaladas no HD. As distribuies Live ficaramfamosas 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 configurados, funcionando e com interfacesagradveis aos usurios finais. Exemplos desse tipo de distribuio so o Knop-pix, do qual se originaram diversas outras como o Kurumin ou Kalango, que soverses traduzidas e adaptadas realidade brasileira.

    Para entender um pouco mais sobre distribuies, necessrio lembrar de mais duascaractersticas:

    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 especificamente para ela. Exemplos:

    Debian ;

    RedHat;

    Gentoo;

    Slackware;

    Distribuies Provenientes (Baseadas) - Aproveitam ferramentas e bases j de-senvolvidas por outras distribuies. Distribuies baseadas usam distribuies FromScratch para alcanar seus objetivos mais rpido, dando maior ateno ao propsitoda 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):

    Confirme 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

    Confirme 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 gravadasno 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 sequnciaconfirmando sua leitura, caso contrrio responda no.

    Caso tenha um repositrio de pacotes (espelho de rede) digite sim, caso contrriono:

    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 ainternet, 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:

    Configurar rede:

    Linux ONE Pgina 21

  • Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS

    Escolha sua regio para configurao do fuso horrio:

    Defina 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 pacotesutilizar:

    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

    Configurando 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:

    Configure a hora correta:

    Linux ONE Pgina 27

  • Linux Force www.linuxforce.com.br Instalao Desktop Debian e CentOS

    Crie um usurio:

    Configure 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 figura abaixo procura demonstrar como o sistema operacional GNU/Linux se orga-niza em layers - camadas. Verifique

    importante entender cada uma dessas camadas para compreender o conjunto quechamamos de Sistema Operacional.

    Vamos descrever cada uma delas:

    Hardware - Dispositivos que esto disponveis para o uso do sistema, tais comocd-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 camadasacima desta;

    Sistema Operacional - Essa layer tem como funo auxiliar e abrigar todos osaplicativos das camadas superiores. Segundo Linus Torvalds essa layer no deveser notada pelo usurio final;

    ttyN - Terminais Virtuais onde so executados os comandos e definidas as configu-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 grfica e escolher o tipo de ambiente grfico quedeve ser executado;

    Desktop Environment - Mais conhecido como Ambiente de Trabalho, respon-svel por abrigar todos os programas que necessitam de um ambiente grfico parafuncionar.

    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 vriosusurios conectados ao mesmo tempo, usando os terminais virtuais. Um terminalvirtual uma segunda seo de trabalho completamente independente de outras eque pode ser acessado no computador local ou remotamente, utilizando os progra-mas telnet, rsh, rlogin, rdesktop, vnc, ssh, etc. Nos dias de hoje, o acessoremoto muito importante. A qualquer distncia que se esteja do cliente, possvelatend-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 temfuno 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 peloambiente grfico - 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 estiverusando o modo grfico, deve segurar Ctrl + Alt enquanto pressiona uma tecla deatalho de F1 a F6.

    Um exemplo prtico: se voc estiver utilizando o sistema no terminal 1, pressioneCtrl + Alt + F2, e veja na primeira linha nome e verso do sistema operacional, nomeda mquina e o terminal no qual voc est. Voc pode utilizar quantos terminaisquiser, do F1 ao F6 (inclusive utilizando o X) e pode ficar saltando de terminal paraterminal.

    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 seunome 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 - nosistema.

    importante perceber que quando se digita a senha, no aparece nenhum retorno,como os famosos asteriscos. O objetivo evitar que um observador mais curiososeja 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. Entretantoexistem tambm outras interfaces, como, por exemplo, csh, tcsh, ksh e zsh.

    O kernel a parte mais prxima do hardware do computador. o ncleo do SistemaOperacional. Se seu GNU/Linux estiver com problemas, no chute seu computador,a culpa no dele.

    O local onde o comando ser digitado marcado por um trao piscante na tela, cha-mado de cursor. Tanto em Shell texto como em Shell grfico necessrio o usodo cursor para saber onde devemos iniciar a digitao de textos e nos orientarmosquanto posio na tela.

    Popularmente conhecido como linha de comando, o Shell interpreta a ao dousurio atravs das instrues digitadas. Estas instrues podero ser executadaspor 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 seudiretrio (pasta) padro o "/root", diferentemente dos demais usurios que ficamdentro 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 umusurio comun, pois antes do cursor ele identificado com "#" (jogo-da-velha).

    Usurio comum: qualquer usurio do sistema que no seja root e no tenhapoderes administrativos no sistema. Como j havamos dito anteriormente, o diret-rio padro para os usurios o /home. Antes do cursor, o Shell de um usuriocomum identificado com $ (cifro).

    Existem muitas funcionalidades no Shell, uma delas retornar comandos que jforam 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 nomedo 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 paracima, segura-se a tecla Shift e pressionamos o Page Up. Para rolarmos a telapara baixo, segura-se a tecla Shift e pressionamos o Page Down. Isto til paraver 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 usuriocomum 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 qualquercomado 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, oprompt mudar de $ para # avisando que voc est logado como administradordo 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 efinalidade 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 vocrealmente aluno, pois foi com ele que voc se logou na mquina antes de trocarde usurio.

    Ele tambm pode ser utilizado para trocar de usurio, ele no pedir a senha se vocfor usurio root:

    1 # su - aluno

    Com a opo - alm de trocar de usurio, tambm carregar as variveis locais dousurio:

    1 $ su -

    Linux ONE Pgina 37

  • Linux Force www.linuxforce.com.br Primeiros Passos

    3.5 Configuraes de Teclado no Console

    Imagine que voc instalou uma mquina na sua casa e o seu teclado um tecladopadro brasileiro ABNT2 e voc chegou ao cliente e ele s possui teclados comlayout americano. Como resolver o problema?

    3.5.1 Alterando o Layout do teclado:

    DEBIAN

    Altere o layout de teclado padro do sistema para ficar 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 asesso mas, essa alterao ser temporria. Para trocar definitivamente o padrode layout do teclado da mquina, altere o arquivo em /etc/sysconfig/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 Configuraes 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 noDebian e 1000 comandos no CentOS.

    1 # history

    Linux ONE Pgina 41

  • Linux Force www.linuxforce.com.br Primeiros Passos

    3.8 FC

    FC significa Find Command ou Fix Command pois ele executa as duas tare-fas, encontrar e corrigir comandos. Para listar os comandos j digitados, guardadosno history, digite:

    1 # fc -l

    Por padro mostra os ltimos 16 comandos. Para visualizar uma lista de comandosdo 2 ao 6 faa:

    1 # fc -l 2 6

    Para visualizar os ltimos 20 comandos:

    1 # fc -l -20

    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 \$ +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 quese 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 finalizar os programas e gravar osdados remanescentes na memria no disco rgido. Quando for mostrada a mensa-gem power down, pressione o boto POWER em seu gabinete para desligar aalimentao de energia do computador. Nunca desligue o computador diretamentesem 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, devidoa programas abertos e dados ainda no gravados no disco. Os comandos halt epoweroff disparam uma srie de procedimentos, como encerramento de serviose desligamento de sistemas de arquivos, que so executados antes da mquina serdesligada.

    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 docomputador. E se puder, tenha um No-break.

    O comando shutdown tem a seguinte sintaxe:

    1 # shutdown

    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 aexecutar a ao.

    Exemplo, desligar agora:

    1 # shutdown -h now

    Ou

    1 # shutdown -h 0

    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 eligar constantemente o Computador pelo boto ON/OFF ou RESET. Por isso,existem recursos para reiniciar o sistema sem desligar o computador. No GNU/Linuxvoc 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.

    Prefira um dos mtodos de reinicializao explicados acima e use o boto resetsomente em ltimo caso.

    Reiniciar agora:

    1 # shutdown -r now

    Ou

    1 # shutdown -r 0

    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 movimentaodentro 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. Irpara 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 especfico:

    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 especfico:

    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 grandesalvos 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-pecificado nenhum diretrio, ele ir mostrar o contedo daquele onde estamos nomomento. 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 final da linha de comando;

    Pressione as teclas Ctrl + A para mover o cursor para o incio da linha decomandos;

    Pressione as teclas Ctrl + E para mover o cursor para o fim da linha decomandos;

    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. Ocontedo apagado copiado e pode ser colado com Ctrl + y;

    Pressione as teclas Ctrl + l para limpar a tela e manter a linha de comandona primeira linha. Mas se voc der um Shift + Page Up voc ainda consegueenxergar 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 aocomando exit;

    Linux ONE Pgina 49

  • Linux Force www.linuxforce.com.br Primeiros Passos

    Pressione as teclas Ctrl + r para procurar x letra relacionada ao ltimocomando digitado que tinha x letra como contedo do comando.

    Executar o ltimo comando pressione: !!

    Executar um comando especfico do histrico de comandos: !, ouseja, !12

    Linux ONE Pgina 50

  • Linux Force www.linuxforce.com.br Primeiros Passos

    3.12 LAB1

    Execute o script1.sh do Lab1

    1- Configure o teclado que est desconfigurado e deixe permanente para que noprximo reboot continue funcionando.

    2 Foi agendado o desligamento da mquina para daqui a 10 minutos, cancele oshutdown.

    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 ltimoscinquenta anos, especialmente na rea tecnolgica. Por isso fundamental saberonde buscar informaes para manter-se sempre atualizado. Neste captulo, vamosaprender a consultar as documentaes existentes e como buscar informaes sobreo que precisamos.

    O Sistema Operacional GNU/Linux possui uma vasta biblioteca de documentao.Antes de recorrermos a ajuda de outras pessoas, devemos lembrar que podemoster a respostas que precisamos no prprio sistema, bem a nossa frente, ao teclar deum simples comando. Essa documentao em grande parte dos casos de extremaqualidade.

    O GNU/Linux cresceu porque a comunidade contribui para o sistema e sua docu-mentao. Essa comunidade no tem medo ou receio de compartilhar informaese disponibiliza o que foi desenvolvido no prprio sistema. muito importante reforarque no Software Livre, as pessoas nunca ocultam seu know-how, ou seja, vocpode 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 oficial dedocumentaes 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 formasnas 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 especfica, como montarum firewall, instalar uma webcam, configurar placas de som, configurar um servi-dor web e muitos outros. Normalmente esses documentos so instalados junto comsuas respectivas aplicaes ou podem ter um pacote especfico 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 sabercomo configurar um firewall, 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 maisconhecido 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 fica dependente de umnovo 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 mesmote dar uma lista de afazeres. O principal objetivo do manual te mostrar como asfuncionalidades daquele software podem ser usadas. Com o manual o aprendizadopara a utilizao da ferramenta facilitado, j que o mesmo possui alguns exemplosde 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 umaferramenta, 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 documentaodeve mostrar todas as partes relacionadas ao projeto.

    Podemos, por exemplo, citar a documentao de um projeto de rede, onde deveconstar no s documentos como how-tos e manuais, mas sim todas as espe-cificaes dos componentes, bem como cabos, switchs e routers dentre outrosdetalhes muito importantes.

    Como esse tipo de documentao muito especifica, devemos consultar o site decada 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 deleslogo 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 quaisopes 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, umcomando interno, um alias, uma palavra-chave do shell ou uma funo de shell defi-nida.

    Verifique 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 consultarpida dos parmetros que ele pode nos oferecer. importante entender que help na verdade um parmetro individual de cada comando, logo se um comando notiver esse parmetro existem outros meios para se obter ajuda. No se esquea deestudar as diferenas entre comandos internos e externos.

    4.3.2 Comando apropos

    O comando apropos utilizado quando no se sabe qual documentao acessarpara um determinado assunto, mostrando as man pages que contm a palavra-chave que foi especificada.

    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 aopo -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 especficas. O apropos busca aspginas de manuais e descries de maneira mais genrica. Se digitarmos a palavrapasswd ele nos trar tudo que tiver passwd, seja como nome ou parte do nome domanual ou na descrio. J o whatis nos trar somente o manual com nome exatoda 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 aopo -f:

    1 # man -f vim

    Para localizar as man pages, o comando apropos e whatis utilizam o mesmobanco de dados construdo com o comando catman ou makewhatis (executadopelo administrador do sistema, root). Para construir o banco de dados do comandoapropos 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 sobredeterminado comando, arquivo de configurao, bibliotecas, entre outros nos quaisestamos 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 configurao 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 configurao 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 oumodifica 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 doman:

    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, osidiomas e mais. Todos os nveis de manuais possuem sua determinada introduoque pode ser vista com o comando:

    1 # man intro

    Podemos ver os manuais em diversos idiomas diferentes, desde que o pacote para oidioma 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, paraque possamos ver os manuais em nosso idioma:

    1 # man -L pt_BR comando

    importante nesse ponto ressaltar que a documentao em nosso idioma dependede 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 passwdno nvel 1, que o comando, ento ele aparece primeiro quando digitamos manpasswd sem indicar o nvel. Esse manual do arquivo passwd est compactado napasta /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 tilquando j sabemos o nome do comando e s queremos saber qual sua respectivafuno.

    A navegao nas info pages feita atravs de nomes marcados com um * (hi-pertextos) que, ao pressionarmos Enter, nos leva at a seo correspondente, eBackspace 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, bastapressionar 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 grfica para visualizao de manuais de aplicativos grficos doGNOME; (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 configurao (caso exista), e a localizao das pginas de manuais dodeterminado comando ou arquivo.

    Para visualizarmos a localizao destes dados para um determinado comando ouarquivo, utilizamos a seguinte sintaxe:

    1 # whereis

    ou

    1 # whereis

    Mostrar a localizao do binrio do comando, do arquivo de configurao (casoexista), 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 smostra a localizao do binrio do comando.

    Para visualizar a localizao do binrio do comando, utilizamos a seguinte sintaxe:

    1 # which

    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 dee-mail com cinco letras.

    2 - Envie um e-mail para [email protected] Caso tenha dificuldades,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 doGNU/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 determinadatarefa. No mundo *NIX (GNU/Linux,Unix), o conceito de comandos diferente dopadro MS-DOS. Um comando qualquer arquivo executvel, que pode ser ou nocriado pelo usurio.

    Uma das tantas vantagens do GNU/Linux a variedade de comandos que ele ofe-rece, afinal, para quem conhece comandos, a administrao do sistema acaba setornando 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

    O comando ls possui muitos parmetros, veremos aqui as opes mais utilizadas. Aprimeira 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 1024 2007 -01 -15 23:17 boot

    Veja que a sada desse comando bem detalhada. Falando sobre os campos, parao 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 significa primeiro a entrar, pri-meiro a sair. So amplamente utilizados para implementar filas de espera. Os ele-mentos vo sendo colocados no final da fila 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 emque 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 dosistema, 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 informaa data e hora em que o diretrio foi criado. Finalmente, no ltimo campo temos onome do arquivo ou diretrio listado, que, no nosso exemplo, o boot.

    Com relao aos diretrios, importante ressaltar que o tamanho mostrado nocorresponde ao espao ocupado pelo diretrio e seus arquivos e subdiretrios. Esseespao aquele ocupado pela entrada no sistema de arquivos que corresponde aodiretrio.

    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_161206 .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 iniciadospor um . (ponto). Listar arquivos de forma recursiva, ou seja, listar tambm ossubdiretrios 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 comandotouch:

    1 # cd ~

    2 # touch arq1

    3 # touch arq2 arq3 arq4 arq5

    5.3.2 Curingas

    O significado da palavra curinga no dicionrio o seguinte: carta de baralho, queem certos jogos, muda de valor e colocao na sequncia. No sistema GNU/Linux bem parecida a utilizao desse recurso. Os curingas so utilizados para especificarum 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][0-9] - Usado para trabalhar com caracteres de a at z

    seguidos de um caractere de 0 at 9.

    6 [a,z][1,0] - Usado para trabalhar com os caracteres a e z seguidos

    de um caractere 1 ou 0 naquela posio.

    7 [a-z,1,0] - Faz referncia do intervalo de caracteres de a at z ou

    1 ou 0 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 ,01} - Faz referncia a sequncia de caracteres Xab ou X01.

    11 X{a-e,10} - Faz referncia a sequncia de caracteres Xa Xb Xc Xd Xe

    X10

    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 oudiretrio opcional para resultado final. 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 * paravisualizar 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 caractereno 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 filtragem mais exata, pois o curinga especifica qualquer caractere na-quela posio e [ ] especifica 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 especfica. O que pretendemos mostrar como visualizar maisde um arquivo de uma s vez. O uso de curingas muito til e pode ser utilizado emtodas 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 criaode uma estrutura como notas/abril/bimestre/prova exigiria a execuo de quatrocomandos 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 estejameles 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 confirmao:

    1 # rm -i arq4.new

    2 rm: remover arquivo comum vazio arq.new4 ?

    A opo -i fora a confirmao 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 diretriotreinamentolinux e de todo o seu contedo.

    Observao: Muita ateno ao usar o comando rm! Uma vez que os arquivose 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 paralidar 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 fazcom que a cpia mantenha os meta-dados dos arquivos, ou seja, no modifica adata 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 /2010/ 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 superficial, deve terpercebido a presena de vrios diretrios (pastas) no sistema. Entretanto, eles estoorganizados seguindo o padro POSIX, com o qual voc pode no estar muitofamiliarizado. Neste captulo, vamos conhecer a organizao, e explorar a estruturade diretrios de um sistema GNU/Linux.

    Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padro emrelao estrutura de diretrios. O primeiro esforo para padronizao de sistemasde arquivos para o GNU/Linux foi o FSSTND - Filesystem Standard, lanado noano de 1994.

    Cada diretrio do sistema tem seus respectivos arquivos que so armazenados con-forme regras definidas pela FHS - Filesystem Hierarchy Standard ou Hierar-quia Padro do Sistema de Arquivos, que define que tipo de arquivo deve serguardado em cada diretrio. Isso muito importante, pois o padro ajuda a mantercompatibilidade 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 fins 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 porquetem 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 asgavetas de um armrio. Cada gaveta guarda, normalmente, um tipo diferente deroupa, enquanto cada diretrio guarda um certo tipo especfico de arquivo.

    O arquivo pode ser um texto, uma imagem, planilha, etc. Os arquivos devem seridentificados 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 nosarquivos e diretrios.

    Sendo assim, um arquivo chamado Arquivo diferente de um outro chamadoARQUIVO 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 deveconter obrigatoriamente 14 diretrios, especificados 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 simblicovermelho -> arquivo compactado rosa -> imagem

    Este o principal diretrio do GNU/Linux, e representado por uma / (barra). no diretrio raiz que ficam todos os demais diretrios do sistema. Estes diretrios,que vamos conhecer agora, so chamados de subdiretrios pois esto dentro dodiretrio /.

    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 serutilizados 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 permiteescolher e carregar o sistema operacional que ser iniciado.

    6.2.4 Diretrio /dev

    1 # ls /dev

    No diretrio /dev ficam todos os arquivos de dispositivos. O GNU/Linux faz a co-municao com os perifricos por meio de links especiais que ficam armazenadosnesse diretrio, facilitando assim o acesso aos mesmos.

    Para verificar que seu mouse reconhecido como um arquivo, tente olhar o contedodo 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 fique com caracteres estranhos utilize o comando reset pararesetar 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 quedeseja 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 umprogramador 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 configurao do sistema. Nesse diretriovamos encontrar vrios arquivos de configurao, tais como: scripts de inicializaodo sistema, tabela do sistema de arquivos, configurao padro para logins dosusurios, etc.

    1 # cat /etc/passwd

    Vamos pegar uma linha de exemplo:

    1 aluno:x:1000:1000: aluno:/home/aluno:/bin/bash

    Vamos dividir esta linha em campos, onde cada campo separado por : (doispontos), 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 pausaa cada tela cheia exibindo uma mensagem --More", dando uma oportunidade aousurio ler a tela.

    Aperte enter para ir para a prxima linha ou espao para ir para a prxima pgina epara 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 possibilidadede 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$Eisi0J9Wh3fCEsz1 :11983:0:99999:7:::

    Este arquivo possui as senhas criptografadas dos usurios do sistema. Existe umaentada 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 oarquivo /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

    Verifique que no existe mais o arquivo /etc/shadow:

    1 # cat /etc/shadow

    Verifique que as senhas criptografadas esto agora no arquivo /etc/passwd atravsdo 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 significa compatibilidade com o sistema, ouseja, 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 apenasexecutasse um cat /etc/passwd, no veria todos os usurios do sistema, entosempre 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 eramutilizados para sistemas que no vinham com as senhas protegidas no /etc/shadowpor padro, hoje em dia praticamente todas as distribuies trazem o arquivo comopadro, ento utilizamos o comando para execuo de scripts para facilitar a capturade senhas, como por exemplo a migrao de um servidor de e-mail, onde queremosmanter 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 ficam em: /lib/modules//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, taiscomo compartilhamentos de arquivos entre Windows e GNU/Linux, GNU/Linux eGNU/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 ofici-almente da distribuio.

    6.2.10 Diretrio /sbin

    1 # ls /sbin

    O diretrio /sbin guarda os comandos utilizados para inicializar, reparar, restaurare/ou recuperar o sistema. Isso quer dizer que esse diretrio tambm contm coman-dos essenciais, mas os mesmos so utilizados apenas pelo usurio administradorroot. Entre os comandos esto:

    halt

    ifconfig

    init

    iptables

    Os usurios comuns no podem executar comandos do /sbin que alterem o sistema,apenas alguns para visualizao.

    EX:

    Visualizar IP configurado na placa eth0:

    Linux ONE Pgina 95

  • Linux Force www.linuxforce.com.br FHS, Hierarquia dos Diretrios

    $ /sbin/ifconfig eth0

    Alterar IP da placa de rede:

    $ /sbin/ifconfig eth0 192.168.200.100

    Obs.: necessrio passar o caminho completo do comando, pois o diretrio /sbinno consta na lista de diretrios de comandos do usurio comum que definida navarivel 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 alcancegeral, ou seja, os dados no so especficos 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 principalmentepara guardar pequenas informaes que precisam estar em algum lugar at que aoperao 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 fica registrado em /tmp, e, assim que finalizado, 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 =0

    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 osdados 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_* 10d /tmp

    6 /usr/sbin/tmpwatch "$flags" 30d /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 30d "$d"

    10 fi

    11 done