

















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
informatica
Tipologia: Notas de estudo
1 / 57
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Um Sistema Operacional é um programa que tem por função controlar os recursos do computador e servir de interface entre ele e o usuário. Essa definição é mostrada em qualquer livro que fale a respeito desse tipo de software.
Um sistema operacional, é, portanto, um programa que tem a obrigação de controlar a máquina, permitindo-nos comandá-la através de ordens pré-definidas. Sem um sistema operacional, por exemplo, não seria possível usar uma planilha eletrônica, um editor de textos ou mesmo acessar à Internet.
Quando pensamos em sistema operacional, nos vem à mente, imediatamente, o Microsoft® Windows® , utilizado na grande maioria dos computadores pessoais do planeta. Não há como contestar a presença hegemônica da gigante de Bill Gates em nossas vidas computacionais, mas é bom que se saiba que o Windows não é o único sistema operacional que podemos utilizar nos nossos micros.
O Advento de um novo sistema há alguns anos tem tirado o sono dos executivos da Microsoft, não somente por mostrar-se, em muitos aspectos, melhor que seu concorrente, como bem mais barato! Esse novo sistema chama-se Linux.
Em 1991, segundo reza a lenda, o então estudante finlandês Linus Torvalds resolveu desenvolver um sistema operacional que se assemelhasse ao UNIX (que ele usava na universidade de Helsinque) porque esse sistema não era compatível com o seu PC doméstico. E nesse esforço, surgiu o Linux, que, naquela época, ainda não tinha esse nome.
Explicando: O UNIX é um sistema operacional muito robusto, usado em computadores de grande porte nas empresas e universidades. O UNIX foi desenvolvido, inicialmente, em 1969, na Universidade de Berkeley, na Califórnia. A grande maioria dos cursos de
computação das universidades do mundo utiliza o UNIX em seus servidores, por isso o estudo de Torvalds se baseava nesse ambiente.
Até os dias de hoje, o aprendizado e a utilização do UNIX é privilégio de alguns poucos mortais que se aprofundam no estudo da computação e têm acesso a computadores de grande porte, onde esse sistema pode ser instalado. Mas o Linux trouxe essa utilização para níveis mais cotidianos, permitindo que qualquer um que possua um PC comum possa ter acesso ao universo dos sistemas UNIX-Like (termo que significa “semelhantes ao UNIX”).
Linus havia criado um sistema parecido com o UNIX e concorrente do MINIX (um outro sistema UNIX-Like, criado por um conhecido professor americano e autor de diversos livros: Andrew Tanenbaum), mas que só funcionava na máquina dele, em casa (afinal, ele o havia projetado com base no processador e na arquitetura de seu micro caseiro).
Linus escreveu uma mensagem numa lista de discussão na Internet (que, na época, não havia sido descoberta comercialmente em muitos países, incluindo o Brasil) encorajando os outros programadores e usuários do UNIX a ajudá-lo na tarefa de criar um sistema operacional semelhante para micros domésticos que superasse, em muitos aspectos, o MINIX (até então, uma das pouquíssimas opções de sistema UNIX-Like para PCs).
Para pôr em prática seu desejo de ter um sistema semelhante ao UNIX que funcione nos PCs, Linus enviou, aos interessados, o código-fonte do seu sistema, para que os outros programadores pudessem entender e modificar o seu projeto.
Em tempo: Código-Fonte é o nome dado ao conjunto de instruções escritas pelo programador em uma linguagem compreensível para ele (e, normalmente, para mais ninguém!). O projeto de Linus foi escrito na linguagem C, que é bastante poderosa e versátil, sendo a preferida pelos programadores que desenvolvem softwares básicos (aqueles que falam diretamente com a máquina).
O código-fonte não é o programa pronto para ser executado, em vez disso, é a “receita” de como o programa foi criado e do que ele vai fazer. Para que o código-fonte se transforme no arquivo que será executado pelo computador, é necessário um processo de tradução que reescreva o programa na linguagem que o computador entende, também chamada de linguagem de máquina, esse processo de tradução é chamado compilação.
Pois é, quando Linus Torvalds distribuiu o código-fonte de seu programa, ele tornou possível para outros programadores fazer alterações em seu sistema, permitindo que muitos se tornassem os co-desenvolvedores do Linux, nome, aliás, que só seria dado ao sistema alguns anos depois, em homenagem ao seu pai original.
Para os desenvolvedores (programadores) é muito interessante que a GPL determine que o código-fonte do programa seja liberado (ou aberto, como chamamos). O Linux e os demais programas regidos pela GPL são Open-Source (código aberto – ou seja, têm seu código-fonte necessariamente acessível a todos).
Para nós, usuários comuns, a característica mais importante dos programas regidos pela GPL é o seu custo, que, devido a não obrigação de pagamento de licença (atrelada à idéia de copyright), torna a implantação do Linux e de outros softwares livres nas empresas algo financeiramente convidativo.
Então, que se saiba: O Linux é um Software Livre!
Então, entenda que, devido às diversas vantagens que um software livre tem em relação aos tradicionais programas pagos (como custos, possibilidade de modificação do programa), a mudança de ares na informática de empresas públicas e privadas, saindo do quase onipresente Windows para o onisciente Linux, é inevitável.
Cada vez mais, e isso é sensível, os até então clientes da Microsoft estão se entregando aos prazeres (e desafios) de utilizar o sistema do pingüin (alusão ao Linux porque seu “mascote” ou “logomarca” é um simpático exemplar desta ave, chamado Tux).
Lembra dos programadores com quem Linus Torvalds entrou em contato para ajudá-lo na tarefa de alimentar o Linux de conteúdo e funcionalidade a fim de fazê-lo crescer? Pois é, eles também cresceram em número!
Atualmente, cerca de 10.000 pessoas no mundo todo dão sua contribuição valiosa para a manutenção e evolução do Linux, seja criando novos aplicativos e drivers, seja melhorando o funcionamento do próprio sistema (que é trabalho dos programadores) ou até mesmo traduzindo as interfaces para que o Linux se apresente disponível nos mais variados idiomas (portanto, qualquer poliglota pode fazer parte desse grupo, não precisa conhecer a linguagem C).
Esta, leitor, é a Comunidade Linux , que é formada pelos mais diversos profissionais que desejam, simplesmente, em seus tempos livres, colocar mais um tijolo no já muito firme alicerce do ambiente Linux, a fim, talvez, de que um dia o sistema de Linus (e de todos eles) possa desbancar o Windows.
Agora vamos às comparações (é inevitável também): No sistema Windows, qualquer mudança é feita pela detentora do código-fonte, a Microsoft, que disponibiliza a atualização em seu site “Windows Update”. Quanto ao Linux, qualquer usuário conhecedor de C pode mudar alguma coisa que não ache satisfatória no sistema, permitindo melhorias imediatas sem a dependência de uma suposta fabricante. Isso, é claro, porque o usuário é o detentor do código-fonte!
Certas mudanças ficam restritas ao computador do usuário que as fez, mas algumas são enviadas à comunidade, que avalia a relevância da mudança e julga se ela pode ser ou não adicionada na próxima versão do Linux.
O objetivo da Comunidade não é somente criar coisas novas (embora faça isso também), mas, também, modificar constantemente o centro do sistema Linux, o seu Kernel.
Todo sistema operacional é complexo e formado por diversos programas menores, responsáveis por funções distintas e bem específicas. O Kernel é o centro do sistema operacional, que entra em contato direto com a CPU e os demais componentes de hardware do computador, sendo, portanto, a parte mais importante do sistema.
Se o Kernel é mal feito, o sistema operacional nunca funcionará direito, travando constantemente, e executando operações que ele mesmo não permitiria (lembra de algum exemplo?). Mas, se o Kernel é bem construído, existem garantias de que o sistema se comportará sempre da melhor maneira, tornando travamentos e desafetos com o usuário coisas raras (o Linux é muito bom nesse critério, é muito difícil vê-lo travar e comprometer a estabilidade de um computador).
O Kernel é um conjunto de subprogramas, revistos e alterados pela Comunidade Linux o tempo todo, ou seja, existem milhares de pessoas no mundo todo, nesse momento, alterando alguma característica do Kernel do Linux no intuito de melhorá-lo.
Mas o que garante que, sendo o Kernel alterado por tantas mãos, ele não se torne uma “colcha de retalhos” de códigos que gerem incompatibilidades e problemas? Ou seja, o que o faz tão estável e robusto se é “filho de tantos pais”? Ou ainda: o que garante que alguém, dentre esses milhares, não colocaria algo prejudicial no código do Linux para fazê-lo intencionalmente perigoso?
Simples: A comunidade tem direito de alterar o Kernel do Linux, mas todas as alterações são analisadas e julgadas pertinentes ou não por alguns “gurus”, os Mantenedores do Kernel ou Guardiães do Kernel.
Entre os poucos guardiães do Kernel, podemos citar três loucos (no sentido carinhoso da palavra), são eles: Linus Torvalds, não por acaso; Marcelo Tosati (um brasileiro escolhido pelo próprio Linus); e Jon “MadDog” Hall, um dos criadores e principais defensores da idéia de Software Livre. São eles (e mais alguns) que ditam as regras quanto ao que será adicionado ou retirado da próxima versão do Kernel do Linux.
“Sim, Joao, mas como funciona esse negócio de versão do Kernel?”
Novamente, é simples: De tempos em tempos (não há uma exatidão), é lançada uma nova versão do Kernel do Linux, seu “centro nervoso”. Esse lançamento é realizado pelos gurus, que analisaram todas as propostas de alteração enviadas pela comunidade e, aceitando algumas e rejeitando outras, decidem que a nova versão está pronta.
Atualmente, encontramo-nos na versão 2.6 do Kernel do Linux (a versão estável mais recente do sistema). Normalmente, as versões do Kernel são batizadas com três ou quatro níveis de números, que identificam sua geração.
Há algum tempo, tínhamos a versão 2.4 e todas as “mini-versões” dentro dela, como 2.4.1, 2.4.15, 2.4.29, etc. Hoje, a versão mais difundida já é a versão 2.6 e toda a sua família (2.6.3, 2.6.11, etc.).
A mudança da versão 2.4 para a 2.6 trouxe muitas novidades, especialmente no tocante às tecnologias que o Kernel novo é capaz de suportar (redes sem fio, bluetooth, novos dispositivos, etc.). Essa “mudança da água para o vinho” também deverá ocorrer quando os gurus lançarem a versão 2.8 e, da 2.8 para a 2.10... Mas, com certeza deverá ser muito mais significativa quando sairmos da versão 2 para a 3 (não sei quando isso ocorrerá).
É fácil perceber que a mudança do primeiro nível (o 2) é muito mais demorada (claro!), até mesmo porque deve haver muitas mudanças cruciais no sistema para que se justifique a saída da “geração 2” para a entrada da 3! A mudança do segundo nível demora um certo tempo também, mas as mudanças no terceiro e quarto níveis são bem mais freqüentes.
Aí, você pergunta: “João, notei que a mudança do segundo nível da versão acontece apenas com números pares (2.4, 2.6, 2.8, etc.)... Por quê?”
Os mantenedores preferiram criar as versões X.Y, fazendo o Y ímpar quando querem indicar que essa versão não está estável, ou seja, que existe alguma tecnologia nova que está sendo testada nessa versão. É assim: a versão 2.3 trazia novas tecnologias (instavelmente, ainda) que, quando foram devidamente testadas e aprovadas, deram origem à versão 2.4. A 2.5 também é precursora da atual 2.6 e, claro, já se está
Acho que já deu para conhecer algumas das principais distribuições do Linux, embora haja muitas outras que podem ser escolhidas! Algumas, inclusive, podem servir de “estágio” na transição Windows/Linux pois podem ser executadas diretamente do CD, sem a necessidade de se instalar o sistema no micro, o que poupa muitas dores de cabeça da maioria dos usuários. Um excelente exemplo de Linux que executa direto no CD é o Kurumin , do Carlos Morimoto (www.guiadohardware.net).
Pode ser também, leitor, que algumas dessas distros sejam abandonadas em algum ponto, e outras nasçam com o tempo (a exemplo do Mandriva , que é resultado da fusão das distros Mandrake e Conectiva ). O mundo Linux é assim: completamente nômade e mutante (mas fiel às suas origens e seus ideais, pelo menos, até agora!).
Resumindo, caro leitor: Todas as distribuições do Linux são iguais? A resposta é Não! Há pequenas diferenças entre elas, mas nada que impossibilite o aprendizado delas, afinal, estamos falando do mesmo produto (o Linux), embalado por várias empresas diferentes (como uma “Torta Floresta Negra” feita por vários restaurantes ou confeitarias diferentes: a torta é a mesma, pois se baseia na mesma receita, mas que dá para sentir diferenças pequenas no sabor de cada uma, dá sim!).
Depois de tudo o que foi apresentado, aparentemente estaremos vivenciando um processo de transição que não tem precedentes no mundo da informática e que não mostra sintomas de que será acalmado ou, muito menos, impedido! Mas mesmo sendo
essa transição tão “inevitável”, há certos aspectos a serem analisados de forma mais crítica.
Vamos dar uma olhada em certas questões relevantes ao movimento de mudança Windows/Linux:
Como já foi citado, o Linux admite a existência de diversos usuários. Os cadastros dos usuários que o sistema possui são feitos em registros exclusivos chamados contas (ou contas de usuário ). Então, se você pretende usar o Linux, deve possuir uma conta cadastrada no sistema.
Essa conta consiste, entre outras informações, no Login (o seu nome perante o sistema) e a senha (seqüência de caracteres secreta). As contas também definem os privilégios de acesso que o usuário tem no sistema, como por exemplo, se ele vai poder alterar um determinado arquivo, ou se só vai poder lê-lo.
Há várias formas de criar contas de usuário no Linux depois que o sistema está em funcionamento (essas formas serão vistas depois), mas uma conta é criada quando o Linux é instalado no computador, a conta da pessoa que tem direito a fazer qualquer coisa no sistema: o Administrador ou Super Usuário.
O Super Usuário é o “cara”, simplesmente! Ele pode tudo! Se você é o super usuário de sua máquina, você é o dono, o manda-chuva dela. O Login cadastrado para a conta do Administrador é: root. Ou seja, para ser reconhecido como super usuário do sistema Linux, é necessário, na inicialização do sistema, que o usuário digite root e a senha apropriada.
Se o seu caso é diferente, como por exemplo: você solicitou a alguém (um técnico) que instalasse o Linux em seu computador, depois de realizar a tarefa (e ser pago por isso), o técnico entrega a máquina a você com um papel junto: usuário: fulano e senha: 1234. Isso significa que para poder acessar o sistema, você deverá apresentar essas informações toda vez que o micro for ligado.
“Certo, mas e daÍ?” Simples: Você não é o root! O técnico, provavelmente, criou a senha para o root, que só ele sabe, e criou uma conta de usuário para você poder utilizar inocentemente o computador. Quem instala o Linux define a senha do root, porque esta é uma das exigências feitas durante o processo de instalação do sistema.
Trabalhar com o Linux não é privilégio do usuário que detém a senha do root, mas este usuário poderá fazer qualquer coisa, entrar em qualquer lugar, abrir qualquer arquivo e até mesmo apagar ou criar quaisquer outros usuários. Por exemplo, há certos comandos que só podem ser executados pelo root e quando os usuários comuns tentam executá- los, recebem mensagens de erro informando que o acesso não será permitido.
Recomendação ao Administrador do Sistema: se você é o proprietário da conta de super usuário, aqui vai uma dica interessante: não use a conta de root constantemente para fazer qualquer coisa (digitar textos, acesso à Internet, jogos). Ao invés disso, crie uma conta de usuário qualquer (sem privilégios administrativos) para poder realizar as tarefas cotidianas.
A idéia é que se, durante um acesso à Internet, por exemplo, seu computador for infectado por um vírus o outro programa malicioso, o referido programa será executado em modo root, e terá acesso completo ao sistema (podendo “ferrar” o sistema completamente)! Se, no momento da infecção, você estiver logado como um usuário convencional, os limites de acesso impostos a você pelo próprio Linux serão responsáveis por conter os programas bisbilhoteiros.
Ou seja, não banalize a conta de root, apenas faça uso dela em casos necessários (mudanças de configuração, ajustes do sistema, instalação de programas, etc.).
Quando se inicia o computador com o Linux, depois de alguns procedimentos necessários, uma tela de Logon é apresentada para o usuário. Dependendo de uma série
de fatores (incluindo a distribuição utilizada), essa tela pode ser diferente, mas no geral solicita sempre duas informações aos usuários: Login e Senha.
Logon é tão-somente o nome dado ao processo de apresentação do Login e da senha, ou seja, logon é “entrar no sistema”, “identificar-se”. Não confunda, porém, com Login, que é o nome do usuário que está se logando!
Depois de efetuado o logon no sistema, alguns processos são realizados para que Linux apresente sua área de trabalho comum aos usuários (é uma tela muito semelhante à área de trabalho do Windows) e os permita comandar o sistema.
Essa área de trabalho também pode se apresentar de formas diferentes, dependendo da distribuição, mas, mais precisamente, dependendo do ambiente gráfico utilizado pelo usuário (veremos o conceito disso nos próximos tópicos). Veja, abaixo, um exemplo da área de trabalho do Linux (ambiente GNOME) usado no Conectiva Linux 10:
Note algumas semelhanças com o Windows, como a presença de janelas, ícones, menus, ou seja, o Linux não é mais tão assustador assim! É perfeitamente possível migrar da plataforma Windows para a plataforma de software livre! É só querer!
Aproveitando: o termo plataforma é muito usado para descrever um “jeito” ou um “ambiente” de trabalho em informática. Então, a plataforma Windows significa o uso ou as características apresentadas pelo Windows e pelos programas que funcionam nele.
Vamos nos prender à utilização destes ambientes gráficos daqui a algumas páginas (não se afobe, preciso apenas mostrar-lhe mais alguns conceitos antes de “soltar” você no Linux!).
Note o nome descrito na barra de título da janela (/), que é o nome oficial do diretório raiz. Todas as demais pastas ficam dentro de /, até aquelas que representam discos rígidos diferentes! Sim, os discos rígidos diversos que um micro pode ter são representados por pastas dentro do sistema de arquivo. Veremos essas pastas daqui a pouco.
Só como um exemplo mais fácil de entender, quando se vai salvar algo no Linux, não se define aquele manjado endereço de “C:\pasta\arquivo” (é assim que salvamos no Windows, não é?). OK, no Linux a gente salva um arquivo em /pasta/arquivo (porque tudo, no micro, está localizado dentro de “/” - que, no endereço, é a primeira barra, antes do nome da pasta).
Note bem, na figura seguinte, uma foto do Konqueror (um programa semelhante ao Windows Explorer ) navegando pelo conteúdo da pasta /opt/kde e note a relação entre essas pastas ( kde está dentro de opt , que, por sua vez, está dentro de / - a raiz ). Verifique, também, que, na árvore de pastas (diretórios), o diretório raiz (/) é chamado de pasta raiz.
Então, como você pode perceber, copiar e mover arquivos e pastas, organizar o conteúdo do seu computador (seus arquivos de documentos e músicas mp3, por exemplo) não será uma tarefa tão difícil, não acha?
Usar o Linux, do ponto de vista de usuário leigo, se tornou muito mais fácil, porque, hoje em dia tudo está visualmente agradável. A prova disso é que todos os principais recursos e telas que mostramos parecem muito com as janelas no Windows, e isso é graças a programas conhecidos como Ambientes Gráficos.
Uma distribuição comum do sistema Linux é formada por uma série de programas, como venho dizendo há algumas páginas. Além do Kernel em si (que é a alma do sistema), temos vários aplicativos de escritório, utilitários de manutenção e até mesmo jogos de diversos estilos. Dentre os programas que acompanham o Linux (saiba que uma distribuição atual pode conter mais de 2000 programas diferentes!), há uma categoria muito especial e bastante necessária para os usuários leigos no sistema: os Gerenciadores de Janelas (também conhecidos como Ambientes Gráficos ).
Um Ambiente Gráfico é um programa que permite que o Linux se apresente de forma amigável, como o Windows, através de janelas, ícones, menus, e botões. Um ambiente gráfico é considerado um “programa extra” porque o Linux, naturalmente, não apresenta a “cara bonita” que esses programas criam. Lembre-se de que o Linux é baseado no UNIX, portanto, ele é nativamente textual (controlado através de comandos de texto! Tela preta, letras brancas e aquele blá blá blá todo!).
Uma distribuição do Linux pode conter diversos Ambientes Gráficos diferentes, mas os dois mais famosos são, sem dúvida, o KDE (K Desktop Environment) e o Gnome. A escolha entre um e outro vai simplesmente de decisão pessoal porque ambos são excelentes e a maioria (para não dizer todos) dos programas que funcionam em um também funcionam no outro!
Na figura abaixo é mostrado o ambiente Gnome com dois programas abertos: o GIMP (um programa de edição de imagens que chega a se comparar ao Photoshop da Adobe) e o OpenOffice.org Writer , a versão open-source do Microsoft Word.
Por exemplo, o programa OpenOffice.org Writer (ou simplesmente Writer), mostrado nas figuras anteriores, só é executado (passa a funcionar) se um ambiente gráfico (como o KDE ou o Gnome) já estiver em execução. E isso vale para qualquer outro aplicativo dos que se podem acessar pelos menus dos ambientes.
Aviso: Como a liberdade é algo inerente ao uso do Linux, eu não me prenderei a uma interface gráfica apenas, ao invés disso, serão mostradas figuras com fotos ora do KDE, ora do Gnome, mas, devidamente informadas e explicadas.
Como todo sistema operacional, o Linux tem a responsabilidade de, entre outras coisas, controlar a inicialização do sistema, realizando todas as tarefas necessárias para que o sistema esteja completamente apto a responder às requisições do usuários quando este assumir o controle da máquina. Muitas operações são realizadas antes de o usuário poder executar qualquer comando ou abrir qualquer janela. Resolvi, então, listar alguns passos importantes desse complexo conjunto de acontecimentos:
O Computador é ligado, passando a receber alimentação elétrica. Nesse estágio, a memória RAM (principal) está vazia (sem conteúdo) e os programas e arquivos do usuários estão armazenados nos discos (memórias auxiliares).
O BIOS (Sistema Básico de Entrada e Saída), que é um pequeno programa armazenado numa memória ROM (memória que não necessita de eletricidade) na placa-mãe do computador, vai ser acordado para acordar o restante do computador, especialmente, seu Sistema Operacional. O BIOS é o primeiro programa executado por um computador e possui um papel importante: localizar e executar o Sistema Operacional do computador (seja o Linux ou outro qualquer).
Depois de encontrar o Sistema Operacional (que estava no Disco Rígido), e iniciar seu processo de carregamento (carregar = jogar na memória principal – RAM), o BIOS entrega a responsabilidade ao Sistema Operacional. É nesse ponto, no caso do Linux, que o Kernel é jogado na RAM e o Linux é efetivamente iniciado.
Depois de iniciados o Kernel e outros componentes do Linux, o sistema solicita ao usuário as informações de Logon (Nome de usuário e Senha). Nesse ponto, também, é possível escolher como o Linux vai se apresentar, se em modo texto (shell) ou em modo gráfico (através de alguma interface gráfica, como o KDE ou o Gnome). Como nós usaremos, por enquanto, o Linux em modo gráfico, seguiremos os passos seguintes a essa escolha.
O Gerenciador de Janelas é iniciado, realizando, inicialmente, alguns procedimentos necessários à sua utilização, para, enfim, entregar ao usuário o controle do computador, permitindo que ele execute qualquer programa disponível no sistema (desde, é claro, que seus privilégios de acesso permitam).
chamados de Distribuições e podem apresentar pequenas diferenças entre si, mas todos são Linux, porque se baseiam em um mesmo “alicerce” (o Kernel).
Antes de podermos “meter a mão na massa” no Linux, caro leitor, sinto necessidade de apresentar para você alguns conceitos mais aprofundados sobre o sistema. Dentre esses conceitos, vamos falar de como o Linux interpreta arquivos, o que são arquivos executáveis (ou melhor, “como” eles são), qual é a estrutura de diretórios do Linux (como os diretórios do Linux estão organizados), a noção de permissões de acesso e algumas outras informações.
Depois que você ficar conhecendo esses conceitos apropriadamente, partiremos para o uso do sistema, mas saiba que, em alguns casos, iremos voltar a esses conceitos para aprendê-los de forma mais aprofundada pois, nesse capítulo, esses conceitos são apresentados apenas superficialmente (ou quase).
Um arquivo é qualquer conjunto sólido de informações gravado em uma unidade de armazenamento (memória auxiliar, como um disco rígido ou um CD, por exemplo). Normalmente, um arquivo é criado pela execução do comando Salvar , comum em tantos programas aplicativos.
Então, em outras palavras, quando você digita algo em um programa de texto, por exemplo, e salva, está criando um Arquivo. Mais precisamente, está criando um Arquivo de Dados.
Arquivos, no Linux, são divididos em alguns tipos, como os que seguem:
num arquivo do Word, o que acontece? Isso! O Word é aberto para poder abrir o arquivo que o usuário executou!
Quando o arquivo for um binário, o Linux jogará seu conteúdo na memória principal e começará a executar os comandos existentes nele (afinal, um binário é um programa compilado – um executável em linguagem de máquina).
Se o arquivo for um Shell Script, ou outro script qualquer (existem vários), o Linux se encarregará de “ler” e interpretar seu conteúdo (lembre-se: scripts são roteiros cheios de comandos).
Finalmente, ao se aplicar duplo clique em um link, ele vai apontar para o arquivo original e é o tipo desse arquivo original que definirá o comportamento do Linux após a execução.
Opa! Quase ia me esquecendo delas: se o clique duplo for dado numa pasta, ela será aberta diretamente pelo programa gerenciador de arquivos (no caso da foto, o konqueror, do KDE), exatamente como acontece no Windows Explorer.
Uma grande diferença entre o Windows e o Linux é o jeito como cada um trata os seus arquivos no que se refere às regras de nomenclatura deles em cada sistema. Ou seja, nem sempre o que aprendemos e usamos para salvar arquivos no Windows pode ser usado no Linux e vice versa.
Vamos tomar como exemplo um arquivo qualquer do Windows: carta.doc. Esse arquivo é, sem dúvida, um arquivo de Documento do Word , que será aberto pelo programa Microsoft Word. Como eu sei disso? Pelo “sobrenome” do arquivo: a sua extensão (doc). Uma primeira regra simples é: mesmo não sendo necessária hoje, a extensão é utilizada pelo Windows para reconhecer o arquivo, definindo quem irá abri-lo!
Em outras palavras, o arquivo acima citado poderia se chamar somente carta , mas isso não deixaria o Windows classificar-lhe como documento do Word. No sistema Windows, os tipos de arquivos são identificados por sua extensão. Nesse sistema, são comuns nomes de arquivos bem definidos, com apenas um ponto entre seu nome e sua extensão, como em: orçamento.xls, carta.doc, filmagem.mpg, What a Wonderful World.mp3 e assim por diante.
No Linux, realmente não há necessidade de extensão para os arquivos (binários, dados, links, diretórios) existirem e serem identificados como tal. Um arquivo é normalmente identificado pelo seu conteúdo, ou seja, mesmo que um arquivo se chame somente texto (como o arquivo mostrado na figura 2.1), ele será identificado como um arquivo de texto puro (ASCII): note o ícone que foi dado a ele!
Não estou dizendo que no Linux não são usadas extensões, porque são sim! Estou dizendo que, para diferenciar os tipos de arquivos entre si, o Linux, na maioria das vezes, não precisa da extensão porque analisa o conteúdo do arquivo para definir seu tipo. Imagine dois arquivos de imagem (são arquivos de dados): uma foto JPEG (JPG) e uma imagem GIF. Mesmo que você não ponha extensões neles, o Linux será capaz de identificá-los por seus conteúdos (porque cada arquivo tem uma espécie de “assinatura” no sistema).
Vale salientar que os ícones não são dados pelo Linux em si, mas pelo ambiente de janelas (KDE, Gnome ou outro qualquer), portanto, se você está usando um ambiente gráfico diferente do meu (estou usando o KDE), os ícones podem ser diferentes dos apresentados nesta janela, e podem até mesmo ser iguais entre si.
Outra coisinha interessante sobre os nomes dos arquivos é que nem sempre há apenas um ponto no nome. É simples entender: como não há essa rigidez toda quanto às extensões, não há obrigatoriedade de identificá-las com um ponto, portanto, o ponto é
um caractere perfeitamente utilizável no nome do arquivo. Claro que a seqüência de caracteres que sucede o último ponto é considerada a extensão oficial do arquivo.
É comum encontrar, no Linux, arquivos com esses tipos de nome (vê que loucura!):
ethereal-0.10.10-i486-2jim.tar.gz
Ooo_1.1.3_LinuxIntel_install.pt-br.rpm
Há ainda necessidade de se comentar algumas regras básicas na nomenclatura de arquivos. Regras que, inclusive, até o Windows tem, embora com algumas diferenças:
Note a presença dos arquivos ocultos nos diretórios do Linux: na imagem a seguir, podemos ver, na pasta /root , a existência de apenas 5 pastas e 1 arquivo. Quando executamos o comando que permite visualizar os arquivos ocultos (calma, conheceremos ele), aí conseguimos constatar a presença de mais arquivos (todos precedidos de “. ” - ponto).