Curso de Introdução ao Linux



Documentos relacionados
Introdução aos Computadores

3. Arquitetura Básica do Computador

Prof. Esp. Lucas Cruz

Tecnologia da Informação. Prof Odilon Zappe Jr

Disciplina: Introdução à Informática Profª Érica Barcelos

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

1. CAPÍTULO COMPUTADORES

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Montagem e Manutenção. Luís Guilherme A. Pontes

Introdução a Informática. Prof.: Roberto Franciscatto

Conceitos Básicos sobre Sistema de Computação

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

PROCESSAMENTO DE DADOS

Memórias Prof. Galvez Gonçalves

1.1. Organização de um Sistema Computacional

Iniciação à Informática

CURSO BÁSICO DE INFORMÁTICA

1. NÍVEL CONVENCIONAL DE MÁQUINA

Componentes de um computador típico

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Informática, Internet e Multimídia

Sistemas Operacionais

Escola Secundária de Emídio Navarro

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

LÓGICA DE PROGRAMAÇÃO

Everson Scherrer Borges João Paulo de Brito Gonçalves

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

4 Estrutura do Sistema Operacional Kernel

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Estrutura geral de um computador

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Para existência de um sistema de informação, fazem-se necessários três componentes, são eles:

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

for Information Interchange.

6 - Gerência de Dispositivos

16:21:50. Introdução à Informática com Software Livre

INTRODUÇÃO AO WINDOWS

MEMÓRIA. A memória do computador pode ser dividida em duas categorias:

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

AULA 5 Sistemas Operacionais

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Programação de Computadores

5 Entrada e Saída de Dados:

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

Aula 01 Visão Geral do Linux

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Informática Aplicada

b) Estabilizador de tensão, fonte no-break, Sistema Operacional, memória principal e memória

Operador de Computador. Informática Básica

Manual do usuário. Mobile Auto Download

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

R S Q Tabela 17 - Tabela verdade NOR

SIMULADO Windows 7 Parte V

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

SISTEMAS OPERACIONAIS

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

RICS. Remote Integrated Control System Release Apresentação do Produto

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

02. A extensão padrão para arquivos de áudio digital no ambiente Windows é:

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Infra-Estrutura de Hardware

MANUAL DO PVP SUMÁRIO

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Conhecendo o Computador

Geral: Manual de Utilização do Software de Teste Gradual Windows

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS

ARQUITETURA DE COMPUTADORES - CONCEITUAL

Guia Sphinx: instalação, reposição e renovação

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Sistema Operacional LINUX

Prof. Daniel Gondim Informática

Introdução a Informática. Prof.: Roberto Franciscatto

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

DOS SISTEMA OPERACIONAL DO COMPUTADOR

Introdução. Hardware (Parte II) Informações Adicionais. Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Aplicativos Informatizados da Administração. Hardware A evolução e o impacto dos computadores nas áreas de negócios.

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

APOSTILA LINUX EDUCACIONAL

Introdução a Computação

Prof. Sandrina Correia

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

Transcrição:

Curso de (Marco Álvarez, Cláudia Nasu, Alfredo Lanari, Luciene Marin) DCT - UFMS, 1996

Sumário Conceitos Básicos... 3 Introdução... 12 Iniciando... 18 Arquivos e Diretórios... 29 O Editor vi... 50 Segurança... 59 Redirecionamento... 67 Gerenciamento da execução de comandos... 74 Shell do Linux... 83 Ferramentas de Comunicação... 92

Conceitos Básicos 3 Capítulo 0 Conceitos Básicos Muitas pessoas possuem uma dificuldade em lidar com os computadores, simplesmente porque não sabem o que é, como funciona e para que serve. É certo que existe uma dificuldade inicial relacionada a operação do computador em si. Isto é, há uma série de comandos com formatos difíceis de lembrar e quais as respectivas tarefas que eles executam. Entretanto, nos últimos anos estão surgindo novas facilidades para os usuários de microcomputadores pessoais. Tais como interfaces gráficas poderosas que eliminam a necessidade de digitação de longas linhas de comandos (Windows, X11, System 7, etc). Nestas interfaces, os comandos são executados via menus, caixas de diálogos e ícones. Geralmente, estas interfaces gráficas ainda apresentam opções de se executar comandos através do método tradicional, ou seja, digitando-se o comando por extenso. Isto porque muitos comandos não funcionam nestas interfaces gráficas; ou ainda porque algumas opções mais detalhadas só podem ser ativadas pela linha de comando. Mas a tendência é que todos os comandos sejam implementados em forma gráfica e iterativa. A princípio é necessário formalizarmos certos termos que serão utilizados durante todo o texto. Termos simples, mas que muitas vezes esquecemos ou simplesmente não sabemos por que não temos a obrigação de tê-los em mente. Afinal usuários não precisam ser especialistas em computadores para poderem utilizá-los. Vamos então às definições preliminares: Computador A primeira vista parece desnecessário ter que dar uma definição do que é um computador, mas o que se vê na prática, é que muitas pessoas não possuem uma visão clara do que é um microcomputador. E por este mesmo motivo, não se imaginam providas de meios de como lidar com estes equipamentos. Por computador entendemos simplesmente como uma máquina capaz de realizar cálculos e operações sobre informações, podendo, desta forma, resolver uma série de problemas, desde que seja fornecido um programa. Computador é uma máquina programável capaz de realizar processamento de informações.

Conceitos Básicos 4 Quando dizemos programável significa que há um conjunto de instruções ou programa que diz ao computador o que deve ser feito. É o que chamamos de software. Por ser uma máquina o computador também é composto por fios, cabos, placas, circuitos e outros equipamentos físicos. É o que chamamos de hardware. Desta forma, um computador é um sistema integrado formado por hardware ou componentes físicos e por software que é a parte inteligente que comanda o computador. Por processamento de informação devemos entender a capacidade de receber informações, transformá-las (processamento) e exibir os resultados. Graficamente temos: Entrada Processamento Saída Programa As informações manipuladas pelo computador podem variar muito, bem como a maneira de ser tratada internamente. Podemos classificá-las da seguinte maneira: 1. Dados: são letras e números. A princípio, computadores só podiam reconhecer e entender estes tipos de informações através de uma tabela mantida internamente que convertia cada conjunto de 8 sinais elétricos em uma letra ou dígito, criando um sistema de codificação e decodificação compreensível para o ser humano. Esta tabela existe até os dias de hoje e chama-se tabela ASCII. Outros tipos de tabelas foram criadas como a EBCDIC e ANSI Windows, mas a dominante é a tabela ASCII. Exemplo: A 10000001 B 10000010 C 10000011...... Como a corrente elétrica pode assumir apenas dois estados, convencionouse que o número zero (0) indica a ausência de corrente elétrica por um fio e o número um (1) pela passagem de corrente. A tabela ASCII é formada por 8 dígitos. Como cada dígito pode assumir o valor zero ou um, podemos representar 256 caracteres diferentes (2 8 =256) mais que suficiente para as letras e dígitos existentes. No princípio da computação, se quiséssemos escrever uma letra teríamos que ligar e desligar um conjunto de fios para indicar que queremos representar uma determinada letra do alfabeto. Hoje em dia basta pressionar no teclado que é gerado um sinal ou interrupção para o microprocessador informando qual a tecla pressionada. O computador então consulta a tabela ASCII, identifica a tecla e desenha ponto a ponto o caracter no monitor. Todo o desenho dos caracteres é mantido em uma tabela no computador.

Conceitos Básicos 5 2. Sons : atualmente podemos armazenar e manipular sons como em uma mesa de som de mais alta tecnologia devido aos avanços na área de sons digitais. Música e som são grandezas físicas ditas analógicas, isto é, caracterizadas por perturbações do ar. Mas computadores não entendem estas perturbações, então para que os mesmos pudessem ser reconhecidos, adaptou-se um microfone ao microcomputador que é sensível às vibrações e que converte -as em impulsos elétricos que podem ser manipulados pelos computadores. Por isto é chamado de som digital. Os circuitos responsáveis por esta conversão chama-se conversor analógico-digital. 3. Imagens: os primeiros computadores possuíam muito pouca capacidade e velocidade e portanto não podiam tratar de imagens com a mesma eficiência que hoje em dia. Imagens estáticas como fotografias podem ser capturadas por aparelhos especiais conhecidos como scanners através de sensores infravermelhos e da reflexão da luz. Imagens dinâmicas (animação e vídeo) podem ser obtidas por câmeras de vídeo ligadas a microcomputadores através de placas e softwares especiais. O problema deste tipo de informações é que temos que representar as imagens ponto a ponto e além disto manter informações sobre brilho, cor, intensidade, luminosidade, etc, gastando uma quantidade maior de memória para podemos manter imagens em computadores. Arquivos O computador organiza as informações internamente através de uma unidade denominada arquivo. Um arquivo contem um determinado tipo de informação e é criado por um outro arquivo especial denominado arquivo de programa ou arquivo executável, que é o software em si. Podemos então classificar os arquivos como sendo: 1) arquivos executáveis: são os programas ou softwares propriamente ditos. Através deles é que criamos e modificamos outros tipos de arquivos. Eles fornecem um ambiente particular. Podem ser: iterativos: quando se comunicam com o usuário. não iterativos: quando não se comunicam com o usuário. Usuários podem aprender a utilizar os arquivos executáveis, mas não existe um padrão sobre o funcionamento dos mesmos. Assim, para sair de um determinado editor de textos eu utilizo a tecla F3, em outro editor a tecla de saída pode ser ALT+X. Cada equipe de programadores define o funcionamento do programa que esta criando. Atualmente existe uma tendência a padronizar as teclas com operações mais comuns de forma que funcionem igualmente em todos os programas e os usuários não tenham tantas dificuldades em aprender a usar diferentes softwares. Uma das vantagens das interfaces gráficas é a padronização das operações mais comuns. 2) arquivos de dados: contém apenas informações alfabéticas e numéricas (alfanuméricas). São utilizados para substituir o excesso de papéis e documentos em empresas, mantendo informações cadastrais em computador ao invés de mantê-los em arquivos de aço. Entretanto, em alguns casos os arquivos de dados, apesar de diminuir o volume de papéis excessivo, não tem a intenção de eliminar o processo manual, mas de fornecer um meio mais rápido e eficiente de consulta e acesso às informações. É uma forma alternativa de manter dados importantes e volumosos. 3) arquivos de sons : comportam voz, música e sons em geral capturados através de uma placa de som e um microfone ou um instrumento musical acoplado ao computador por uma placa especial.

Conceitos Básicos 6 4) arquivos de imagens: possuem imagens estáticas capturadas com scanners ou dinâmicas capturadas com câmeras digitalizadoras. Diretórios Se guardássemos todos os arquivos de um computador juntos em um único lugar, teríamos pelo menos dois grandes problemas. Primeiro, seria extremamente difícil, ou mesmo impossível saber se já existe algum arquivo armazenado com aquele nome. Segundo o Sistema Operacional, para executar o último arquivo, teria que percorrer todos os outros até chegar no arquivo desejado. Este processo sem dúvida tornaria o computador lento. Para facilitar a organização do disco rígido, catalogar arquivos com mesmas características e facilitar o trabalho do Sistema Operacional, foi criado então o conceito de diretório. Um diretório nada mais é que um repositório de arquivos e outros diretórios (chamados de sub-diretórios), formando uma estrutura hierárquica chamada de árvore de diretório. Podemos entender diretórios como sendo o endereço de um arquivo dentro do disco rígido. Bits, Bytes e Unidades Toda e qualquer informação no computador é representada através do sistema de numeração binária. Trata-se de uma forma matemática de se tratar a língua do computador para que possamos conversar com ele. Um bit é a menor informação para o microcomputador. Ele representa o estado de um fio. O dígito um (1) representa a passagem de corrente por um fio, e o dígito zero (0) representa a ausência de corrente. Este sistema de numeração é denominado binário porque só utiliza dois dígitos. O sistema de numeração que nós conhecemos é o sistema decimal. Existem outros sistemas e meios de converter números de um sistema para outro. Assim foi estabelecida uma forma de comunicação inicial do ser humano com o computador, ainda que de uma forma muito difícil para nós humanos. Toda e qualquer informação é representada na forma de bits ou conjunto de bits. Como pudemos ver anteriormente, os dados (letras e números) são codificados no computador através da tabela ASCII. Imagens são representadas em monitores através de mapas de bits (bitmaps), ou seja cada ponto luminoso da tela corresponde a um único bit na memória indicando se deve estar ligado ou desligado. Desenhos são formados ativando os pontos corretos e mantendo outros desativados. As cores podem ser representadas por grupos de bits. Por exemplo 4 bits podem ser usados para indicar até 2 4 = 16 cores diferentes. Convencionou-se, então, quantificar a informação em uma unidade denominada byte (B). Um byte representa 8 bits, ou seja 2 8 = 256 combinações distintas, uma vez que cada bit pode assumir dois valores diferentes (0 ou 1). Com o passar do tempo esta unidade tornou-se pequenas para representar os arquivos e a capacidade de armazenamento dos meios magnéticos, por isto foram criadas novas unidades: Unidade Medida Abreviação 1 byte 8 bits B 1 kilobyte 1024 B KB 1 megabyte 1024 KB MB

Conceitos Básicos 7 Software (Programas) 1 gigabyte 1024 MB GB 1 terabyte 1024 GB TB Programa é uma seqüência de instruções que diz ao computador o que ele deve fazer. Isto é, qual é a tarefa específica que deve realizar. Programa e software são sinônimos e aparecerão como tal durante todo este texto. Os softwares podem ser classificados em dois grandes grupos de acordo com a atividade que desempenham: 1. Básico 2. Aplicativos 1. Softwares Básicos servem para a operação e programação do computador. Podem ser divididos em Utilitários e Ferramentas de Desenvolvimentos. Sem os softwares básicos os computadores não poderiam ser utilizados pelo homem. Eles formam um conjunto de programas que interagem entre os seres humanos e os micros. Software Básico Utilitários Ferramentas de Desenvolvimento Utilitários são aqueles que operam o computador, controlando seus recursos e fornecendo um meio de nos comunicarmos com o computador de forma inteligível. Um exemplo clássico de Utilitário é o Sistema Operacional. Sem ele não poderíamos dizer ao computador o que desejamos que ele faça. Ferramentas de Desenvolvimento são softwares para a programação do computador, ou seja, são programas que permitem criar outros programas de uso geral ou específico. Por exemplo linguagem C, Pascal, Basic, Clipper, etc. 2. Softwares Aplicativos são programas de uso específico para usuários finais, como processadores de textos (Microsoft Word, Fácil, Wordstar), planilhas eletrônicas (Excel, Quattro), sistemas gerenciadores de bancos de dados (Clipper, FoxProw, Acces), entre outros. É o software que diz ao computador como a informação fornecida pelo usuário deve ser processada. Por exemplo, se fornecermos os números 2 e 10 para o

Conceitos Básicos 8 computador, dependendo do programa ou software que estiver sendo executado, estes números poderão ser somados e o resultado impresso será 12, ou então o resultado pode ser 20 se o programa sendo executado multiplicar os dois números fornecidos pelo usuário. Portanto é o software que fornece um ambiente para a manipulação de um determinado tipo de informação. Se não temos um software para reprodução de sons, não podemos ouvir nem gravarmos música no micro. Para criarmos e modificarmos os arquivos criados por um aplicativo, devemos aprender como funciona especificamente o aplicativo, não precisamos necessariamente saber nada sobre Softwares Básicos. Hardware Consiste na parte física do computador, placas, fios e cabos que conduzem a eletricidade e permitem a comunicação e conexão dos diferentes componentes de um computador. Através do hardware nos comunicamos com a máquina e vice-versa. Quando um novo dispositivo é ligado ao computador é necessário uma interface, isto é, uma placa que permita a comunicação entre o dispositivo e a unidade de processamento em si (UCP). Além disto é necessário um software especial para acessar este dispositivo (driver) e permitir a criação e manipulação de informações utilizadas pelo dispositivo. Em geral a instalação de dispositivos não é muito difícil, mas requer alguns conhecimentos a mais a respeito do funcionamento do computador. Interrupções, canais de entrada e saída, configuração das portas e uso do DMA são requisitos básicos para a instalação de muitos periféricos no computador. O hardware de um computador é formado basicamente pelos seguintes elementos: 1. Dispositivos de Entrada 2. UCP (Microprocessador) 3. Memória Principal 4. Memória Secundária. 5. Dispositivos de Saída. Dispositivos de Entrada e Dispositivos de Saída são denominados periféricos pois não estão diretamente relacionados ao processamento, mas sim na entrada ou saída de informações. Dispositivos de Entrada permitem ao ser humano introduzir informações no computador. São exemplos de dispositivos de entrada: a) teclado : fornece informações alfanuméricas ao computador (dados). b) mouse: Permite a seleção de atividades através de ícones e opções que aparecem no monitor. c) scanner: captura imagens estáticas como fotografias. d) câmeras digitalizadoras: captura imagens em movimento. e) leitora ótica: efetua leitura de informações em cartões marcados.

Conceitos Básicos 9 Dispositivos de Saída exibem os resultados do processamento, permitindo a comunicação do computador com o homem: a) monitor: semelhante a um aparelho de televisão, em geral exibe os caracteres digitados em um teclado. b) impressora: reproduz os resultados em papel. c) plotter: exibe gráficos técnicos e complexos em papel. d) datashow: projeta informações em um telão. e) paletes: permite a gravação de slides Há certos equipamentos que ora funcionam como dispositivos de entrada e ora como dispositivos de saída, logo são conhecidos como Dispositivos de Entrada e Saída: a) modem: permitem a troca de informações entre computadores via linha telefônica. b) unidades de disquetes: permitem a leitura/gravação de informações em meio magnético flexível de baixa capacidade e velocidade. c) unidades de disco rígido (winchester): permitem a leitura/gravação de informações em meio magnético rígido de alta capacidade e velocidade. d) CD-R/W (compact disc read write): permitem a leitura/gravação de informações em discos a laser.

Conceitos Básicos 10 A Unidade Central de Processamento (UCP) conhecida como microprocessador é o cérebro da máquina. Cabe à UCP controlar todo o fluxo de informações entre os dispositivos de entrada, saída, além de realizar todo o acesso à memória principal e à memória secundária. Em suma, é o principal componente do computador responsável pelo processamento da entrada gerando a saída desejada. Internamente, é composta por uma Unidade de Controle responsável por acessar a Memória Principal para buscar dados e instruções para serem executadas e pela Unidade Lógica e Aritmética responsável por todos os cálculos matemático e lógicos simples. Para os cálculos mais complexos que envolvem ponto flutuante (números reais de alta precisão), é necessário um chip especial, o co-processador matemático que pode ser embutido internamente no microprocessador. Existem diversos fabricantes de microprocessadores. Os mais utilizados em computadores pessoais são 80286, 80386, 80486 e Pentium de fabricação da Intel. Estes microprocessadores são conhecidos simplesmente pela terminação 286, 386 ou 486. O que difere um dos outros é a capacidade de manipular dados e a velocidade do clock. Microprocessador Capacidade Modelo Clock 80386 32 bits SX 33 Mhz 80386 32 bits DX 50 Mhz 80486 32 bits DX 55 Mhz 80486 32 bits DX2 66 Mhz 80486 32 bits DX4 75 Mhz Pentium 64 bits -- 100 Mhz A capacidade de um processador refere-se a quantidade de bits que ele consegue enviar e receber dos outros dispositivos. Quanto maior a capacidade de manipular bits, melhor e mais rápido é o desempenho do computador. Além disto existe também o relógio interno ou clock. Trata-se de um pequeno cristal de quartzo que emite pulsos constantes a um determinado intervalo de tempo. Quanto maior a freqüência (em MegaHertz), mais rápido é o computador. Estes pulsos do relógio são utilizados pelo processador para controlar o ciclo de execução das instruções. A Memória Principal é um circuito especial dedicado a manter informações enquanto o computador estiver funcionando. É denominada de memória RAM. É nela que ficam armazenados os programas e informações enquanto estivermos manipulando -as. Cabe ao Sistema Operacional reconhecer e gerenciar o espaço livre para que seja possível executar programas e manusear informações. O microprocessador

Conceitos Básicos 11 constantemente acessa a Memória Principal para ler e escrever informações e instruções. A memória RAM (Random Access Memory) é extremamente volátil, isto é, seu conteúdo é descartado assim que o computador é desligado ou ocorre uma falha na energia. Para que as informações não se percam, precisamos armazená-las de forma definitiva naquilo que denominamos Memória Secundária. São os discos flexíveis, discos rígidos, fitas streamer e discos a laser. Cabe também ao Sistema Operacional reconhecer e acessar os periféricos responsáveis pela leitura e gravação nestes meios. O problema da memória RAM é a lentidão com que o microprocessador acessa seu conteúdo. Criou-se então uma pequena, mas veloz memória denominada Memória Cache que fica entre o microprocessador e a memória RAM ou internamente na CPU. Geralmente possui capacidade para 128 até 1024 KB, ao contrário da memória RAM que pode atingir até 128 MB. O computador utiliza a memória RAM como área de trabalho, isto é, enquanto o computador estiver ligado e programas estiverem sendo executados, tudo ocorre na memória RAM. A memória secundária serve apenas para armazenar de forma definitiva os arquivos para que eles não se percam assim que desligarmos o microcomputador. Existem outros tipos de memórias especiais. Memória ROM (Read Only Memory) é um tipo de memória que já vem gravada de fábrica com um pequeno programa com tarefas mínimas para que o computador possa ser ligado e funcione adequadamente. Algumas vezes este circuito é chamado de BIOS (Basic Input Output System) e contem uma série de pequenos programas para acessar teclado, monitor, disco rígido, etc. Há alguns tipos especiais de memória apenas de leitura: PROM (Programmable Read Only Memory) pode ser gravada pelo próprio usuário e não mais pelo fabricante, mas uma vez gravada não mais poderá ser apagada. EPROM (Erasable Programmable Read Only Memory) capaz de ser programável pelo usuário e se necessário apagar seu conteúdo através de um equipamento especial. EEPROM (Electrical Erasable Programmable Read Only Memory) pode ser programada pelo usuário e apagada através da aplicação de uma corrente elétrica em um de seus pinos. Sistema Operacional O Sistema Operacional é um programa especial que gerencia todos os recursos da máquina, tais como memória, teclado, vídeo (monitor), mouse, entre outros. É através do Sistema Operacional que executamos outros programas, gravamos ou lemos informações em disquetes, visualizamos textos em vídeo ou impressora, etc. Sem o Sistema Operacional não conseguiríamos realizar estas tarefas. Ou seja, simplesmente não poderíamoss utilizar o computador. Existem inúmeros Sistemas Operacionais, tais como: MS-DOS, UNIX, OS/2, VM/CMS, QNN, etc. Cada um deles possuem características próprias e é executando em máquinas diferentes. Assim, não podemos executar um programa em Sistemas Operacionais distintos, a não ser que o fabricante do programa nos garanta esta portabilidade.

Conceitos Básicos 12 O Windows só consegue executar programas MS-DOS porque foram feitos por um mesmo fabricante, a Microsoft. E porque, a princípio, o Windows não é um Sistema Operacional por si, ele necessita do MS-DOS para funcionar. A versão 95 do Windows é planejado para ser independente do MS-DOS, mas que aceita aplicativos do MS-DOS. É de responsabilidade do Sistema Operacional: 1. Carregar e executar programas. 2. Controlar dispositivos de entrada e saída (teclado, monitor, mouse, etc). 3. Gerenciar arquivos e diretórios. 4. Gerenciar a memória RAM Como pudemos ver anteriormente, todo e qualquer programa executado em um computador utiliza a memória RAM. Da mesma forma, o Sistema Operacional deve ser carregado, ou seja, copiado do disco rígido ou disco flexível para a memória RAM. Denominamos este processo de BOOT. Toda vez que ligamos o computador, é feita uma série de testes para verificar o funcionamento dos periféricos e se tudo estiver perfeito, o Sistema Operacional pode ser carregado. Os Sistemas Operacionais ainda podem ser classificados quanto ao número de pessoas que podem utilizar os recursos ao mesmo tempo e quanto ao número de programas que podem ser executados em uma mesma máquina. 1. Monousuário: permitem apenas um usuário. 2. Multiusuário: permitem vários usuários. 3. Monotarefa: apenas um programa pode ser executado de cada vez. 4. Multitarefa: vários programas podem ser executados ao mesmo tempo. O MS-DOS é um Sistema Operacional monousuário e monotarefa, ou seja, permite apenas um operador e executa apenas um programa de cada vez. O Windows, apesar de não ser um Sistema Operacional, fornece um ambiente monousuário e multitarefa, onde apenas um único usuário pode executar vários aplicativos ao mesmo tempo. Em geral Sistemas Operacionais que são multiusuários são também multitarefa, como o UNIX e QNN, onde podemos ter vários usuários em terminais distintos executando, cada um, uma série de programas diferentes ao mesmo tempo. Além disto, Sistemas Operacionais podem ser classificados quanto ao tipo de comunicação com o usuário, podendo ser: 1. interface por linha de comando: quando o usuário tem que digitar o comando por extenso na tela do computador. A comunicação, em geral é feita em modo texto. Preferencialmente utilizada por especialistas. interface gráfica para usuários (GUI): quando os comandos são executados em um ambiente gráfico com o uso do mouse. Voltada principalmente para o usuário final.

Introdução 13 Capítulo 1 Introdução 1. Histórico O Sistema Operacional UNIX foi desenvolvido nos laboratórios da AT&T para uso próprio, baseado em um antigo projeto que deveria ser o primeiro Sistema Operacional multiusuário e multitarefa, o MULTICS. Porém, este projeto estava muito além da capacidade dos equipamentos para a época. Desta forma o projeto foi arquivado, mas alguns de seus idealizadores (Ken Thompson, Dennis Ritchie e Rudd Canadaday) resolveram escrever uma versão simplificada e monousuária para um computador com menores recursos. O resultado impressionou, mesmo sendo utilizada uma máquina limitada. Assim, o código foi reescrito para outros computadores melhores, apresentando excelentes resultados. Por coincidência ou não, estes computadores para os quais o Sistema Operacional foi reescrito eram utilizados por quase todas as Universidades que se interessaram por este Sistema Operacional muito superior aos que vinham sendo utilizados nos laboratórios de computação. A partir de então, a AT&T licenciou seu mais novo projeto para as Universidades, mostrando uma enorme visão e capacidade inovadora, pois além do Sistema Operacional, foi cedido o código do mesmo para as Universidades, que não mediram esforços em depurar o programa e incluir novas características. Foi dentro das Universidades que o UNIX cresceu e adquiriu muitas das características que o tornam poderoso, dando origem a diversas versões além da original proveniente dos laboratórios da AT&T. Esta característica tornou o UNIX um sistema poderoso na medida em que foi concebido não apenas por uma equipe de projetistas, mas sim por toda uma comunidade de pessoas interessadas em extrair o melhor das máquinas. A princípio, o código do UNIX foi escrito em linguagem assembler ou de máquina que é altamente dependente do hardware ou parte física do computador. Para que

Introdução 14 o código fosse reescrito, era necessário muito esforço e tempo. Entretanto, um dos criadores do Sistema Operacional UNIX resolveu utilizar uma nova linguagem para escrever o UNIX, era a linguagem C que oferecia o poder da linguagem de máquina com a facilidade das linguagens estruturadas de alto nível. A grande vantagem de se utilizar a linguagem C ao invés da linguagem de máquina própria do computador é a de que a primeira é altamente portável, isto é, um programa escrito em C para um determinado computador poderá ser executado quase sem nenhuma modificação em outro tipo de máquina completamente diferente. Enquanto que se fosse feito um programa em linguagem de máquina para um determinado computador o programa seria executado somente neste tipo de computador e não nos demais, para isto, seria preciso reescrever todo o programa. O UNIX foi projetado para ser executado em computadores de grande capacidade, ou seja, mini e supercomputadores, pois somente estas máquinas podiam oferecer suporte aos recursos necessários para o ambiente gerado pelo Sistema Operacional. Crescendo longe do alcance dos usuários de microcomputadores, o UNIX atingiu uma estabilidade e estrutura jamais alcançada por um Sistema Operacional. Mas nestes quase trinta anos de existência do UNIX, os microcomputadores evoluíram a ponto de fornecer o mínimo de condições para que este poderoso Sistema Operacional pudesse ser implementado para os micros IBM -PC e compatíveis. Diversas versões do UNIX foram escritas e licenciadas para venda com nomes semelhantes (XENIX, UNISYS, AIX, etc) porém com as mesmas características essenciais, sendo que atualmente existem inúmeras versões comerciais e outras tantas versões livres que foram desenvolvidas em Universidades ou por hackers através da rede Internet. Apesar de ter sido desenvolvido para lidar com dispositivos de caracteres, UNIX foi pioneiro na área de gráficos em estações de trabalhos. As primeiras interfaces gráficas para usuários (GUI) foram projetadas e utilizadas em Sistemas operacionais UNIX, desenvolvidas pelo MIT (Massachussets Institute of Technology). Trata-se do X Window System. Como se pode notar, UNIX é um sistema de inúmeras possibilidades. Praticamente todos os recursos que os sistemas operacionais mais atuais utilizam já haviam sido executados em UNIX há muito. Todas as áreas da computação puderam ser desenvolvidas com o UNIX. As tendências atuais levam a uma tentativa de padronizar o Sistema Operacional UNIX combinando as melhores características das diversas versões do mesmo. Prova disto é a criação do POSIX, um padrão de Sistema Operacional desenvolvido pela IEEE (Institute of Eletrical and Eletronic Engineers). Além da OSF (Open System Fundation) que reúne as principais líderes do mercado de equipamentos para definir o padrão de GUI (interfaces gráficas) para UNIX.

Introdução 15 A versão que será abordada durante este curso é o LINUX, um clone do Sistema Operacional UNIX para microcomputadores IBM -PC 386 e compatíveis. O LINUX foi desenvolvido inicialmente por Linus Torvalds na Universidade de Helsinski na Finlândia. O LINUX possui a vantagem de ser um software livre e ser compatível com o padrão POSIX. Além de unir em um único Sistema Operacional as vantagens das diferentes versões de UNIX comerciais disponíveis. Desta forma, LINUX torna-se a melhor opção para que usuários de microcomputadores possam usufruir da capacidade do UNIX. Apesar de não poder rodar aplicativos para MS-DOS, o LINUX pode rodar todos os softwares de desenvolvidos para UNIX, além de estarem disponíveis softwares que permitem a emulação do MS-DOS e do WINDOWS. O LINUX pode ser útil em empresas que desejam possuir estações de trabalho com poder razoavelmente comparável às estações existentes como SUNs e outras usando PCs, com fiel semelhança no seu uso. O LINUX pode conviver pacificamente com outros sistemas operacionais no PC. Existe uma infinidade de formas de instalá-lo: em uma partição DOS já existente, sem haver a necessidade de reparticionar o HD e conseqüentemente sem nenhuma perda de informação, pode ainda ser instalado em um HD exclusivamente dedicado a ele. Para conviver com outros sistemas operacionais, existem algumas maneiras de carregar o sistema operacional, o Lilo (Linux Loader) que pode funcionar como um BOOT manager no qual se escolhe qual partição ou drive irá dar a partida, o loadlin que é um utilitário DOS para carregar o LINUX a partir do DOS, ou por meio de um disco de boot. O LINUX pode ser obtido de diversas formas diferentes, existem diversos livros à venda, os quais incluem CDs com distribuições do LINUX da forma SlackWare. Outra forma de obtê-lo inteiramente grátis e via ftp pela INTERNET. Existe hoje, um movimento no sentido de tornar o LINUX um sistema popular, dado que superioridade técnica ele já possui. Existem algumas outras versões de UNIX para PCs, tais como Xenix, SCO Unix, FreeBSD e NetBSD, as últimas duas também livres, no entanto além de mais popular, o LINUX possui uma série de características a mais, não encontradas em outras versões, mesmo comerciais, de UNIX. 2. Uma visão geral do LINUX Um Sistema Operacional deve gerenciar os recursos da máquina da melhor maneira possível de forma a poder oferecer aos usuários o máximo do computador. Dentre as principais funções do sistema Operacional, podemos destacar:

Introdução 16 1. Criar e manipular uma estrutura de arquivos e diretórios. 2. Controlar o acesso à memória e outros dispositivos controlados pelo microprocessador, como monitor, teclado, impressora, etc. 3. Gerenciar a execução de programas, trazendo-os da memória para o microprocessador. A primeira vista, parece que o LINUX nada possui de diferente de qualquer outro Sistema Operacional, mas nenhum é tão bom em unir e integrar o que há de melhor em um computador de forma harmoniosa e eficiente devido a sua própria origem em meio a toda uma comunidade de pessoas interessadas em obter o máximo e o melhor em desempenho. Cabe ressaltar também que o Linux possui todas as características que fazem do UNIX um excelente sisterma operacional, entre elas : Portabilidade, Multiusuário e Multitarefa, Estrutura hierárquica de arquivos, Ferramentas e Utilitários, Comunicação com outros sistemas. Daremos uma rápida olhada em algumas das principais características e vantagens que fazem o LINUX único : Multitarefa. Linux, como as outras versões do UNIX é um sistema multitarefa, possibilitando a execução de múltiplas aplicações de diferentes usuários no mesmo sistema ao mesmo tempo. A performance de uma máquina 486 de 50 MHZ é comparável com muitas workstations de médio porte rodando UNIX. O X Window System é, de fato, um padrão na indústria de sistemas gráficos para máquinas UNIX. Uma versão completa do X Window System, conhecida como Xfree86 está disponível pra Linux. TCP/IP (Transmission Control Protocol / Internet Protocol), este é um conjunto de protocolos que liga milhões de universidades e empresas numa rede mundial conhecida como Internet. Com uma conexão Ethernet o Linux permite que seja feita uma conexão da Internet a uma rede local. Memória Virtual. O Linux pode usar parte do seu HD como memória virtual, aumentando assim a capacidade da memória RAM. Compatibilidade com o IEEE POSIX. Linux foi desenvolvido com a portabilidade de software em mente. 3. A estrutura do LINUX Estrutura Lógica Kernel/Shell

Introdução 17 Kernel é o núcleo do Sistema Operacional LINUX, que permanece residente na memória. Através dele que o usuário possui o acesso aos recursos oferecidos pelo hardware (o computador em si). Todo o gerenciamento de memória, dispositivos, processos, entre outros é coordenados pelo kernel. Basicamente está dividida em duas partes: 1. gerenciamento de dispositivos: supervisiona a transmissão de dados entre a memória principal e os dispositivos periféricos. Desta forma, o kernel abrange todos os drivers controladores de dispositivos que podem ser ligados a um computador 2. gerenciamento de processos: aloca recursos, escalona processos e atende a solicitação de serviços dos processos Shell é o interpretador de comandos do LINUX. É ele quem fornece uma interface para que o usuário possa dizer ao Sistema Operacional o que deve ser feito. O shell traduz o comando digitado em chamadas de sistema que são executadas em linguagem de máquina pelo kernel. Além disto, fornece um ambiente programável através de scripts. Existem inúmeros shells cada um com ligeiras diferenças entre si. Muitas vezes é possível utilizar vários shells diferentes em um mesmo micro rodando LINUX, isto porque ele é multitarefa e multiusuário, de modo que cada usuário poderia utilizar o shell que lhe agradar mais. Entre os mais utilizados estão o Bourne Shell, o C shell e o Korn Shell. Utilitários Existem centenas de utilitários (comandos) para a realização de tarefas especializadas ou rotineiras, entre elas manipulação e formatação de textos, cálculos matemáticos, gerenciamento e manutenção de arquivos e diretórios, administração de sistemas, manutenção de segurança, controle da saída para impressora, desenvolvimento de programas e filtragem de dados. Cada um destes utilitários é digitado na linha de comando do LINUX que será interpretado pelo Shell do sistema. Este por sua vez se encarregará de realizar diversas chamadas ao Kernel para a execução do comando. Como as interfaces gráficas são muito recentes, o LINUX teve toda a sua potencialidade explorada em termos de ambiente de desenvolvimentos. Isto equivale a dizer que o que se pode fazer com um software de Formatação de Textos do tipo aponte e clique, pode ser realizada através do antigo modo de linha de comando no LINUX. Mas isto não impede que as facilidades do ambiente de janelas seja explorado, pelo contrário. Os mais profissionais programas aplicativos rodam sobre o Sistema Operacional LINUX, entre eles o Gerenciador de Banco de Dados ORACLE, INGRES e FoxBASE+, formatadores de textos Postscript, Tex e FamaMaker de qualidade extraordinárias.

Introdução 18 Processos Quando um programa ou utilitário é executado, passa a se chamar processo. Cada processo iniciado possui um estado indicando sua condição (em execução, parado, interrompido, etc) e a prioridade. Sendo que os processos do sistema possuem prioridades sobre os do usuário. Com base nas informações sobre os processos em andamento, a CPU precisa escalonar os processos para dedicar a cada um, um determinado tempo dando a impressão de que vários processos estão sendo executados ao mesmo tempo.

Iniciando 19 Capítulo 2 Iniciando 1. A Sessão LINUX Antes de iniciar a sessão no sistema propriamente dita, temos que levar em consideração o significado das teclas especiais que são utilizadas pelo LINUX, bem como de alguns conceitos iniciais. Por ser um Sistema Operacional que suporta vários usuários (multiusuário), antes de tudo, é preciso se identificar. O LINUX então se encarregará de permitir ou não seu acesso verificando sua senha, se estiver correta libera o diretório de entrada e executa arquivos de inicialização locais e o interpretador apropriado. Após este processo, você estará apto a executar os comandos do LINUX. Quando o terminal estiver ligado, provavelmente será apresentado um sinal de prontidão do sistema da seguinte forma: Login: Isto significa que o sistema stá esperando para que o usuário se identifique com o nome de usuário que lhe foi concedido pelo Administrador de Sistema junto com uma senha de acesso. Após digitar o nome de usuário, presione ENTER. Será apresentada um novo sinal de prontidão: Password: Este sinal pede que seja digitada a sua senha. Note que a medida que forem digitados os caracteres, eles não aparecerão no vídeo por medidas de segurança. Se algo deu errado (foi novamente apresentado o sinal de login), tente novamente, certificando -se de ter digitado o nome de usuário e a senha exatamente como recebeu do Administrador pois o LINUX diferencia as letras maiúsculas das minúsculas. Isto quer dizer que para o LINUX A (letra a maiúscula) é diferente de a (letra a

Iniciando 20 minúscula). Esta é uma dica que serve não apenas para iniciar a sessão, mas também para todos os comandos LINUX. Tendo o usuário se identificado com o nome da conta e a senha (se esta existir, pois existem contas criadas especialmente para uso sem senha), o LINUX checa em um arquivo de configuração pelo nome da conta e a senha corespondente devidamente encriptada. Estando ambas registradas e corretas, o Sistema Operacional permite o acesso ao usuário executando o shell indicado também neste arquivo. O shell providencia uma interface de comunicação entre o kernel e o usuário. Esta interface consiste de uma linha de comando (ou prompt) na qual deve ser digitado o comando por extenso seguido por seus parâmetros (se tiver). Em uma linha de comando podemos ter mais de um comando em sequência para serem executados. Em geral esta linha de comando é formada por um símbolo que pode ser de porcentagem (%) ou cifrão () para usuários comuns e grade (#) para usuários com privilégio de raíz, dependendo do tipo de shell usado. Os parâmetros que aparecem após o nome do comando podem ser nomes de arquivos e/ou caminhos de diretórios. Eles devem sempre ser digitados com um espaço entre si e depois do comando. Muitas vezes alguns símbolos que aparecem na linha de comando não são parâmetros, mas sim comandos para o shell deteminando a sequência em que o(s) comando(s) devem ser executados. O LINUX aceita e executa um comando quando, ao terminarmos de digitarmos o comando, presionarmos a tecla ENTER, RETURN ou (varia de computador para computador). Caso seja encontrado algum erro na digitação do comando antes que a tecla ENTER seja pressionada, podemos corrigí-lo utilizando as teclas de direção e para posicionarmos o cursor na posição em que o erro foi cometido. Cursor é o símbolo gráfico que aparece logo após a linha de comando e que se movimenta a medida em que caractere são digitados e aparecem na tela. Para apagar caracteres antes do cursor, basta pressionar a tecla de BACKSPACE ( ) ou a combinação de teclas CTRL+H (^H). Se desejar apagar toda a linha tente CTRL+U (^U). Pode ser que a tecla DEL também funciona para apagar caracteres, mas de maneira diferente, ao invés de apagra caracteres antes do cursor, ele apaga caracteres após o mesmo. Algumas vezes podemos recuperar os comandos dados anteriormente. Certos tipos de shell possuem um arquivo oculto no diretório de entrada do usuário que armazena até os n últimos comandos digitados. É o arquivo de histórico dos comandos. Para recuperá-los podemos utilizar as teclas ou. Ou então utilizar os comandos do shell : history e!. O comando history lista os n últimos comando digitados.

Iniciando 21 Exemplo : Utilize os comandos history e! para re-executar um comando history 199 ls 200 pwd 201 clear 202 history!200 pwd /home/guest Em alguns shells estas teclas não estão definidas, ou então outras realizam estas mesmas funções. Procure junto ao Administrador de Sistemas quais teclas ou conjunto de teclas usar para editar a linha de comando. Certos comando são interativos e outros não-interativos. Comandos interativos são aqueles que após serem executados, exigem que algumas perguntas sejam respondidas para que possam prosseguir. Comandos não -interativos simplesmente executam os comandos sem nada perguntar e retornam à linha de comando do LINUX. Exemplos de comandos não-interativos: ls - exibe lista do conteúdo do diretório corrente date - exibe a data e hora do sistema cal <ano> - exibe calendário do ano especificado who - exibe lista de todos os usuários ativos no sistema clear - limpa a tela Exemplos de comandos interativos: passwd ftp mail - modifica a senha - permite transferência de arquivos - gerencia correspondências 2. Encerrando a sessão

Iniciando 22 Você pode usar dois comandos para encerrar uma sessão, os comandos exit ou logout no prompt do shell. Em alguns sistemas aparecerá na tela o prompt de logout e as informações relativas ao tempo decorrido durante a sessão. É importante encerrar devidamente uma sessão pelos seguintes motivos: Segurança: Se você continuar com a sessão aberta e abandonar o terminal, o sistema fica vulnerável ao acesso de pessoas não autorizadas, e seus arquivos poderão ser manipulados por essas pessoas; Cobrança: Se a sua organização usa os recursos de contabilidade do sistema para cobrar pela sua utilização, você será cobrado pelo tempo que permanecer dentro da sessão. 3. Ciclo de Execução do Comando O shell analisa a linha do comando separando seus vários componentes com o uso de espaços em branco. Este procedimento é conhecido como parsing (análise), e é composto dos seguintes passos: 1. O shell examina se há algum caracter especial a ser interpretado na linha de comando; 2. Supondo que os caracteres até o primeiro branco se referem a um comando, a shell procura um arquivo executável (programa) com o mesmo nome; 3. Se o shell localiza o programa, ele verifica se o usuário que fez o pedido tem permissão de acesso para usar o comando; 4. O shell continua a examinar o resto da linha de comando par a ver a formatação; 5. Finalmente, ela informa ao kernel para executar o programa, passando todas as opções e argumentos válidos para o programa; 6. Enquanto o kernel copia o arquivo executável do disco para a memória e executa-o, o shell permanece inativa até que o programa tenha encerrado. O programa em execução na memória é chamado de processo; 7. Quando o processo termina de ser executado, o controle retorna à shell que exibe novamente o prompt para avisar que está pronta para o próximo comando; 4. Alteração da Password:

Iniciando 23 Os procedimentos de alteração e definição de uma senha são semelhantes, com a exceção de que na alteração o usuário recebe antes o prompt para informar a senha antiga. A nova senha deve ter no mínimo três caracteres diferentes da senha antiga. O comando passwd verifica a informação sobre a idade da senha nos arquivos /etc/default/passwd e/ou etc/shadow para determinar a validade da senha e se a senha pode ser alterada. Os super-usuários não recebem o prompt para fornecer a senha antiga. Exemplo : Altere a sua senha utilizando o comando passwd passwd Changing password for guest Enter old passwd : Enter new passwd : Re-Type new passwd : Passwd changed 5. Estruturas de Arquivos e Diretórios Existem 4 tipos básicos de arquivos em LINUX : Arquivo diretório; Arquivo convencional; Arquivo de dispositivo; Arquivo simbólico ou de ligação; Um arquivo diretório nada mais é do que um tipo de arquivo contendo informações sobre arquivos que conceitualmente (e não fisicamente) estão contidos nele. Isso significa que o conteúdo de seus arquivos não está armazenados dentro do diretório. Assim sendo, não há limite para o tamanho de um diretório.teoricamente você poderia colocar no seu diretório tantos arquivos quanto quisesse, até o ponto de estourar a capacidade do seu disco. Os dados contidos no arquivo diretório são apenas o nome de cada arquivo e seu ponteiro para uma tabela de informações de controle de todos os arquivos do sistema. Esta tabela contém informações administrativas do arquivo, como dados de segurança, tipo, tamanho, datas de acesso e dados que indicam onde ele está gravado no disco. Quando você vai usar um arquivo, o sistema operacional consulta o diretório para verificar se existe no disco um com o nome que você especificou. Em caso

Iniciando 24 afirmativo, o sistema obtém, da tabela as informações necessárias para poder manipulálo. Caso contrário, o sistema envia uma mensagem informando que não foi possível encontrar o arquivo. Um diretório pode conter outros diretórios, aos quais chamamos subdiretórios. Um subdiretório pode conter outros arquivos e subdiretórios, que também podem conter arquivos e subdiretórios e assim por diante. Este é um relacionamento pai/filho entre um diretório e seus arquivos e diretórios subordinados. Cada diretório pai guarda informações sobre os arquivos e diretórios que estão a um nível abaixo dele - seus filhos. Um arquivo convencional é um conjunto de caracteres presentes em algum meio de armazenamento, como por exemplo um disco. Ele pode conter texto para uma carta, código de programa ou qualquer informação armazenada para um futuro uso. Um arquivo de dispositivo, como um diretório, não contém dados. Ele é basicamente um ponteiro para um dispositivo periférico, como por exemplo uma unidade de disco, um terminal ou uma impressora. Os arquivos especiais associados aos dispositivos periféricos estão localizados no diretório /dev. Um arquivo simbólico é um arquivo convencional que aponta para outro arquivo em qualquer lugar do sistema de arquivos LINUX. 6. Diretórios Todos os arquivos fazem parte de algum diretório. Assim, eles são mantidos organizadamente. Se todos os arquivos do sistema fossem armazenados em um mesmo lugar, o LINUX levaria muito tempo para verificar todos os arquivos até encontrar aquele que está procurando. Os diretórios são um meio de oferecer endereços dos arquivos, de maneira que o LINUX possa acessá-la rápida e facilmente. Ao entrar pela primeira vez em sua conta, você já está em um subdiretório do sistema LINUX, chamado seu diretório de entrada (home directory). A menos que você crie alguns subdiretórios em sua conta, todos os seus arquivos serão armazenados em seu diretório de entrada. Teoricamnte, você pode fazer isso, mas a manutenção de seus arquivos será mais eficiente se você criar seu próprio sistema se subdiretórios. Assim ficará mais fácil manter o controle de seus arquivos porque eles estarão agrupados em diretórios por assunto ou por tipo. O LINUX também realiza buscas de maneirras mais eficiente em diretórios pequenos que nos grandes. Nos capítulos seguintes, você aprenderá os comandos necessários para criar diretórios, levar arquivos para outros diretórios e passar de um diretório para outro.

Iniciando 25 7. Diretório de Entrada Como mencionamos anteriormente neste capítulo, seu diretório de entrada é aquele em que você é colocado quando abre uma sessão em um sistema LINUX. Esse diretório tem o mesmo nome que seu nome de login. Você pode pensar em sua conta como uma versão em miniatura do sistema de arquivos do LINUX. No alto de seu sistema pessoal de arquivos, em vez do diretório -raiz, está seu diretório de entrada. Abaixo dele estarão os subdiretórios que você criar, que podem, por sua vez, se ramificar em subdiretórios e/ou arquivos. Os diretórios de entrada dos usuários são iguais a qualquer outro diretório de um diagrama de sistema de arquivos. Entretanto, sendo o diretório principal de sua conta, seu diretório de entrada tem um status especial. Sempre que você entra no sistema, o LINUX define uma variável chamada HOME que identifica o seu diretório de entrada. O LINUX usa o valor da variável HOME como ponto de referência para determinar quais arquivos e diretórios do sistema de arquivos você pode acessar e também para orientar-se para onde levá -lo quando você deseja mudar de diretório corrente. 8. Diretórios Corrente O diretório corrente, ou de trabalho (working directory), é o diretório em que você está em um determinado momento. Por exemplo, quando você entra no sistema, o diretório corrente é sempre seu diretório de entrada. Se você passar para um de seus subdiretórios, este passará a ser o diretório corrente. Durante toda a sessão, o LINUX mantém o controle de seu diretório corrente. Todos os comandos são executados sobre o diretório corrente, a menos que você especifique outro. Por exemplo, qualquer arquivo ou subdiretório que você criar será em princípio criado no diretório corrente. Sempre que você digitar ls, verá uma lista dos arquivos e diretórios do diretório corrente. Exemplo : Use o comando ls para mostrar o conteúdo do diretório corrente ls curso/ teste.txt Todos os diretórios do LINUX contém um arquivo chamado. (ponto), que é um arquivo especial que representa o diretório corrente (um sinônimo). Sempre que você quiser se referir ao diretório corrente, pode fazê-lo usando um ponto (.). Outro arquivo especial, chamado.. (dois pontos) representa o diretório pai do diretório corrente (o diretório ao qual o diretório corrente pertence). Quando precisar se referir

Iniciando 26 ao diretório pai do diretório corrente, você pode usar dois pontos (..) em vez do nome do diretório. Exemplos : 1 - Use o comando ls para listar o conteúdo do diretório corrente : ls. curso/ teste.txt corrente : 2 - Use o comando ls para listar o conteúdo do diretório pai do diretório ls.. linux/ alunos.txt prog.sh 9. Nomes e Caminhos Quando você digita um comando que opera sobre um arquivo ou diretório, precisa especificar o nome do arquivo ou do diretório desejado. O caminho, de um arquivo ou diretório é a lista de todos os diretórios que formam a ligação entre ele e o diretório-raiz. Você só pode identificar individualmente cada arquivo e diretório por seu nome e caminho, porque seu nome pode ser idêntico ao de outro arquivo em outro local do sistema. Por exemplo, suponha que haja duas contas de usuário, chamadas luciene e alfredo, cada uma contendo um subdiretório chamado vendas. O LINUX pode diferenciar esses dois subdiretórios por seus caminhos. Um deles seria /.../luciene/vendas e o outro seria /.../alfredo/vendas, onde as reticências representam os diretórios intermediários. Embora você possa se referir a um arquivo ou diretório dentro de seu diretório de entrada usando apenas seu nome, o LINUX sempre interpretará o nome do arquivo ou diretório como seu nome e caminho inteiro, porque ele mantém o controle de seu diretório corrente e pode preencher a parte do nome de caminho que falta. Além do caminho absoluto, você também pode usar o caminho relativo, de um arquivo ou diretório. O caminho relativo não começa com o diretório raiz, mas com o diretório mais próximo do diretório cujo caminho está sendo definido. Para especificar um caminho relativo para seu diretório de entrada, você pode começar o caminho com HOME ou com um ~ (til), que é um sinônimo para HOME. Por exemplo, se seu diretório de entrada é marco, a variável HOME terá o valor /.../marco, onde as reticências representam os diretórios entre o diretório raiz (/) e o diretório marco. Sempre que você