Sumário Introdução ao Universo Linux .................................................. 1 Conhecendo o Linux ................................................................................................... Sua História ................................................................................................................. Conhecendo o Unix ..................................................................................................... As Variações do Unix ................................................................................................. 2 2 3 4 Parte I 1 O Manual de Referências ....................................................................... 9 1.1 Sintaxe do Manual On-line .................................................................11 1.2 Principais Características do Linux ................................................... 12 1.2.1 Modular ............................................................................................... 12 1.2.2 Multitarefa ........................................................................................... 12 1.2.3 Multiusuário ........................................................................................12 1.2.4 Transportabilidade .............................................................................12 1.2.5 Comunicação com muita facilidade ............................................... 13 1.2.6 Ambiente Propício para Desenvolvimento ................................... 13 2 Conceitos Básicos do Sistema Operacional ...................................... 15 2.1 Estrutura do Sistema .............................................................................15 2.1.1 O Kernel ............................................................................................... 16 2.1.2 Shell ....................................................................................................... 17 2.1.3 Ferramentas e Aplicativos ................................................................18 2.2 Utilitários para Linux ........................................................................... 19 2.3 Processos ................................................................................................. 20 2.3.1 Redirecionamentos e Pipes (>, >>, <, | e ^) .................................. 21 2.4 Usuários .................................................................................................. 22 2.4.1 Tipos de Usuários ............................................................................... 22 2.4.2 Ambientes do Usuário ....................................................................... 23 2.4.3 Variáveis Ambientais no Sistema Operacional Linux .................24 2.5 A Sessão de Trabalho ............................................................................24 2.5.1 Inicialização de Sessão ...................................................................... 25 2.5.2 Finalização de Sessão ........................................................................ 25 3 Os Comandos do Linux .......................................................................... 27 3.1 Comandos para Identificação de Usuários ...................................... 27 3.2 Comandos Utilizados para Comunicação com Usuários .............. 29 3.3 Comandos Diversos .............................................................................. 31 4 Arquivos e Diretórios ............................................................................. 35 4.1 Pathname (Nome de Percurso) ........................................................... 36 4.2 Tipos de Arquivos Linux ...................................................................... 36 4.2.1 Arquivos Simples ................................................................................ 36 4.2.2 Arquivos-diretório .............................................................................. 36 4.2.3 Arquivos Especiais ............................................................................. 37 4.3 Comandos para Manipulação de Diretórios .................................... 37 4.4 Os Dois Diretórios Especiais: . e .. ...................................................... 39 4.5 Principais Diretórios do Sistema Linux ............................................. 40 5 Manipulação de Arquivos (Parte I) .................................................... 43 5.1 Descrição de Arquivos .......................................................................... 43 5.2 Comandos para Manipulação de Arquivos ..................................... 45 6 Conhecendo melhor as Permissões de Arquivos e o Diretório /etc ... 57 6.1 Permissões de Arquivos ........................................................................ 57 6.1.1 Dono e Grupo ..................................................................................... 58 6.2 Permissões ............................................................................................... 58 6.3 Comandos de Alteração de Permissões, Dono e Grupo ................ 58 6.4 O Diretório /etc ..................................................................................... 61 6.5 Configuração Geral ............................................................................... 62 6.6 Configuração de Rede .......................................................................... 64 7 O Interpretador de Comandos Shell .................................................. 67 7.1 7.2 7.3 7.4 7.5 O que é o Shell? ...................................................................................... 67 Área Local de Dados ............................................................................ 68 Variáveis Shell ........................................................................................ 68 Setando Variáveis Shell ........................................................................ 68 Referenciando Variáveis Shell ............................................................. 69 7.6 O Ambiente ............................................................................................ 70 7.7 Detendo o Controle do Shell ............................................................... 74 7.8 Reforçando .............................................................................................. 74 7.9 Programação em Shell Script .............................................................. 76 7.9.1 Aprendendo por Exemplos .............................................................. 76 7.9.1.1 Hello World ...................................................................................... 76 7.9.2 Parâmetros Posicionais ...................................................................... 77 7.9.3 Estruturas de Controle ...................................................................... 77 7.9.4 Funções ................................................................................................. 81 7.9.5 Lendo a Entrada do Usuário ........................................................... 82 8 Execução de Comandos .......................................................................... 83 8.1 Execução de Comandos ....................................................................... 84 8.2 Como um Processo é Formado ........................................................... 87 9 Manipulação de Arquivos (Parte II) ................................................... 91 9.1 Caracteres para Geração de Nomes de Arquivos ........................... 91 9.2 Manipulação de Dados de Entrada e Saída ..................................... 94 9.2.1 Redirecionando Entrada e Saída .....................................................94 9.2.1.1 Redirecionamento de Entrada - Caractere < .............................95 9.2.1.2 Redirecionamento de Saída - Caracteres > e > > ...................... 95 9.2.1.3 Redirecionamento de Saída de Erros - Caracteres 2> e 2> > ....96 9.3 Filtros ....................................................................................................... 96 9.4 Manipulando Saídas de Pipelines ( | ) ........................................... 100 9.4.1 Paginando a Saída de um Pipeline .............................................. 100 9.4.2 Imprimindo a Saída de um Pipeline ............................................ 100 9.5 Aprofundado-se nos Pipelines ......................................................... 101 9.6 Expressões de Bloco ............................................................................ 102 Parte II 1 Ferramentas e Configurações ............................................................ 107 1.1 O Editor VI ........................................................................................... 107 1.2 O Comando VI .................................................................................... 109 1.3 Inserindo Texto ................................................................................... 109 1.3.1 Movimentando o Cursor ................................................................ 110 1.3.2 Deletando Texto .............................................................................. 1.3.3 Alterando Texto ............................................................................... 1.3.4 Gravando Arquivo e/ou Finalizando o Editor .......................... 1.3.5 Pesquisando o Texto ....................................................................... 1.3.6 Utilizando Expressões Regulares ................................................. 1.4 Manipulando Arquivos - Modo ex .................................................. 1.4.1 Pesquisa Global e Substituição ...................................................... 1.4.2 Operando com Buffers de Edição ................................................ 1.4.3 Outros Comandos Úteis ................................................................. 1.4.4 Setando Opções do Comando ex ................................................. 110 110 111 112 112 113 113 114 115 115 2 Aproveitando o Multiprocessador no Linux .................................. 119 2.1 Processamento em Background ....................................................... 2.2 Substituição de Comandos ............................................................... 2.3 Comandos de Manipulação de Processos ...................................... 2.4 Armazenamento de Arquivos .......................................................... 2.4.1 Backup Físico ................................................................................... 2.4.2 Backup Lógico .................................................................................. 2.4.2.1 Comandos para Armazenamento de Dados .......................... 119 120 121 123 123 123 124 3 Dando uma Geral no seu Linux ....................................................... 129 3.1 Configuração do seu Linux – Miscelânia ....................................... 3.1.1 Comandos Gerais ............................................................................ 3.2 Compilando o Kernel do seu Linux ................................................ 3.2.1 Pegando o Fonte .............................................................................. 3.2.2 Descompactando o Fonte .............................................................. 3.2.3 Configurando o Kernel .................................................................. 3.2.4 Usando o Make Dep e o Make Clean .......................................... 3.2.5 Criando uma Imagem .................................................................... 3.2.6 Instalando o Kernel ......................................................................... 3.2.7 O Kernel não Compilou... .............................................................. 3.3 Passando Parâmetros no Boot .......................................................... 3.3.1 Onde Procurar ................................................................................. 3.3.2 Separando Alhos de Bugalhos ...................................................... 3.3.3 O que Fazer Agora? ........................................................................ 129 129 131 131 131 132 133 133 134 134 134 135 135 136 4 Squid, Apache, Acesso Remoto e Samba ....................................... 137 4.1 O Squid ................................................................................................. 137 4.1.1 Instalação .......................................................................................... 138 4.1.2 Como Obter o Squid ....................................................................... 138 4.1.3 Como Configurar ............................................................................ 139 4.1.4 Inicializando o Squid ...................................................................... 142 4.1.4.1 Configuração dos Usuários ou Clientes de Acesso ............... 142 4.1.4.2 Configurando os Navegadores .................................................. 143 4.1.4.3 Configurando como Proxy Transparente ............................... 143 4.2 O Samba ............................................................................................... 144 4.2.1 Instalação .......................................................................................... 144 4.2.2 Configuração ................................................................................... 145 4.2.3 Testando o Samba ........................................................................... 148 4.3 O Apache ............................................................................................. 149 4.3.1 Verificando se o Programa já não está Instalado ...................... 149 4.3.2 Instalação .......................................................................................... 149 4.3.3 Configuração ................................................................................... 150 4.3.4 Configurando o Nome do Site ...................................................... 151 4.3.5 Configurando o Administrador do Site ...................................... 152 4.3.6 Configurando o Diretório-raiz do Site ........................................ 152 4.3.7 Configurando a Liberação de Execução de CGIs e Server-Side Includes (SSI) .............................................................. 152 4.3.8 Configurando os Nomes dos Arquivos Padrão ......................... 153 4.3.9 Preparando o Diretório para as CGIs ......................................... 153 4.3.10 Configurando a Extensão dos Arquivos CGI .......................... 154 4.3.11 Configurando a Extensão dos Arquivos SSI ............................ 154 4.3.12 Testando a Configuração do Servidor Apache ....................... 155 4.3.13 Preparando o Apache para Iniciar Automaticamente .......... 156 4.3.14 Criando Páginas Pessoais para os Usuários do Sistema ........ 156