Sumário Introdução ao Universo Linux... 1 Conhecendo o Linux... 2 Sua História... 2 Conhecendo o Unix... 3 As Variações do Unix... 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 O que é o Shell?...67 7.2 Área Local de Dados...68 7.3 Variáveis Shell...68 7.4 Setando Variáveis Shell...68 7.5 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... 110 1.3.3 Alterando Texto... 110 1.3.4 Gravando Arquivo e/ou Finalizando o Editor... 111 1.3.5 Pesquisando o Texto... 112 1.3.6 Utilizando Expressões Regulares... 112 1.4 Manipulando Arquivos - Modo ex... 113 1.4.1 Pesquisa Global e Substituição... 113 1.4.2 Operando com Buffers de Edição... 114 1.4.3 Outros Comandos Úteis... 115 1.4.4 Setando Opções do Comando ex... 115 2 Aproveitando o Multiprocessador no Linux... 119 2.1 Processamento em Background... 119 2.2 Substituição de Comandos... 120 2.3 Comandos de Manipulação de Processos... 121 2.4 Armazenamento de Arquivos... 123 2.4.1 Backup Físico... 123 2.4.2 Backup Lógico... 123 2.4.2.1 Comandos para Armazenamento de Dados... 124 3 Dando uma Geral no seu Linux... 129 3.1 Configuração do seu Linux Miscelânia... 129 3.1.1 Comandos Gerais... 129 3.2 Compilando o Kernel do seu Linux... 131 3.2.1 Pegando o Fonte... 131 3.2.2 Descompactando o Fonte... 131 3.2.3 Configurando o Kernel... 132 3.2.4 Usando o Make Dep e o Make Clean... 133 3.2.5 Criando uma Imagem... 133 3.2.6 Instalando o Kernel... 134 3.2.7 O Kernel não Compilou...... 134 3.3 Passando Parâmetros no Boot... 134 3.3.1 Onde Procurar... 135 3.3.2 Separando Alhos de Bugalhos... 135 3.3.3 O que Fazer Agora?... 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